1. | login as 'root' | ||||||||||||||
2. | 'cp linux-2.4.2.tar.gz /usr/src/' | ||||||||||||||
3. | 'cd /usr/src/' | ||||||||||||||
4a. | Check if you old Kernel source is in /usr/src/linux if so, do 'mv /usr/src/linux linux-X.X.X' where X.X.X is your curent kernel version. This will keep your old Kernel source it case you don't like your new kernel. You can remove it later. | ||||||||||||||
5. | 'tar -zxvf linux-2.4.2.tar.gz' | ||||||||||||||
6. | Now move you new Kernel source, 'mv /usr/src/linux /usr/src/linux-2.4.2' and create a link to it 'ln -s /usr/src/linux-2.4.2 /usr/src/linux' | ||||||||||||||
7. | Check the file 'linux/Documentaion/Changes' for the
latest requirements. o Gnu C | 2.91.66 # gcc --version o Gnu make | 3.77 # make --version o binutils | 2.9.1.0.25 # ld -v o util-linux | 2.10o # fdformat --version o modutils | 2.4.0 # insmod -V o e2fsprogs | 1.19 # tune2fs --version o pcmcia-cs | 3.1.21 # cardmgr -V o PPP | 2.4.0 # pppd --version o isdn4k-utils | 3.1pre1 # isdnctrl 2>&1|grep version Check 'linux/Documentaion/Changes' for the Download locations if you don't have the correct version. |
||||||||||||||
8. | Now you have the correct software you need to run 'make mrproper' in /usr/src/linux/ | ||||||||||||||
9. | You are ready to configure your Kernel, you have 4 choices: 'make config' Config with bash, config asks you the config questions 'make menuconfig' Text based color menus, radiolists & dialogs. 'make xconfig' X windows based configuration tool. 'make oldconfig' Default all questions based on the contents of your existing ./.config file. I recommend using 'make menuconfig' or 'make xconfig' |
||||||||||||||
10. | When you are done configuring your kernel AND you saved the configuration, you should check you '/usr/src/linux/Makefile' if the paths are correct. You proberbly don't need to change anything - but you should take a look! | ||||||||||||||
11. | REDHAT USERES WATCH OUT!!! RedHat puts it's Kernel and stuff
into /boot so uncomment the line '#export
INSTALL_PATH=/boot' (that means remove the #) AND In RedHat 7.0 gcc (compiler) is corrupt download the newest kgcc from RedHat.com and change the '/usr/src/linux/Makefile' so it is using kgcc instead of gcc. HOSTCC = kgcc HOSTCFLAGS = -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer CROSS_COMPILE = # # Include the make variables (CC, etc...) # AS = $(CROSS_COMPILE)as LD = $(CROSS_COMPILE)ld CC = $(CROSS_COMPILE)kgcc Change the two bold lines! |
||||||||||||||
12. | Now it's time to run 'make dep' no probs so far... | ||||||||||||||
13. | I ran 'make bzImage' ....cool so far | ||||||||||||||
14. | In order to use ppp I had to run 'mknod /dev/ppp c 108 0' to create a device called ppp | ||||||||||||||
15. | If you build ppp support as modules, you will need the
following in your '/etc/modules.conf' file:
|
||||||||||||||
16. | Now I ran 'make modules' ...no errors so far.... | ||||||||||||||
17. | Now install the modules 'make modules_install' | ||||||||||||||
18. | When it's done, 'cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.4.2' | ||||||||||||||
19. | edit 'vi /etc/lilo.conf' and add the new kernel
image. boot=/dev/hda map=/boot/map prompt timeout=50 message=/boot/message default=new image=/boot/vmlinuz-2.4.2 label=new read-only root=/dev/hda5 image=/boot/vmlinuz-2.2.16-22 label=old read-only root=/dev/hda5 |
||||||||||||||
20. | NOTE: the devices on your box might be different then in the example above. | ||||||||||||||
21. | run 'lilo' | ||||||||||||||
22. | If you don't get an error from Lilo, and you think that you did everything you are sopose to do, type 'shutdown -r now' | ||||||||||||||
23. | That's it, evertying should be up and running, if you get messages like (fat not supported by kernel, ne2000 not supproted by kernel) you need to go toStep 9,10,11,.... again and insert the configuration which is not working into the kernel. | ||||||||||||||
--- | You can patch a Kernel like this: Copy your patch file into /usr/src/ Now execute 'bzip2 -dc patch-2.4.3.bz2 | patch -p0' and check the kernel version with '/usr/src/linux/scripts/patch-kernel linux' |