W trakcie instalacji pozaznaczałem, że chcę mieć zainstalowane narzędzia programistyczne (m. in. kernel development).
Po ściągnięciu i rozpakowaniu kernela podawałem kolejno komendy:
make mrproper
make menuconfig (tu trzeba pamiętać, żeby obsługa ext3fs była wbudowana w kernel, a nie jako moduł, ponieważ partycja boot jest w ext3)
make dep
make clean
make bzImage
make modules
make modules_install (jako root, i nie "make module_install"!!!)
/sbin/mkinitrd /boot/initrd-2.6.9 2.6.9
cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.9
cp System.map /boot/System.map-2.6.9
ln -s /boot/System.map /boot/System.map-2.6.9
W pliku /boot/grub/grub.conf należy dodać wpis:
title Red Hat Linux (2.6.9)
root (hd0,0)
kernel /vmlinuz-2.6.9 ro root=LABEL=/
initrd /initrd-2.6.9.img
Błędy:
>> depmod can't open /lib/modules/2.4.18-14/modules.dep for writing
>> Warning: you may have to install module-init-tools
Rozwiązanie jest takie jak w warning - zainstalować module-init-tools. Przeprowadzi przez to ten poradnik: http://www.linuxquestions.org/linux/answers/Applications_GUI_Multimedia/How_to_Compile_2_6_kernel_for_RedHat_9_8 w krokach 2:4.
Grub: nie można znaleźć pliku, error 15. Czy na pewno przekopiowany jest bzImage i System.map ? Ścieżka powinna zaczynać się od /, a nie od /boot/ - patrz NOTICE w grub.conf.
Błąd "pivotroot: pivot_root(/sysroot,/sysroot/initrd) failed" oznacza, że obsługa ext3fs nie jest wbudowana w kernel. Trzeba ją dodać z pomocą "y" w kroku z make menuconfig.
Teraz pozostaje tylko restart i użycie nowego kernela. Mi podczas wstawania systemu wyskoczyła tylko niepokojąca mnie informacja o jakichś problemach z eth0, ale do projektu nie będzie mi to potrzebne najprawdopodobniej, więc na razie się nie martwię.