Knoppix is a debian-based linux distribution. Knoppix is especially interesting because it is completely functional using only the CD-ROM drive (doesn't require a hard drive). If you like Knoppix you can install it to your hard-drive. Once installed, the knoppix system is essentially a debian unstable linux distribution. It is the easiest debian install I have ever done. But getting accelerated graphics working is a bit tricky. This document describes how to install Knoppix 3.3 on the EPIA M10K.
First, boot from a Knoppix CD-ROM. Once knoppix has finished loading switch to a virtual console using CTRL-ALT-F2. Execute the knoppix-installer command. Follow the instructions to install knoppix to the hard drive, then reboot.
You should now have a completely functional EPIA system. Sound, USB, video, LAN should all be properly set up. Before we go any further, we must fix the apt-get system. The /etc/apt/sources.list file is preconfigured. You can try it like it is, or you might want to change the debian sources to a closer mirror. You decide. Then connect to the internet and do this:
[bash]# apt-get update
Now the apt system is ready to go.
Knoppix configured Xfree86 to use the VESA driver, which means no accelerated video. Next we want to get accelerated video working. To get accelerated video working you must compile a new kernel and install the Xfree86 via driver.
To use accelerated video you must have the via agpgart and via DRI kernel modules. There are via patch sets for both the 2.4 and 2.6 kernels. I recommend compiling and installing the linux 2.6 kernel because 2.6 is faster than 2.4 (io scheduling). See the EPIA HowTo for an explanation of how to build and install the 2.6.2-epia kernel. Once the new kernel is installed we have to change the boot loader to use the new kernel. Knoppix installed lilo. I prefer grub. This is how I installed grub. You should read the grub install manual regarding what the command do and how to adapt them to your drive/partition system.
[bash]# apt-get install grub [bash]# grub [grub]# root (hd0,3) [grub]# setup (hd0)
You will also need a menu.lst file in the /boot/grub directory. Here is mine:
boot=/dev/hda default=0 timeout=5 title linux-2.4.22-xfs root (hd0,3) kernel /boot/vmlinuz-2.4.22-xfs vga=791 ro root=/dev/hda4 hdc=scsi initrd /boot/initrd-2.4.22-xfs.img title linux-2.6.2 root (hd0,3) kernel /boot/vmlinuz-2.6.2 ro root=/dev/hda4 initrd=/boot/initrd-2.4.22-xfs.img
Notice that I have unzipped and renamed the init ramdisk image. Here's what I did:
[bash]# cd /boot [bash]# cp initrd.gz initrd-2.4.22-xfs.img.gz [bash]# gzip -dc initrd.gz > initrd-2.4.22-xfs.img
For some reason the modules don't load properly when linux boots using the new kernel. I don't know why, but I figured out a way to fix it using an initialization script. I created an executable script (ie remember to chmod +x /etc/init.d/linux262) called /etc/init.d/linux262 containing the following instructions:
#!/bin/bash # Script to load the modules for the 2.6.2 kernel KERNEL_VERSION=`uname -r` echo $KERNEL_VERSION if [ "$KERNEL_VERSION" = "2.6.2" ]; then /sbin/modprobe via-rhine /sbin/modprobe uhci-hcd /sbin/modprobe via82cxxx_audio /sbin/modprobe hid /sbin/modprobe agpgart /sbin/modprobe via_agp /sbin/modprobe via_v4l_drv /sbin/modprobe via /etc/init.d/networking restart fi
Now change it to executable and create symbolic links in the appropriate runlevel initialization directories:
[bash]# cd /etc/init.d [bash]# chmod +x linux262 [bash]# cd ../rc3.d [bash]# ln -s ../init.d/linux262 S15linux262 [bash]# cd ../rc5.d [bash]# ln -s ../init.d/linux262 S15linux262
While you are in the runlevel initialization directories you might want to remove startup scripts for services you don't actually need (like pcmcia, hotplug, etc).
Note: this step might not be required for Knoppix 3.4 and 3.6.
Follow Thomas Hellström's instructions regarding how to install the Xfree86 drivers. Here's the summary:
Download the via_drv.o.bz2 file. Uncompress the file and move it to /usr/X11R6/lib/modules/drivers/via_drv.o
Download the via_dri.so file. Uncompress the file, change its permissions to 666, and move it to /usr/X11R6/lib/modules/dri
Edit the /etc/X11/XF86Config-4 file. You need to add a new device section, make sure the DRI section is ther, and change the screen section. Also, make sure that dri, drm, glx, Glcore and v4l are loaded in the Module section. Here are the corresponding sections of my XF86Config-4 file:
Section "Module" Load "ddc" # ddc probing of monitor Load "GLcore" Load "dbe" Load "v4l" Load "drm" Load "dri" Load "extmod" Load "glx" Load "bitmap" # bitmap-fonts Load "speedo" Load "type1" Load "freetype" Load "record" EndSection Section "Device" Identifier "via" Driver "via" Option "DPMS" Option "TVType" "NTSC" Option "TVVScan" "over" Option "TVOutput" "S-Video" Option "ActiveDevice" "CRT,TV" EndSection Section "Screen" Identifier "Screen0" Device "via" Monitor "Monitor0" DefaultColorDepth 16 SubSection "Display" Depth 16 Modes "1280x1024" "1152x864" "1024x768" "800x600" "640x480" EndSubSection SubSection "Display" Depth 24 Modes "1280x1024" "1152x864" "1024x768" "800x600" "640x480" EndSubSection SubSection "Display" Depth 32 Modes "1280x1024" "1152x864" "1024x768" "800x600" "640x480" EndSubSection EndSection Section "DRI" Mode 0666 EndSection
You may need to change the permissions on the DVD drive device files if you wish to play DVDs from user accounts.