SuSE Linux: Versionen bis einschließlich 7.3
Sie wollen Ihr normales Linux-System mit dem aktuell verwendeten Kernel von Diskette booten können. Sie haben Ihr System bereits erfolgreich installiert, wollen oder können jedoch nicht über LILO oder loadlin von der Festplatte booten.
(Dies ist nicht zu verwechseln mit den Vorgehensweisen, die im Artikel "SuSE-Bootdisketten" rb_bootdisk.html für die Installation beschrieben ist.)
Diese Methode funktioniert mittlerweile (d. h. seit SuSE Linux 6.3) nur noch, wenn Sie entweder einen selberkompilierten Kernel oder ein reines IDE System verwenden. Ansonsten verwenden Sie bitte eine Bootdiskette mit LILO. Die LILO Bootdiskette bietet auch den Vorteil, den Linux-Kernel mit Parametern starten zu können.
Der Linux-Kernel enthält schon selbst die nötigen Daten um selber bootfähig zu sein. Es genügt daher, ihn einfach auf Diskette zu schreiben. Legen Sie hierzu eine leere Diskette in das Diskettenlaufwerk ein
fdformat /dev/fd0h1440 # formatiert die Diskette dd if=/boot/vmlinuz of=/dev/fd0 # Schreibt den Kernel auf die Diskette rdev /dev/fd0 /dev/sdb1 # Setzen Sie statt /dev/sdb1 Ihre Root Partition ein rdev -R /dev/fd0 1 # Root Filesystem readonly mounten
Auch wenn die Bootdiskette mit LILO etwas komplizierter scheint:
Wir empfehlen die nächste Methode zum Erzeugen der Bootdiskette. Sollte
übrigens das fdformat
Kommando mit Lese- oder Schreibfehlern
fehlschlagen, so verwenden Sie bitte eine andere Diskette. Dies gilt
natürlich auch für die Bootdiskette mit LILO.
Erfahrungsgemäß tut man sich am leichtesten, wenn man LILO vorgaukelt, die Diskette wäre das eigentliche root Dateisystem. Dazu müssen einige Hilfdateien auf die Diskette gepackt werden. Dafür ist die Diskette aber völlig von Ihrem System unabhängig.
Gehen Sie zum Selbermachen einer bootfähigen Diskette, die den Kernel und die initrd (ab SuSE Linux 6.3) enthält, wie folgt vor
/mnt
:
fdformat /dev/fd0h1440 # low-level Format /sbin/mkfs.minix /dev/fd0 1440 # minix Filesystem anlegen /bin/mount /dev/fd0 /mnt # Mounten unter /mnt
dev
, etc
und
boot
auf der Diskette an. Im folgenden beziehen sich relative
Pfade auf den Mountpoint /mnt
der Diskette als
Arbeitsverzeichnis ($PWD
) .
cd /mnt mkdir etc dev boot
boot
(auf der Diskette) kopieren. Dies setzt voraus,
dass die initrd an Ihr
System angepasst ist (und evtl. benötigte SCSI Treiber enthält!). Bitte
beachten Sie den SDB Artikel Booten mit der initial
ramdisk falls Sie mehr über das Konzept der initrd erfahren möchten.
cp -a /boot/vmlinuz /boot/initrd /boot/*.b boot/
/dev/null
und /dev/zero
.
cp -a /dev/fd* /dev/null /dev/zero /dev/hd[abcd]* /dev/sd[abcd]* dev/
etc/lilo.conf
auf der Diskette.
Hierzu können Sie sich an folgendem Beispiel orientieren.
# LILO configuration file # Start LILO global Section # If you want to prevent console users to boot with init=/bin/bash, # restrict usage of boot params by setting a passwd and using the option # restricted. initrd=/boot/initrd boot=/dev/fd0 #compact # faster, but won't work on all systems. vga=normal read-only prompt timeout=100 # End LILO global Section # image = /boot/vmlinuz root = /dev/sdb1 # Oder was immer Sie als root Device verwenden label = lxPassen Sie die Zeile "root = " an Ihr System an, Sie können diese Option aber auch beim Booten von Linux angeben und damit eine beliebige Partition als root-Partition verwenden. Sie können probieren, die Option "compact" zu aktivieren. Dies beschleunigt den Ladevorgang erheblich, funktioniert erfahrungsgemäß aber nicht auf allen Computern.
lilo -r /mnt
Added lx*
.
cd / ; umount /mnt
Ab SuSE 8.0 passen Kernel und initrd nicht mehr auf eine Diskette. Sie können hier nur eine LILO-Bootdiskette verwenden.