Mike Chirico on 18 Feb 2004 20:06:02 -0000 |
The following worked for me, so I tried to correctly document, and make it available. I am able to switch between 2.4 in Redhat 9 and 2.6 which is compiled from source. If this doesn't come through you can read online at http://prdownloads.sourceforge.net/souptonuts/README_26.txt?download Redhat 9 with 2.6 Kernel Upgrade from Source Mike Chirico Tue Feb 17 18:05:44 EST 2004 The latest version of this document can be found at: http://prdownloads.sourceforge.net/souptonuts/README_26.txt?download For configs ref: http://sourceforge.net/project/showfiles.php?group_id=79320&package_id=109944 STEP 1: Download the latest version of the kernel and any patches. This documentation is done with linux-2.6.3, but look for later versions. http://www.kernel.org/pub/linux/kernel/v2.6/ Also take a look at http://www.codemonkey.org.uk/post-halloween-2.5.txt This has some useful hints on some of the changes needed. STEP 2: Download the latest version of module-init-tools [module-init-tools-3.0-pre10.tar.gz] and modutils-2.4.21-2x.src.rpm http://www.kernel.org/pub/linux/kernel/people/rusty/modules/ STEP 3: Install module-init-tools. This will replace depmod [/sbin/depmod] and other tools. tar -zxvf module-init-tools-3.0-pre10.tar.gz cd module-init-tools-3.0-pre10 ./configure --prefix=/sbin make make install SKIP IF Redhat9: STEP 4: [ Only for Redhat 8.0 special cases] Install modutils-2.4.21-23.src.rpm. You'll may get warnings about user rusty and group rusty not existing. rpm -i modutils-2.4.21-23.src.rpm rpmbuild -bb /usr/src/redhat/SPECS/modutils.spec rpm -i /usr/src/redhat/RPMS/i386/modutils-2.4.21-23.i386.rpm STEP 5: Install and configure the kernel. Do NOT use the /usr/src/linux area! Reference the README. I put my files in /home/src/kernel/ gunzip linux-2.6.3.tar.gz tar -xvf linux-2.6.3.tar cd linux-2.6.3 If you have patches install these now: bzip2 -dc ../patch-2.6.xx.bz2 | patch -p1 STEP 6: Copy the appropiate /usr/src/linux-2.4/configs [kernel-2.4.20-i686.config, kernel-2.4.20-i686-smp.config] to .config in /home/src/kernel/linux-2.6.3 cp /usr/src/linux-2.4/configs/kernel-2.4.20-i686.config /home/src/kernel/linux-2.6.3/.config If you don't have the source configs, you can download them from here: https://sourceforge.net/project/showfiles.php?group_id=79320&package_id=109944 I've also included a file config2.6-chirico which was a 2.6 version for some of my systems. This isn't a bad reference if you run into trouble. STEP 7: Assuming you copied the appropriate kernel-2.4 config to .config, run the following which will run through necessary questions for the 2.6 kernel. Or, you might want to use the config2.6-chirico...this has already been run through make oldconfig on my system, and I've answered the necessary questions for a general system. make oldconfig STEP 8: This is very important. Make sure you're .config has the following in it CONFIG_EXT3_FS=y You'll run into the following error if you leave this =m instead of =y: pivotroot: pivot_root(/sysroot,/sysroot/initrd) failed This is because Redhat 9.0 and 8.0 user the ext3 filesystem for /boot ... STEP 9: Edit the Makefile and add changes to the Extraversion is needed. Patches will update these values as well. VERSION = 2 PATCHLEVEL = 6 SUBLEVEL = 3 EXTRAVERSION = -skim-ch6 STEP 10: make bzImage STEP 11: make modules STEP 12: make modules_install STEP 13: make install If you come across errors here, what version of "depmod" is being picked up in your path? STEP 14: mkdir /sys STEP 15: /etc/rc.sysinit needs to be modified. Look for the following line action $"Mounting proc filesystem: " mount -n -t proc /proc /proc and after this line enter the following: action $"Mounting sysfs filesystem: " mount -n -t sysfs /sys /sys Here's my /etc/rc.sysinit for reference: http://prdownloads.sourceforge.net/souptonuts/rc.sysinit.txt?download Be very careful at this step. Backup the /etc/rc.sysinit file. I didn't need any USB support, but your configuation may need it. Thomer [http://thomer.com/linux/migrate-to-2.6.html ] also added changes to /etc/fstab. I did NOT have to do this. No harm in addding; you'll just get errors when booting that it can't be mounted twice. STEP 16: Check the following: a. The new image file should be installed on boot and there should be sym link to it. My latest kernel is 2.6.3-skim-ch6, and I got the "-skim-ch6" from the values I put in the Makefile, so I see the following: /boot vmlinuz -> vmlinuz-2.6.3-skim-ch6 System.map -> System.map-2.6.3-skim-ch6 /boot/grub/grub.conf Should have been automatically updated from make install and look something like the the following: # grub.conf generated by anaconda # # Note that you do not have to rerun grub after making changes to this file # NOTICE: You have a /boot partition. This means that # all kernel and initrd paths are relative to /boot/, eg. # root (hd0,2) # kernel /vmlinuz-version ro root=/dev/hda6 # initrd /initrd-version.img #boot=/dev/hda default=0 timeout=10 splashimage=(hd0,2)/grub/splash.xpm.gz title Red Hat Linux (2.6.3-skim-ch6) root (hd0,2) kernel /vmlinuz-2.6.3-skim-ch6 ro root=LABEL=/ initrd /initrd-2.6.3-skim-ch6.img References: http://www.codemonkey.org.uk/post-halloween-2.5.txt http://kerneltrap.org/node/view/799 http://thomer.com/linux/migrate-to-2.6.html http://www.kernel.org/ Regards, Mike Chirico ___________________________________________________________________________ Philadelphia Linux Users Group -- http://www.phillylinux.org Announcements - http://lists.phillylinux.org/mailman/listinfo/plug-announce General Discussion -- http://lists.phillylinux.org/mailman/listinfo/plug
|
|