DVD-Boot: /etc/boot.conf: line too long

Reks30

Well-Known Member
Hallo,

ich erstelle mir zu jedem OpenBSD Release immer eigene angepaßte Installations-CDs und auch eine DVD. Speziell bei der DVD habe ich mit 4.8 aber ein eigenartiges Problem: Beim Testen der DVD meldet der CD-Bootloader:

Code:
/etc/boot.conf: line too long.

Die /etc/boot.conf enthält folgende Zeile:

Code:
echo Type boot /4.8/amd64/bsd.rd for amd64 install

Diese Zeile funktioniert aber mit CDs problemlos. Ebenso funktioniert auch folgende Zeile Problemlos mit CDs, führt aber bei der DVD dazu, das diese den bsd.rd Kernel nicht mehr findet:

Code:
set image /4.8/i386/bsd.rd

Das sonderbare ist: All dies hat mit 4.7 sowohl mit CDs als auch mit DVDs funktioniert. Auch mit 4.8 funktioniert dies mit CDs problemlos, aber nicht mehr mit der DVD. Ich habe schon alles mögliche ausprobiert (wie etwa ein sortfile für mkisofs zu verwenden, das die boot.conf weiter nach vorne im Dateisystem schiebt), aber die etc/boot.conf scheint einfach auf einer DVD nicht mehr zu funktionieren. Ich habe das Isoimage schon sowohl mit mkisofs, als auch mit mkhybrid erzeugt, bei beiden das gleiche Ergebnis. Gebrannt habe ich jeweils mit growisofs. Könnte das ein Bug im CD Bootloader sein, oder kann sich vielleicht irgend jemand einen Reim darauf machen?

Gruß
Reks30
 
ich erstelle mir zu jedem OpenBSD Release immer eigene angepaßte Installations-CDs und auch eine DVD.

Benutzt du dafür das OpenBSD Build-System? Oder womit erstellst du die CDs/DVDs?

Hast du überprüft, ob die boot.conf auch richtig auf die DVD geschrieben wurde?

Was passt du sonst noch an?

Warum veränderst du das image mit growisofs, bevor du es auf die DVD brennst? Ein CD-image sollte doch auch 1:1 auf DVD gebrannt werden können...
 
Benutzt du dafür das OpenBSD Build-System? Oder womit erstellst du die CDs/DVDs?
Nein, ich kopiere die benötigten Daten in ein Verzeichnis und benutze dann einfach mkhybrid um das Image zu erzeugen.
Hast du überprüft, ob die boot.conf auch richtig auf die DVD geschrieben wurde?
Ja
Was passt du sonst noch an?
Ich passe die Auswahl an Packages an das an, was ich benötige. Außerdem schmeiße ich solche Dinge wie die Lieder und alles was ich sonst noch so nicht brauche gegenüber den Originalen Kauf-CDs runter.
Warum veränderst du das image mit growisofs, bevor du es auf die DVD brennst? Ein CD-image sollte doch auch 1:1 auf DVD gebrannt werden können...
Das Image wird durch growisofs doch gar nicht verändert. growisofs ist ein DVD-Brennprogramm, enthalten in den dvd+rw-tools (weder cdrecord noch cdio können DVDs brennen).

Gruß
Reks30
 
Mit welchen Parametern rufst du das auf?

Code:
mkhybrid -l -r -J -T -b etc/cdbr -c etc/boot.catalog -o meiniso.iso meindir/

Außerdem nutze ich noch eine .mkisofsrc Datei mit folgenden Inhalt:
Code:
VOLI=OpenBSD 4.8
PREP=Rene Maroufi, Maruweb
PUBL=Theo de Raadt
APPI=OpenBSD 4.8

Für die DVD Versuche habe ich dann aber meist mkisofs statt mkhybrid verwendet, mit folgender Zeile:

Code:
mkisofs -l -r -J -T -hide-joliet-trans-tbl -b etc/cdbr -no-emul-boot -boot-load-size 4 -c etc/boot.catalog -o meiniso.iso meindir/

Wobei ich teilweise auch noch, wie bereits erwähnt, versucht habe die fürs booten wichtigen Dateien im Dateisystem weiter nach vorne einzuordnen, wozu ich zusätzlich zu obiger mkisofs Zeile noch die Option -sort sortliste verwendet habe und der Inahlt von sortliste dann etwa so aus:

Code:
etc/cdbr 8
etc/boot.catalog 7
4.8/i386/cdboot 6
etc/boot.conf 5
4.8/i386/bsd.rd 4
4.8/amd64/bsd.rd 3

Wobei ich durchaus bei den Parametern immer wieder kleinere Änderungen gemacht habe und es nochmal probiert habe. Dabei habe ich zum Beispiel cdbr mal aus dem etc-Verzeichnis genommen und mal aus dem 4.8/i386/ Verzeichnis. Aber letztendlich hat sich herausgestellt das alle Fehler nur mit der Existenz der etc/boot.conf zu tun haben. Entferne ich die Datei ganz, kann die DVD booten und meldet keine Fehler, aber der Hinweistext fehlt natürlich. Laut Manpage von cdboot ist zumindest der -l Parameter für mkhybrid/mkisofs zum erkennen der etc/boot.conf wichtig, der Rest sollte eigentlich egal sein.

Gruß
Reks30
 
Auszug aus dem offiziellen Makefile:
Code:
	mkhybrid -a -R -T -L -l -d -D -N -o ${.OBJDIR}/${CDROM} -v -v \
	    -A "OpenBSD ${OSREV} ${MACHINE} Install CD" \
	    -P "Copyright (c) `date +%Y` Theo de Raadt, The OpenBSD project" \
	    -p "Theo de Raadt <deraadt@openbsd.org>" \
	    -V "OpenBSD/${MACHINE}   ${OSREV} Install CD" \
	    -b ${OSREV}/${MACHINE}/cdbr -c ${OSREV}/${MACHINE}/boot.catalog \
	    ${.OBJDIR}/cd-dir

Guck mal ob da was wichtiges dabei ist... (bin jetzt zu faul dazu :P)
 
Auszug aus dem offiziellen Makefile:
...
Guck mal ob da was wichtiges dabei ist... (bin jetzt zu faul dazu :P)

Ich habe die Optionen darin, die für das Dateisystem wichtig sind jetzt mal genau übernommen, jedoch geht es auch damit nicht. Was dieses Makefile baut, ist ja auch eine CD und CDs funktionieren bei mir ja auch, es ist nur die DVD die Fehler beim lesen der etc/boot.conf macht.

Gruß
Reks30
 
Dann gibt es ja nur zwei Möglichkeiten:

entweder ist mkisofs/growisofs kaputt, oder der CD-bootloader kann nur von CD booten.
 
entweder ist mkisofs/growisofs kaputt, oder der CD-bootloader kann nur von CD booten.

Weder mkisofs noch growisofs haben zwischen 4.7 und 4.8 einen Versionssprung gemacht. Mit 4.7 funktionierten auch DVDs.

Das der CD-Bootloader nur von CD booten kann stimmt insofern übrigens nicht, als das er ohne etc/boot.conf mit Kernel im Standardpfad auch von DVD bootet, aber die etc/boot.conf wird nicht gelesen.

Das ist mal wieder einer dieser verrückten Fehler die wahrscheinlich lediglich ein Programmierer dieser Tools lösen kann.

Gruß
Reks30
 
Zurück
Oben