Kernel 2.6 für Debian 3.1 Sarge kompilieren (auf „Debian-Art“)

Nachdem wir nun in den beiden ersten Teilen den Kernel kompiliert haben, führen wir nun einige Änderungen am Bootloader durch.

Normalerweise wird der Bootloader auch direkt konfiguriert, sodass man rein theoretisch nichts mehr machen müssen, sofern man direkten Rechnerzugang hat. Denn wenn der Rechner nicht hochkommen sollte, kann man ja bei physikalischen Zugriff den alten Kernel im Bootloader wieder auswählen.

Da ich aber ausschließlich mit Servern zu tun habe, sollte der folgende Vorgang durchgeführt werden, um ein „nicht-hochkommen“ der Servers zu verhindern bzw ohne Rescue-System wieder zum laufen zu bekommen.
Ich gehe dabei ausschließlich auf den Boot-Loader LILO ein!
Zunächst wird die Konfiguration des Bootloaders editiert:

nano /etc/lilo.conf

Darin findet man die Konfigurationen die LILO benötigt, in meinem Fall sieht dies so aus:

lba32
boot=/dev/sda
root=/dev/sda2
install=/boot/boot-menu.b
map=/boot/map
delay=5
vga=normal
append="noapic acpi=off"
default=Linux
 
image=/vmlinuz
        label=Linux
        read-only
 
image=/vmlinuz.old
        label=LinuxOLD
        read-only
        optional

Hierbei ist das schon die neue Konfiguration wie sie von Debian nach der Kernelinstallation geschrieben wurde. „Linux“ ist hierbei Kernel 2.6.16.16 und „LinuxOLD“ der alte, aber sicher funktionstüchtige Kernel.
Nun ändert man die folgende Zeile:

default=Linux

in die Version des alten Kernels:

default=LinuxOLD

und speichert. Nun muss man noch einmal:

lilo

eingeben um dann folgendes zu sehen:

server:~# lilo
Added Linux
Added LinuxOLD *

Der Eintrag wo nun das Sternchen ist, ist hierbei dann der Default-Boot-Kernel. Nun fragen sie sich sicher schon, warum ich einen neuen Kernel baue und dann aber doch den alten booten möchte. Der Trick kommt nun:

lilo -R (NEUERKERNELEINTRAG)

wobei (NEUERKERNELEINTRAG) durch das Label, das verwendet wurde (hier: „label=Linux“, also „Linux“) ersetzt werden muss (also in diesem Fall: „lilo -R Linux“)
Nun wird NUR beim nächsten Neustart der neue Kernel gebootet. Sollte dieser Boot fehlschlagen(server kommt nach Wartezeit nicht online), so kann mit einem Remote-Reset der Server neu gebootet werden, woraufhin dieser in den alten Kernel bootet. Wenn dies eintritt, so sollte der Fehler zunächst in der Network-Konfiguration gesucht werden(Aktivert mit dem korrekten Treiber?).
Sollte der Start erfolgreich verlaufen sein, so muss nun die LILO-Config zurückgeändert werden, die Zeile
„default=Linux“ sollte wieder statt „default=LinuxOLD“ eingesetzt werden. Nun nicht vergessen wieder „lilo“ in der Kommandozeile einzugeben um dem Bootloader die neue Config bekannt zu geben. Die Ausgabe sollte dann wieder so aussehen:

server:~# lilo
Added Linux *
Added LinuxOLD

Gratulation, der Server-Kernel ist nun auf dem neuesten Stand!

Veröffentlicht von

Uli

IT-Nerd und Admin

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.