Linux Kernel Pain and Gain – Slackware Linux

Last year, I have installed Slackware Linux 13.0 on may laptop. It aims for a rock solid and stable development machine – especially for web development. However, I could not resist to follow what the Slackware community is doing, update to the latest slackware-current branch as soon as it is available.

The Slackware-current branch is the current development branch. It is where all the new upstream package updates are pushed which means they are not meant for production. They may break in some cases. Actually it breaks my machine but it is fun so it doesn’t matter.

Below is a summary of my experiences while updating to -current:

1. From Stable 13

(Dec 2009) Installed the stable release Slackware Linux 13.0 along with the add-on packages that are not shipped by Slackware. These are VirtualBox, Eclipse PDT, Komodo Edit, GTK theme enhancement, Opera browser and some popular Linux games such as SuperTux, Frozen-Bubbles, Pingus and many more. It also has the ObexPushD for my bluetooth and now it contains a lot of family pictures and some movie collection.

2. First Update

(Jan 2010) Updated to the current branch prior to Jan 4, 2010 update which also includes the previous updates such as KDE 4.3.4 and the Linux kernel This was the very destructive update that I made and here is the story.

The first thing I did was upgrade the Slackware on a Virtual Machine in the office. Since everything works perfectly and KDE 4.3.4 looks great. I bring the whole directory tree via flash drive and tried to install at home. The install process works great. However, when I restarted the machine, it tries to boot but the screen flickers then it goes blank. I tried several troubleshooting techniques and found out that the kernel I am using (*huge-smp*) does not work for my laptop. I even tried to install it (backed up all files into a separate directory) as a fresh install (not upgrade) but the same problem occurs. It doesn’t even have the chance to write any logs – of course because it was a kernel incompatibility. Using the generic kernel does not work.

What I did initially was to reinstall using the Slackware 13.0 DVD installer. However, the DVD gets corrupt on all kernel-related *.txz files such as the huge kernel, huge smp kernel, generic kernel and the kernel modules. The DVD even won’t boot sometimes! The system is now having the Slackware-current that does not boot.

To the rescue was the Linux Kernel 2.6.29 source code. It was still available on the current installation at /usr/src/{kernel-source}. So what I did was to build the source using the SlackBuild from the Slackware 13.0 DVD installer which was still intact. It is just a slackbuild script and it just points to the source code which was already installed (the old 2.6.29).

After almost 30 minutes of the build process, I got a .txz package. I install it then I build the kernel module, then install it. Thankfully I have now installed the previous kernel 2.6.29. I fix the symlinks at /boot to check if they are pointing to the correct config, bzImage and files. Then fix the rc.modules at /etc/rc.d/ to ensure it is pointing to the right module. Then I edited /etc/inittab so that it will boot at runlevel 3 since the 2.6.29 video driver does not work on my laptop. Run lilo and restarted.

It works! My old home directory is now at /home-bak and the root dir at /root-bak. Since I’m on runlevel 3, I need to get X working. I did just the same steps as what I did before to get X working. Tried to run X and now I was greeted with a beautiful KDE 4.3.4. The them is much better than the old on 13.

Since this is a fresh install, I need to restore my files and other add-on packages. So far, Pingus did not run anymore since some of its dependencies did not build / compile. The others need some work but overall, everything was restored.

3. Small Update – Jan 9, 2010

There was a small update as of Jan 9, 2010 which includes the new kernel and some Mozilla stuff. I just update immediately but I get the same problem as with my first update. Good thing I saved the 2.6.29-smp package somewhere that all I need to do was to install it back then it works immediately.

So I changed my approach! Instead of repeatedly breaking my machine, aside from the Virtual Machine in the office, I need to setup a testing environment on my laptop to test if the new update really works for me. I shrunk the NTFS partition for the poor Windows XP to get a 5GB space for the test environment. Then I got a triple boot.

  1. Linux
  2. Linux Test
  3. Windows XP

So, next time I will just update the Linux Test partition and see if it works.

4. Update – Jan 24, 2010

There was a huge update last Jan 24, 2010 which includes the new kernel, gcc and some other stuff. This time, I tested it on my Linux Test partition and find out that still, the new kernel is not compatible with my laptop. What I did was to black list the kernel and uncheck them (double prevention but actually blacklisting is enough) during the update process. That way, I get the recent updates of the various packages except the kernel.

That was the time where my Eclipse PDT keeps on crashing ever now and then. That’s why I switched to Komodo Edit and put some plugin. This time, my bluetooth (ObexPushD) did not work. Anyway, I’m not using it that much. I can simply reboot to Windows and do the Bluetooth thing.

5. Update – Jan 31, 2010

The update late Jan 31, 2010 includes the new kernel which still does not work on my laptop. Except the kernel, everything went smoothly. And nothing breaks. After a few hours, another update came. Actually I bring the two updates and install at once.

It is sad that several new kernel updates passed but I’m still using the old and unpatched 2.6.29 kernel.

6. The Huge Update – Mar 1, 2010

Last March 1, 2010, there was a very huge update on the Slackware packages. It was first time in history that that huge update was pushed in just a single update. It contains almost all packages shipped by Slackware. It includes the new kernel 2.6.33, KDE 4.3.5 and the rest.

Then there was a follow up update as of March 2, 2010 (two times) and March 6, 2010. I only got the last update as of March 2, 2010 (the second update) and installed at home. Surprisingly, the new kernel 2.6.33 works on my laptop, even the video driver works out of the box! That indeed a great update, except that there are few issues regarding the said update.

This time, frozen-bubble don’t work anymore. Suptertux does not run! I can run it in console without sound and music but I don’t like it that way! VirtualBox does not work, even after I tried to rebuild it! Other games from SlackBuilds did not run and did not rebuild! But that’s tolerable since I don’t play most of them.

6. Update – Mar 13, 2010

These updates includes March 7, 8, 9, 10, 12 and 13 which are mostly security patches and software updates. On March 7, 2010, there was a rebuilt kernel 2.6.33 which was rebuild to improve module compatibility. I grab the updates and tested. The rebuilt kernel 2.6.33 unfortunately did not work for me. Another incompatibility issue.

I just blacklisted again the kernel and installed the rest. So far, everything is just fine.

All in all, it was a great Linux experience – and a waste of time! That’s all and this is my little contribution to the Slackware community. For newbies out there who wanted to waste time, Slackware is the best. Once you’ve gone far, you can run a stable machine that just works!

But I need my Supertux back!!!!!!!!!!!

3 thoughts on “Linux Kernel Pain and Gain – Slackware Linux”

Leave a reply

Your email address will not be published. Required fields are marked *