Kernel backen

aus C't-Server Wiki, der freien Wissensdatenbank

da das wahrscheinlich oefter leute brauchen, hier eine anleitung zum kernel backen ich werde es anhand des kernels 2.6.16.10 erklaeren, es ist aber mit jedem anderen kernel genauso

vorausseztungen fuer das kernel backen..

apt-get install kernel-package libncurses5-dev build-essential initrd-tools bzip2

zuerst ins richtige verzeichnis wechseln

cd /usr/src

wir holen uns nun das kernel paket von kernel.org

wget ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.16.10.tar.bz2

und entpacken es

tar xvfj linux-2.6.16.10.tar.bz2

erstellen einen symlink, vom entpacken ordner namens linux, dieser wird fuer den build prozess benoetigt

ln -s linux-2.6.16.10 linux

ins verzeichnis wechseln

cd linux

dann, aber nur falls vorher schonmal ein kernel gebacken wurde

make-kpkg clean

oder

make mrproper

make mrproper ist eine bessere art von make clean, nun koennen wir beginnen alles benoetigte fuer unseren neuen kernel einzustellen

make menuconfig

nun sehen wir ein menu indem man alle kerneloptionen einstellen kann, je nachdem welche man benoetigt, ob man das ganze als modul haben moechte oder im kernel selber. diese stellt man alle ein, speichert die .config, fuer spaeter falls man noch was aendern moechte, so brauch man nicht alles von vorne einzustellen sondern nur die abschnitte aendern die man wirklich haben will, und nun geht es ans backen :)

make-kpkg kernel_image --revision KernelRebuild.01

beim KernelRebuild.XX immer die jeweilige nummer angeben

so nun dauert es je nach maschine und angewaehlten optionen zwischen 30 minuten und einigen stunden nun gehen wir wieder in /usr/src

cd /usr/src

und installieren den kernel

dpkg -i linux-image-2.6.16.10_KernelRebuild.01_i386.deb
mkinitrd -o /boot/initrd.img-2.6.16.10 2.6.16.10

evtl mal in der /boot/grub/menu.lst von grub nachschauen ob auch alles richtig dort eingetragen wurde

es sollte fuer unseren neuen kernel so oder aehnlich aussehen:

title     Debian GNU/Linux, kernel 2.6.16.10
root      (hd0,0)
kernel    /vmlinuz-2.6.16.10 root=/dev/md2 ro
initrd    /initrd.img-2.6.16.10
savedefault
boot

im grub sollte beim booten nun der eintrag angezeigt werden und wenn der kernel ok ist sollte der rechner nun mit dem neuen kernel booten :D



moleman 13:26, 31. Aug 2006 (CEST)