Kernel-Kompilierung
Installation
Wenn nun der Kernel ohne Probleme übersetzt wurde, liegen im Directory /lib/modules/2.x.x die fertigen Module und in /usr/src/linux/arch/i386/boot die Datei zImage - die eigentliche Kerneldatei.
Dieses wird dann mit cp /usr/src/linux/arch/i386/boot/zImage /vmlinux_2.x.x
in das Root-Directory kopiert (ab SuSE-Linux 6.0 nach /boot/vmlinux_2.x.x).
Damit wären wir eigentlich schon fertig, aber dann können wir den neuen Kernel nur mit loadlin
starten. Deshalb:
LILO-Konfiguration
Dazu nehmen wir unseren Lieblingseditor (wer noch keinen hat, dem kann ich nedit
wärmstens empfehlen) und editieren (verändern) die Datei /etc/lilo.conf. Da fügen wir eine neuen Abschnitt ein:
#unser neuer Linuxkernel - dies ist ein Kommentar image = /boot/vmlinux_2.x.x # so heisst er und da ist er ab SuSE 6.0 root = /dev/hda1 # Das ist unsere Root-Partition label = linux_neuer # Das ist ein Name, unter dem wir ihn # nacher aufrufen können #Endkommentar, ist aber nicht nötig
Wenn wir nun lilo
aufrufen, wird die Ausgabe erscheinen:
Added linux * Added qlogic Added linux_new Added dos Added linux2_36 Added linux_neuer
Der Stern bezeichnet den Default-Kernel.
Wie man sieht, habe ich insgesamt fünf Kernelversionen unterschiedlicher Konfiguration und eine Windows-Partition. Deshalb ist es meiner Meinung nach gefahrloser, einen Kernel zu installieren, als Windows. Ich kann nämlich weiterhin mit dem alten Kernel starten und nehme den neuen erst mal nur zu Testzwecken. Wenn er sich als stabil erweist und ich von diesem überzeugt bin, verändere ich die Reihenfolge in /etc/lilo.conf und nehme den neuen Kernel an erste Position (der alte wird dann an zweiter gelassen - zur Sicherheit).
Wenn nun beim nächsten Reboot der Prompt LILO:
erscheint, kann man die Taste Tab
drücken und es erscheint eine Auswahl:
LILO: linux qlogic linux_new dos linux2_36 linux_neuer
Da kann man eintippen, welchen man will, oder Return für den ersten Kernel.
Ein Wort für Windows NT-Benutzer
Hier muss man Lilo etwas anders konfigurieren. Und zwar wird als boot nicht der Masterbootsektor, sondern der root-Sektor der Linux-Partition angegeben (ansonsten überschreibt man den NT-Bootsektor und dann geht mit NT gar nichts mehr)! Danach eine (an /floppy gemountete) DOS-formatierte Diskette nehmen und:
dd if=/dev/hdb1 bs=512 count=1 of=/floppy/bootsek.lin
Nun rebooten nach Windows NT. Dort die Datei bootsek.lin hinkopieren, wo es gefällt (ich nehme hier der Einfachheit halber c:\bootsek.lin). Danach Editor (Notepad oder so) aufmachen und Datei boot.ini um den Eintrag c:\bootsek.lin="Linux 2.x.x"
oder was auch immer erweitern. Beim nächsten Reboot bekommt man dann im NT-Bootmenu eine Auswahl, in der Linux 2.x.x
dabei ist. Beim Anwählen von Linux erscheint dann der bekannte Prompt LILO:
, von wo aus Linux gestartet wird.