cvs commit: hints kernel-2_6-migration.txt
tushar at linuxfromscratch.org
tushar at linuxfromscratch.org
Fri Dec 19 18:59:55 PST 2003
tushar 03/12/19 19:59:55
Added: . kernel-2_6-migration.txt
Revision Changes Path
AUTHOR: Kris van Rens
kvrprogs AT edsko DOT com
SYNOPSIS: Guideline for migrating from the 2.4.x to the 2.6.x kernel
After a series of 11 test versions, the stable release of the linux-2.6 kernel
came out (linux-2.6.0), one day before I wrote this hint. I was working with
the 2.6.0test kernel a few months already for school (for the curious among
you; I learn how to design kernel driver modules). I noticed a few people on
the mailinglist having trouble installing the kernel, that's what made me write
So, if you're one of the people wanting to try out the new 2.6.0 kernel, you
should probably take a look at this hint for a few tips to bring it to a
Before working through this hint, be sure to have the following:
*** module-init-tools sources tarball
Get this from http://www.kernel.org/pub/linux/kernel/people/rusty/modules.
there may be other placed, but I don't know them yet.
*** linux-2.6.x kernel sources tarball
Get these from http://www.kernel.org or a mirror.
At the time of writing the version of the module-init-tools is 0.9.15-pre4 and
for the kernel it is 2.6.0, I'll use these version names for this hint, if you
have a newer version, replace the version in this hint with it.
Of course, you should also have Make, GCC and an Assembler, but this hint is
meant for the LFS-community so I'll assume you fulfill these requirements.
So, you want to migrate from linux-2.4.x to linux-2.6.x? Well no problem!
Quite a lot changed since 2.4, both the SMP (Symmetric MultiProcessing,
multiple processor cores) and the uniprocessor power increased, compatibility
with hardware is better and new security-modules increase the security (!).
As being the owner of a LFS system, I'll assume you're familiar with the usual
way of installing a source package, and a kernel of course.
I cut this hint section in two; installing the new module-init-tools and
installing the kernel.
To migrate from kernel 2.4 to 2.6 you'll need a new module loading system, the
system has bin worked over completely.
***STEP 1: Obtaining and installing the new module-init-tools
As you like, move the tarball into the directory from where you'll install it,
for me that's /usr/src, and cd' into it.
Unpack the sources and sources and cd' into the source's directory.
tar xzf module-init-tools-0.9.15-pre4.tar.gz
Then configure the package by:
We use prefix=/ here because in the LFS-Book the modutils are installed with
the same prefix and the last thing we want is having two different versions of
one program in multiple places.
If this is the first time you install the new module-init-tools, invoke the
next command, otherwise, if you're upgrading to a new version of
module-init-tools, skip it (LFS versions up to LFS-5.0 come with modutils and
do not have module-init-tools, so you'll have to invoke the command).
This makes the 'old' modultils such as insmod,rmmod or modprobe to be renamed
to insmod.old, rmmod.old and modprobe.old. The new to be installed
module-init-tools do a runtime check which kernel is running and invoke the
right version of the tools, for example if 2.4.x is running the insmod command
will use insmod.old instead.
Then make the package and install it with:
The last thing you'll have to do is to generate a new configurationfile for the
If you're using the device-filesystem also copy the modprobe.devfs into /etc.
If everything went fine, you have the new module-init-tools and you're ready to
install the new kernel!
***STEP 2: Installing the 2.6.x kernel
Copy the linux-2.6.0 tarball to /usr/src and cd' into this directory.
As usual, unpack the sources and cd' into the sources directory:
tar xjf linux-2.6.0.tar.bz2
Now configure the kernel, this is just like with the 2.4 kernel, you can choose
from menuconfig and xconfig. Menuconfig is based on Ncurses and xconfig is
based on QT. Do so by:
Now comes the most time-spending and difficult part, the configuration itself.
As far as I know, you cannot use the kernel-2.4 configuration file. So you'll
have to do it all from the start, which is better anyway, because a lot changed
in the structure of the menu and there are loads of new options in it.
Be sure to take the right systemarchitecture in >>processor-type and features<<
and the right filesystem. If you don't know whether you should involve a
certain option or not, press ? or help; there's info about almost every option.
If you still don't know, search or ask the community.
If you're done, you are set to compile the kernel with:
This can take quite a while, on my Pentium 4 2.0GHz with 256MB RAM, it took
about 15 minutes, which is not strange because the kernel code is around 5
million lines of code! You can time your build with >>time make all<< instead.
Then install the modules with:
Now copy the kernel to /boot:
cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.0
Or to another filename as you want.
Now modify your lilo.conf (for lilo) of menu.lst (for grub) to be able to load
the new kernel, if you have lilo, don't forget to invoke /sbin/lilo and re-
write the boot-record.
If everything went right, you can reboot and start with the new kernel.
If there are errors during the booting, read the error-output carefully and
eventually reconfigure the kernel. Otherwise if your screen is black, it has
probably something to do with the framebuffer device, also reconfigure the
kernel and try again, or try vga=normal in your bootloader configuration.
If the problem is really stubborn and you can't get is away, read the
mailinglist archives or ask a new question there.
Otherwise, congratulations with you're shiny new 2.6 kernel!
OTHER DOCUMENTS ABOUT THIS SUBJECT:
The post-halloween document from dave jones:
The German transation of it:
Professor Dr. Juergen Quade from the Niederrein University for printing me
out the preleminary version of the 'Meister-Installateur' article for
the Linux Magazin.
First version 1.0
More information about the hints