Thursday, July 19, 2007

Custom Linux Kernel, the Ubuntu Way

I decided that I needed to use the new 2.6.22 kernel. It would be very useful for me if I could suspend my computer whenever I didn't need to use it and resume it in 5 seconds whenever I needed it again. This suits my style of computer usage.

I have always used my own custom kernel all this time. It was fairly straightforward to get it done on Slackware. All I had to do is the standard:

  • make clean
  • make menuconfig
  • make bzImage modules
But this was not the prescribed way to do it for Debian and since Kubuntu is based on Debian, it's not the right way to do it either. The steps were a little different, but it's still fairly simple. The only difference was to use custom commands that ended up creating Debian packages that install itself beautifully into the system. It automagically updates GRUB and installs the appropriate System.map and config files into /boot. It even creates a default initrd magically.

So, now I have a working system suspend. The wifi drivers for Broadcom still don't work properly though. I guess that they are still working on the drivers in the development version. This is not so important at the moment as I'm using ethernet and I can always fall back on ndiswrapper to get it working.

So, the next thing that I'll do is to divorce the Linux kernel from my Kubuntu installation. I will use Kubuntu packages for everything else, except for the kernel. This allows me to always use the latest and best kernels without having to wait for the Ubuntu 6-month release cycle. I made some modifications in my custom kernel so that it would run faster for my laptop.

All is well thus far.

No comments: