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

voraussetunzen 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

make mrproper
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 falls man vorher schon einen kernel gebacken hat der nicht funktioniert, dann hilft

make-kpkg clean

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 eingwetragen 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)