Linux‑Kernel 3.0 kompilieren
Die neue Kernel‑Version 3.0 wurde vor 3 Tagen (22.07.2011) veröffentlicht. Ich habe sie auf meinen Notebooks kompiliert und installiert und hier die Schritte notiert. Zuerst unter Ubuntu 11.04, dann unter Arch Linux; der Prozess ist ähnlich auf anderen Distributionen.
Hinweis: Unter Arch kann man den Kernel auch mit ABS + Pacman bauen. Hier beschreibe ich nur die klassische Methode.
ACHTUNG! Neue Versionen enthalten oft Bugs – ich habe sie nur zu Lernzwecken installiert. Besser ein paar Wochen warten, bis Pakete deiner Distribution verfügbar sind.
Dieses Tutorial ist auch hilfreich, wenn du ein Modul ändern oder einen Patch anwenden musst. Die Schritte sind einfach; bei Problemen kannst du meist zum alten Kernel zurückkehren. Trotzdem: mit Vorsicht und mit Backups wichtiger Daten arbeiten. Keine Haftung.
Vorgehen:
Build‑Werkzeuge installieren
Ubuntu:
sudo apt-get install gccArch:
sudo pacman -S gccKernel‑Paket laden (hier von http://www.kernel.org – damals einzige 3.0‑Quelle)
wget http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.0.tar.bz2Paket entpacken (hier
~/src)tar jxvf linux-3.0.tar.bz2 -C ~/srcOptional die aktuelle
.configkopieren und nur Nötiges änderncp /usr/src/linux-headers-2.6.38-8-generic-pae/.config ~/src/linux-3.0In Ubuntus .config lassen sich VIELE Punkte deaktivieren. Entferne alle Treiber, die du nicht brauchst (Netzwerk, Wireless, Video, Geräte …). Das reduziert Kompilier‑ und Ladezeit deutlich.
In den Ordner wechseln (
cd ~/src/linux-3.0) und konfigurieren.Optionen:
make config→ Textmodusmake menuconfig→ ncursesmake xconfig→ QT‑GUImake gconfig→ GTK‑GUI
Ich nutze
menuconfig; für Einsteiger istxconfigmit Hilfetexten angenehm.Navigation/Keys:
Y→ in Kernel einbettenM→ als Modul bauenN→ deaktivieren?→ Hilfe/→ Suche- Leertaste → umschalten
ESC→ zurück/Beenden
Speichern.
Kernel kompilieren – das dauert. Hier über eine Stunde.
make -j2Für Dual‑Core
make -j3, Quad‑Coremake -j5usw. (j = Kerne + 1).Kernel und Module installieren
make modules sudo make modules_install sudo make installPrüfen, ob
/boot/grub/grub.cfgaktualisiert wurde. Falls nicht, Eintrag hinzufügen. Bei mir wurde automatisch u. a. eingetragen:(menuentry 'Ubuntu, with Linux 3.0.0Julio' --class ubuntu --class gnu-linux --class gnu --class os { recordfail set gfxpayload=$linux_gfx_mode insmod part_msdos insmod ext2 set root='(/dev/sda,msdos6)' search --no-floppy --fs-uuid --set=root 6d6b6bce-af80-450f-943f-23c0a2bed958 linux /vmlinuz-3.0.0Julio root=/dev/sda7 ro quiet splash vt.handoff=7 }Rechner neu starten und den neuen Kernel booten.
sudo reboot
Bei kernel panic den alten Kernel booten und den Fehler beheben.