Webhosting inkl. Homepagebaukasten!

Kernel „backen“

Voraussetzungen:

-Debian5.04 lenny

Pakete:

-gcc, binutils, make, linux-headers-2.6.26-2-amd64, libncurses5 -dev, initramfs-tools

(für xconfig)qt3-dev-tools, g++

Aktuellen Kernel herunterladen

http://www.eu.kernel.org/

http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.34.tar.bz2

*stable ist immer eine gute idee*

Ziel: /usr/src

Kernel entpacken

bei tar.gz archiven

user@debian:/usr/src$ tar -xvzf linux-2.6.34 .tar.gz

bei tar.bz2 archiven

user@debian:/usr/src$ bunzip2 linux-2.6.34 .tar.bz2

user@debian:/usr/src$ tar -xf linux-2.6.34 .tar

in den Ordner linux-2.6.33.4 wechseln

Kernel konfigurieren

1.) make config oder

2.) make menuconfig (requires the ncurses libraries) oder

3.) user@debian:/usr/src/linux-2.6.33.4$ sudo make xconfig

*Menü zum konfigurieren des Kernels*

File Save as .config

Kernel kompilieren

*Hier könnte noch die „Makefile“ bearbeitet werden.

*sämtliche make-Befehle beruhen auf der Makefile (pwd = Ordner mit Makefile)

make dep

user@debian:/usr/src/linux-2.6.33.4$ sudo make dep

Nun müssen Sie 'make dep' eingeben. Dies sorgt dafür, dass Abhängigkeiten im Kernel richtig aufgelöst werden.

make -j4 bzImage

user@debian:/usr/src/linux-2.6.33.4$ sudo make bzImage

Durch Eingabe von 'make bzImage' wird der eigentliche Kompiliervorgang gestartet. Dies kann je nach Prozessor- und Arbeitsspeicherausstattung des Computers durchaus etwas länger dauern. Zum Schluss der Kompilierung erscheint (hoffentlich) eine Meldung, dass der Vorgang erfolgreich war und der Ort, wo der Kernel jetzt gespeichert wurde, sowie dessen Größe.

make -j4 modules

user@debian:/usr/src/linux-2.6.33.4$ sudo make modules

Der Kernel selber ist nun fertig, es fehlen allerdings noch die Module, die der Kernel benötigt, um z.B. auf bestimmte Geräte zuzugreifen. Diese werden mit dem Befehl 'make modules' erstellt. Auch dies dauert wieder eine Weile.

make -j4 modules_install

user@debian:/usr/src/linux-2.6.33.4$ sudo make modules_install

Nun sind die Module erstellt, aber noch nicht am richtigen Ort. Der Befehl 'make modules_install' sorgt dafür, dass im Verzeichnis '/lib/modules/' ein Verzeichnis erstellt wird, in dem die Module gespeichert werden. Der Name dieses Verzeichnisses hängt vom Namen des Kernels ab. Heißt der Kernel z.B. '2.4.19-xyz', so befindet sich im Verzeichnis '/lib/modules' ein Unterverzeichnis mit dem Namen '2.4.19-xyz', welches (in weiteren Unterverzeichnissen) nun alle Module enthält.

Kernel verschieben

entweder

1.) make install *tested by florian*

kopiert bzImage nach /boot/vmlinuz... [OK]

erstellt system.map in /boot [OK]

oder

2.) manuelles „make install“

der Kernel befindet sich nun unter /usr/src/linux-2.6.33.4/arch/x86/boot/bzImage

Kernel verschieben nach /boot/vmlinuz- 2.6.33.4

Neues initrd.img erstellen

Im Ordner /boot

sudo update-initramfs -k 2.6.33.4 -c

-k kernelversion(name der datei unter /lib/modules/2.6.33.4)

-c erstelle neues initramfs

/boot/initrd.img-2.6.33.4 wurde nun erstellt.

Grub2 updaten

sudo update-grub2

Tags: ,

Administrator aus Leidenschaft

Kommentar schreiben