Compiling your own kernel is relatively easy with Linspire Five-O. Finding the source was a little bit trickier than I had imagined. Now that Linspire has a development edition available, I thought it would be pretty straight forward. A quick search and browse of CNR showed no kernel packages. I checked the developer “Aisle” and I found the development package's (the aisle is named “LinspireDeveloper 4.5”) that I would need such as gcc. However, no kernel source to be found.
I browsed the forums and finally
found a post with the required information on obtaining the kernel source. I browsed to the Developer Aisle and "slected all" under 4.5 and then CNR started churning. I did run into some problems installing the Developer 4.5 packages, I got some warnings but just declined to install those packages.
Obtaining the Source
To get the kernel source packages, one must use the search feature of
CNR Warehouse. The search term to use for Five-O would be “los-kernel-source”. That will be bring up several kernel versions, you would want “
los-kernel-source-2.6.10”. Installing this package also installs two more packages that are not visible, “
los-kernel-config-2.6.10.tar.gz” and “
los-kernel-headers-2.6.10.tar.gz”. The packages are not really installed per se, but just copied to “
/usr/src” in tar-gzip format. You will also need “
ndiswrapper-source”, “
realtime-lsm-source”, “
ltmodem-source”, “
linux-wlan-ng-source”, “
hsfmodem-source” and the optional video driver source (NVIDIA or ATI). You can also obtain the source directly from the Linspire Software repository, but these source files are unpatched, it was just easier to use CNR.
Building the kernel
To build the kernel, just untar all the files mentioned above. You will also want to edit the Makefile in /usr/src/linux and add an EXTRAVERSION parameter to distinguish your kernel from the one installed. I used “LE”. The default build method (“make install”) will replace your current kernel, so we will not use that method. Its always good to have bootable, working kernel. I also found that the config file in /boot does not match the kernel Linspire uses. Linspire has OSS audio selected, but the kernel is actually using Alsa with OSS emulation. So make sure that you modify the Drivers-->Sound to use Alsa as modules and disable OSS in “make menuconfig”. Here are the steps to take in order:
su (if not already root)
cd /usr/src
tar zxvf los-kernel-source-2.6.10
tar zxvf los-kernel-config-2.6.10
tar zxvf los-kernel-headers-2.6.10
cd linux
make mrproper
edit the EXTRAVERSION parameter in the “Makefile”
cp /boot/config-2.6.10 .config
make menuconfig
make bzImage
make modules
make modules_install
cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.10YOUR_EXTRAVERSION_PARAMETER
cp System.map /boot/System.map-2.6.10YOUR_EXTRAVERSION_PARAMETER
mkinitrd -k 2.6.10YOUR_EXTRAVERSION_PARAMETER
Now you will need to edit '/boot/grub/menu.1st', add your kernel and reboot. Just use Linpire's kernel entry as a template to add your's. After you reboot, you will have to compile your video driver and modules. The realtime-lsm module is a must if you want sound to work. When you untar realtime-lsm and ndiswrapper, a sub-directory named “modules” will be created with the source. Just enter those sub-directories and run “make”, then “make install”, except for ndiswrapper. Just perform a "make", then edit modules.dep with the location of your new ndiswrapper.ko. Linspire has a faq that details
how to install the ATI video driver rpm. To install the NVIDIA driver, just follow the directions that come with the driver.
Observations
I also compiled the latest kernel from kernel.org, 2.6.11.10. I noticed that the audio skipped big time on start up but seemed to work fine on the desktop. Just re-compiling your kernel will not get you any noticeable performance gains, but should help with audio-video playback. Performance wise, Five-O is not as snappy as SUSE 9.3 on the same hardware. Fedora Core and Linspire Five-O seem to perform at the same speed. Probably due to the architecture being limited to the i386 ISA.
Additional Information:
www.debian.org
Linspire Source Repository