Backup Kernel & Rettungssystem

Aus wiki.archlinux.de
Version vom 14. Dezember 2010, 23:56 Uhr von Boenki (Diskussion | Beiträge) (Füllwortstripping)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Übersicht

Bei ArchLinux wird nach Kernel-Updates kein Backup-Kernel gesichert, sondern ein Kernel ersetzt den alten vollständig. Nun ist gerade der Kernel das "Herzstück" eines GNU/Linux-Systems, und es kann passieren, dass ein Update nicht zufriedenstellend verläuft. Oder man möchte z.B. einen Kernel aus testing installieren, ist sich aber nicht sicher, ob das System anschließend durchbootet.

Da ist es hilfreich einen Kernel "in Reserve" zu haben, mit dem das System bootfähig ist und so Reparaturen möglich sind.

Ein mit dem aktuellen Kernel nicht mehr bootfähiges bzw. funktionierendes System kann man bisher auf verschiedene Arten wieder booten oder an eine Reparatur-Konsole kommen:

  • Booten von einer Linux-CD/DVD (z.B. ArchInstall-CD, Knoppix, grml)
  • Booten von einer zweiten Festplatte, USB-Stick/Disk, Netzwerk.
  • Booten von einem kleinen System, welches als Reserve-System auf dem Rechner extra dafür installiert ist.
  • Man erstellt sich einen eigenen Kernel, welcher nicht durch Updates des Arch-Kernels überschrieben wird.

Hier nun eine noch einfachere Methode, die v.a. dann hilfreich ist wenn externe Bootmedien nicht zur Hand sind. Man kann sehr einfach den Kernel der ArchLinux Install-CD als Reserve-Kernel auf dem System installieren.

Vorbereitung

Man braucht ca. 30 MB Platz in /boot. Dann die ArchLinux Install-CD mounten, z.B. nach /mnt/cdrom

 cp mnt/cdrom/isolinux/vmlinuz /boot
 cp mnt/cdrom/isolinux/initrd.img /boot

Das war's! Am besten legt man sich einen für diesen Kernel einen Grub/Lilo Booteintrag an. Orientieren kann man sich an dem des normalen ArchLinux-Eintrags vom Stock-Kernel. Zu den Parametern noch ein paar Hinweise:

 kernel /boot/vmlinuz root=/dev/sda3 ro
 initrd /boot/initrd.img
 (Ein Eintrag dieser Art wird dein installiertes System booten, root= an dein System anpassen)
 
 kernel /boot/vmlinuz ro
 initrd /boot/initrd.img
 (Dies wird nicht dein installiertes System booten, sondern die Installer-Konsole wie sie von der
 Installation her bekannt ist. Dieser Modus eignet sich v.a. als Rettungs-Konsole, da die Partitionen
 nicht eingebunden sind)

Noch ein Hinweis zu Sicherheit: Wer physischen Zugriff auf deinen Rechner hat, der hat auf die eine oder andere Art auch Root-Rechte. Dieser Kernel (v.a. als Rettungssystem eingerichtet) bietet allerdings demjenigen, der ihn einfach so bootet, Root-Zugriff ohne mindestens die Abfrage eines Passwortes. Deshalb bietet sich eine Absicherung an, wie sie für Grub z.B. hier beschrieben ist.

Vorteile/Nachteile

  • Vorteile
    • Dieser Kernel kommt nicht in Konflikt mit einem im Dateisystem schon existierenden /lib/modules/2.6.x-ARCH Verzeichnis. Er ist auch gar nicht darauf angewiesen, da alle Module, die ein normaler Kernel in/aus diesem Verzeichnis erwartet, fest in dem initrd.img-Image sind.
    • Dieser Kernel muss nicht extra kompiliert werden, um nicht mit dem Standard-Arch-Kernel zu kollidieren.
    • Kann auch auf Rechnern genutzt werden bei denen es nicht so einfach ist, ein separates Bootmedium anzuschließen bzw. einzulegen.
  • Nachteile
    • Dieser Kernel nutzt nur Module, die im Initrd-Image eingebaut sind. Wer z.B. zum Boot externe Module benötigt, für den wird das nicht funktionieren. Auch mit diesem Kernel das bestehende System durchzubooten kann z.B. an fehlenden nvidia-Modulen scheitern.

Das Ganze also vorher austesten: was geht, was geht nicht.

Um aber, z.B. im Fall des Kernels mit diesem Rettungssystem den alten Kernel wiederherzustellen, gibt es nichts Einfacheres.

Siehe auch