Frage: Wie läuft ein CD-Boot-Vorgang im Detail ab?

quarzsnoopy

[Free|Net]BSD - User
Ich möchte mir eine eigene Boot-CD machen, aus meinem laufenden System.
Das FreeBSD 4 - Buch von C&L habe ich zur Hand genommen, da ist eine Variante beschrieben mit Floppie-Boot von CD (wie man es auch bei Linux benutzt). Wenn ich mir aber eine FreeBSD 5.3 - Installations-CD ansehe, finde ich kein Floppie-Image. Ehrlich gesagt, erscheint es mir auch etwas blöde erst eine Boot-Floppie zu bauen um sie in eine Boot-CD einzubetten.

Auf der FreeBSD 5.3-Boot-CD ist ein Mini-HDD-Image (wie auch schon auf den FreeBSD 4 und 5 - Floppies) "mfsroot". Das habe ich mir mal angesehen, und in der Datei "stand/help/RELNOTES.TXT" auf diesem Image steht:


2.6 Release Engineering and Integration

The building process for boot floppy images has been completely
overhauled. The most significant change is that the loader now boots a
stock GENERIC kernel split across multiple disks (two at the time of this
writing). This greatly improves installations that begin with a boot from
floppy disk, because they now use exactly the same kernel (and thus
support the same hardware) as CDROM installations. The stripped-down
MFSROOT kernel is no longer needed, and the mfsroot image no longer
requires kernel modules. The boot.flp and driver.flp images are also
obsolete and no longer built.


So das ich das Boch wohl weckwerfen kann, da sich einiges geändert hat.
Auf dem 5.3-er-CD-Image liegt:
- ein mbr
- der Loader (mit einigen weiteren Dateien)
- das mfsroot.gz - Image
- und ein Kernel

Ich vermute in der genannten Reihenvolge wird das wohl auch gestartet...

Jetzt stellt sich mir die Frage in welcher Reihenfolge wird das geladen, wann wird das Image entpackt, wie lange bleigt was aktiv und wo stehen die Einträge, die den jeweils nächsten Schritt starten.

Ich muss das schon verstehen, um meine Boot-CD so zu bauen wie ich es will.

Als Idee habe ich erstmal folgende:
Die CD bootet mit Kernel+mfs-Image und führt dann eine Reihe von Hardwaretests durch, die über den weiteren Verlauf entscheiden oder zu automatischen Konfigurationszwecken gespeichert werden. Dann soll ein gepacktes Image (read only) von der CD auf eine Festplatte gelegt werden und das Verzeichnis "/var" (read-write) wird direkt auf die Platte gelegt. Die Verzeichnisse aus dem Image oder mehrer Images werden dann nach Bedarf z.B. als "/usr" u.s.w gemountet.
Der Sinn soll sein, Arbeitsgeschwindigkeit einer Platteninstallation mit der einfachen Austauschbarkeit des Systems einer Live-CD zu kombinieren.
Es existiert dann irgendwo ein Master-System um die CD's zu erstellen und ewig viele CD-Systeme, die ein System-Update durch CD-Wechsel erreichenkönnen.

Es kann auch für NetBSD beschrieben werden. Ich bin da recht flexibel, da ich mit dem Gedanken spiele zukünftig vielleicht (hauptsächlich) mit NetBSD zu arbeiten.


Für (detailiert) Erläuterungen (evtl. mit Tipps) bin ich sehr dankbar, bis jetzt konnte dieses Forum noch fast alle meiner Fragen beantworten oder Hilfreiche Links liefern die zur Lösung fürten.
Ich zähl auch weiterhin auf Euch! :) :D
 
Zuletzt bearbeitet:
Ich kann nur für NetBSD reden. Dort wird ein Bootfloppy Image mit in die ISO gepackt.
Hab auch gelesen, das es nur 3 Wege gibt eine CD Bootbar zu machen. Man emuliert ne Floppy, man emuliert ne Festplatte und das Dritte fällt mir nicht ein.

Ich weiß nicht, ob die bootfloppy von FreeBSD ausreicht (ist nur halb so groß wie das Image, welches ich bei NetBSD verwende). Wenn ja gib das einfach mit -b bei mkisofs an.

Der Bootsektor ist afaik nicht auslesbar (kann also was anderes beinhalten, als der rest der CD) und darf afaik auch eine bestimmte größe nicht übersteigen
 
Danke für die vielen Tipps!
Die Links sind schon sehr gut, am interessantesten erscheint mir jedoch der Tipp mit dem Port "sysutils/freesbie", da sollte ja alles drin stehen was man wissen muss (braucht).
Wird allerdings ein paar Tage dauern bis ich mich da durch gewühlt habe. Leider ist das alles Menügeführt, das macht die Scripte etwas unleserlicher. Am liebsten habe ich eine Konfiguration a la "rc.conf" mit Schaltern.
Nunja, wirt etwas länger dauern aber da sollten schon mal ne Menge Infos draus zu ziehen sein.

Danke nochmal an alle! ;-)
Ich werde auf jeden Fall meine (erfolgreichen) Ergebnisse hier posten.
 
Zurück
Oben