"Gerald Holzer"
Ich habe vor kurzem Suse-Linux 7.3 installiert. Bei der Installation habe ich als Boot-Option 'von Diskette booten' angegeben, worauf dann eine Linux-Startdiskette angelegt wurde. Da das Booten sehr schnell von sich geht (nach dem ersten Floppy- Zugriff erscheint fast im gleichen Augenblick schon ein Boot-Menü, dann kann ich die Diskette schon entfernen - Linux bootet trotzdem) nehme ich an, daß der Kernel von der Festplatte verwendet wird.
Korrekt. Ein aktueller SuSE-Kernel würde auch niemals mit sämtlichen Modulen auf eine Diskette passen (es sei denn, Du verwendest 40MB-Disketten :-)
1. Frage: Welcher Kernel wird geladen. Im /boot Verzeichnis scheint er nicht zu liegen, da Linux trotzdem startete als ich dieses Verzeichnis umbenannt hatte.
Doch, genau da liegt er: /boot/vmlinuz Lilo weiß dagegen noch nichts über Dein Filesystem, daher wird bei der Installation von lilo (Aufruf von "lilo") die Position des Kernels auf der Platte bestimmt und entspr. im Master-Boot-Record hinterlegt. Lilo findet den Kernel also einzig anhand der Plattengeometrie ohne den Umweg über das Filesystem. [...]
3. Frage: Was ist auf dieser Boot-Diskette drauf?
lilo. Bei der Installation der SuSE wurdest Du ja auch nicht gefragt, wohin der Kernel installiert werden soll, sondern wohin _lilo_ geschrieben werden soll.
Und jetzt mein Hauptproblem:
Da meine Boot-Diskette zerstöre wurde möchte ich wieder so eine (wie oben beschrieben) anlegen.
1. Begib Dich an ein beliebiges, lauf- bzw. bootfähiges Linuxsystem. 2. Werde 'root' 3. mv /etc/lilo.conf /etc/lilo.conf.bak 4. Lege eine neue Datei '/etc/lilo.conf' mit folgendem Inhalt an: # <------ Beginn /etc/lilo.conf -----> boot = /dev/fd0 read-only lba32 prompt timeout = 80 image = /boot/vmlinuz label = linux root = /dev/hda1 # <----- _Deine_ / - Partition! # <------- Ende /etc/lilo.conf ------> 5. Lege eine Diskette ein und führe das Kommando 'lilo' aus. 6. mv /etc/lilo.conf.bak /etc/lilo.conf 7. Vergiss das alles am Besten, denn es funktioniert nicht, solltest Du ein anderes Dateisystem als ext2 verwenden. Für diesen Fall wären weitere Schritte erforderlich.
Ich weiss, es gibt noch andere Möglichkeiten Linux zu booten. Ich möchte aber die Variante mit der Bootdiskette - und zwar die Bootdiskette, die bei der Installation angelegt wurde.
Am Besten, Du bootest mit einer SuSE-CD und wählst dann 'Installiertes System booten' aus. Wenn Du bei der Erst-Installation ausgewählt hast, daß lilo auf Diskette geschrieben werden soll, dann hast Du eine entspr. /etc/lilo.conf bereits auf Deiner Platte. Du brauchst dann nur noch als 'root' 'lilo' aufzurufen um eine neue Bootdiskette zu erstellen. [...]
Beim anderen ergab ein Fehlerprotokoll: "lilo ..Fehlermeldung ..: Warning: device 0x0304 exceeds 1024 cylinder limit. ... lba32 option may help .... geo_comp_addr: cylinder number is too big (3914>1023)"
Seltsam. Früher einmal gab es die Beschränkung, daß der Kernel nicht von einem Zylinder oberhalb von 1023 gebootet werden konnte, da viele BIOS das nicht addressieren konnten, und der lilo damals noch das BIOS benutzt hat, um den Kernel zu finden. Nichtsdestotrotz: Füge in die oben erwähnte /etc/lilo.conf noch die Zeile "lba32" hinzu, das kann eigentlich nie schaden. (Habe ich der Anschaulichkeit halber schon getan...). -- (e)mail-address and gpg-key at http://martins.zangpo.org/ or rot13 znegva-fpuzvgm@jro.qr and ask your favorite keyserver ______________________________________________________________ martins:x:500:100:Martin Schmitz:/home/martins:/usr/bin/emacs