Kernel installieren

Manchmal muss man einen neuen Kernel installieren. Dabei ist wichtig, dass man die initrd nicht vergisst. Hier wie es geht:

Kernel bauen

Kernel konfigurieren:
make menuconfig
vi Makefile
EXTRAVERSION ggf. setzen
Achtung! Ich habe einen Bug gefunden, die "Cryptographic Options" muss man zweimal aktivieren damit sie funktionieren (keine Ahnung warum).

Kernel bauen
make dep
make clean
make bzImage
make modules
make modules_install

Installieren:
to=2.4.32
cp arch/i386/boot/bzImage /boot/vmlinuz-$to
cp System.map /boot/System.map-$to

Debian

Diese Sektion ist leider noch nicht fertig (ich musste noch nie einen Kernel unter Debian bauen).

InitRD neu schreiben:
update-initramfs -u -k $to
Evtl. reicht "$to" nicht aus, d. h. man muss die Kernel-Version genauer anpassen!

SuSE

Folgendes ist SuSE:
mk_initrd -k vmlinuz-$to -i initrd-$to

Lilo:
[ -f /etc/lilo.conf ] &&
cat >>/etc/lilo.conf <<EOF
  image  = /boot/vmlinuz-$to
  label  = linux-$to
  root   = `rdev | cut -d' ' -f1`
  vga    = normal
  initrd = /boot/initrd-$to
EOF

Grub:
hd=hd0,0
[ -f /boot/grub/grub.conf ] &&
cat >>/boot/grub/grub.conf <<EOF
title Kernel $to
        root ($hd)
        kernel /vmlinuz-$to ro root=LABEL=/
        initrd /initrd-$to
EOF
Wichtig ist (hd0,0) muss noch korrigiert werden.

RedHat

cd /boot
ln -sf vmlinuz-$to vmlinuz
ln -sf System.map-$to System.map
rm module-info
/sbin/new-kernel-pkg --mkinitrd --depmod --install $to
Das konfiguriert auch den Bootloader!

-Tino