Bootable CD ROM How-To
Überblick introduction Einleitung Dieses Dokument versucht zu erklären, wie man eine NetBSD Boot-CD ROM erstellt.
Das Erstellen des CD Images Der erste Schritt beim Erstellen einer CD ROM ist das Kreieren eines Images der CD. Dieses Image wird zuerst als eine (üblicherweise ziemlich große, bis zu 650 MB) Datei auf Ihrer Festplatte gespeichert, und später auf die CD geschrieben. Hier wird davon ausgegangen, dass Sie Zugriff auf das Programm mkhybrid haben. Wenn Sie das Image auf einem NetBSD Rechner erstellen, können Sie dieses es über das sysutils/mkhybrid Paket installieren. Alternativ kann auch das Programm mkisofs benutzt werden, welches über das Paket sysutils/mkisofs verfügbar ist. Es wird davon ausgegangen, dass ein Verzeichnis namens /cdsources auf Ihrem System existiert, und jenes alle Dateien enthält, die Sie auf die CD brennen wollen. Eine Möglichkeit des Layouts der Verzeichnisstruktur ist, dem von ftp.NetBSD.org zu folgen. zum Beispiel:
  /cdsources/i386/.....
  /cdsources/sparc/.....
alphaimage NetBSD/alpha Um eine Boot CD für NetBSD/alpha zu erstellen, sind zwei Schritte vonnöten. Der erste Schritt ist, eine ISO 9660 Image des gewünschten Inhalts zu erstellen. Dieses Image muss das sekundäre Boot Programm und den Kernel in seinem Wurzelverzeichnis enthalten. Zusätzlich wird das primäre Boot Programm für den zweiten Schritt benötigt. Um die Boot Programme und den Kernel am richtigen Ort zu erhalten, empfehlen wir:
  cd /cdsources/alpha/binary/sets
  tar -zxvf base.tgz ./usr/mdec/boot ./usr/mdec/bootxx_cd9660
  mv -f ./usr/mdec/boot /cdsources/boot
  mkdir /tmp/mdec.alpha
  mv -f ./usr/mdec/bootxx_cd9660 /tmp/mdec.alpha/bootxx_cd9660
  rmdir ./usr/mdec
  cd /cdsources/alpha/installation/instkernel
  cp -f netbsd.gz /cdsources/netbsd.gz
Nun können Sie das ISO 9660 Image erstellen.
  mkisofs -o output.iso -l -J -R -L /cdsources
Der zweite Schritt besteht in der Installation der NetBSD/alpha Disk und CD-Rom bootstrap Software mit Hilfe von installboot(8.alpha). Das wird mit folgendem Kommando erreicht:
  installboot -v output.iso /tmp/mdec.alpha/bootxx_cd9660 
Beachten Sie, dass Sie den zweiten Schritt entweder auf einem NetBSD/alpha System vornehmen müssen, oder Sie sich das alpha installboot Programm für Ihre Maschine kompilieren müssen. Das alpha installboot Programm sollte einwandfrei kompilierbar und lauffähig auf NetBSD/i386 sein. i386image NetBSD/i386 Dieser Abschnitt zeigt auf, wie man eine NetBSD/i386 Boot CD ROM erstellt. Dieses Beispiel bezieht sich auf NetBSD-1.5.1/i386, und zeigt, wie man eine Installations-CD erstellt. Es wird davon ausgegangen, dass das Verzeichnis /cdsources auf Ihrem System existiert, und alle Dateien sowie die Verzeichnisstruktur von NetBSD-1.5.1/i386 enthält. Der genaue Inhalt hängt davon ab, was Sie auf der CD haben wollen; wichtig ist dass /cdsources/i386/installation/floppy/boot-big.fs existiert, da es als Boot Image benutzt wird. Um das CD Image zu erstellen, benutzen Sie folgendes Kommando:
  mkisofs -o output.iso -b i386/installation/floppy/boot-big.fs \ 
           -c boot.catalog -l -J -R -L /cdsources
Dieses Kommando wird eine Datei namens output.iso erstellen, welches das CD Image ist. Die Optionen bedeuten:
  • -b i386/installation/floppy/boot-big.fs -- gibt an, welches Boot Image benutzt werden soll.
  • -c boot.catalog -- Erstellt den boot catalog.
  • -a -- Erlaube Dateinamen mit "~" und "#".
  • -l -- Erlaube lange (32 Zeichen) Dateinamen.
  • -J -- Benutze Joliet Erweiterungen.
  • -R -- Setze Zugriffsrechte, inklusive setuid.
  • -L -- Erlaube Dateinamen mit "." anzufangen.
  • /cdsources -- Bestimme, dass /cdsources das Wurzelverzeichnis des CD Images ist.
macppcimage NetBSD/macppc Open Firmware kann Dateien von ISO 9660 CDs lesen, also können Sie einen Kernel und Kopien von ofwboot.elf und ofwboot.xcf an einen beliebigen Platz auf der CD kopieren, und der Rechner kann dann via Open Firmware wie folgt gestartet werden:
    boot cd:,/pfad/zu/den/Dateien/ofwboot.elf
(oder .xcf anstatt von .elf falls Sie eine ältere Maschine besitzen.) Der Pfad zu den Dateien kann weggelassen werden, wenn die Dateien auf der Wurzelebene der CD Verzeichnishierarchie liegen. Deswegen ist es empfohlen diese dort zu speichern:
  cp -f /cdsources/macppc/binary/kernel/ofwboot.elf /cdsources
  cd /cdsources/macppc/binary/sets/
  tar -zxvf kern.tgz 
  mv -f netbsd /cdsources/netbsd.macppc
Beachten Sie, dass ofwboot komprimierte Kernels lesen kann, also können Sie den Kernel gzippen, falls der Platz knapp wird. Folgenderweise wird das Image kreiert:
  mkisofs -v -v -o output.iso -b i386/installation/floppy/boot-big.fs \
	-c boot.catalog -l -J -r -L /cdsources 2>&1 | tee /tmp/mkisofs.log
pmaximage NetBSD/pmax NetBSD/pmax kann entweder von einem FFS oder einem ISO 9660 Dateisystem gestartet werden. Hier wird davon ausgegangen, dass Sie eine ISO 9660 CD ROM erstellen wollen. Bitte beachten Sie, dass das bootxx_cd9660 Programm erst seit NetBSD-1.5.x verfügbar ist. Falls Sie NetBSD-1.4.x benutzen, können Sie boot.pmax, installboot und bootxx_cd9660 aus einem -current snapshot installieren. Vergewissern Sie sich, dass die entsprechenden Quellen frühestens vom November 1999 stammen. Um eine NetBSD/pmax Boot CD ROM zu erstellen, benötigt es zwei Schritte. Der erste besteht im Kreieren des ISO 9660 Images, welches alle Daten beinhaltet, die Sie auf die CD brennen wollen. Dieses Image muss das sekundäre Boot Programm sowie den Kernel in seinem Wurzelverzeichnis enthalten. Zusätzlich wird das primäre Boot Programm für den zweiten Schritt benötigt. Um die Boot Programme und den Kernel am richtigen Platz zu erhalten, führen Sie die folgenden Schritte aus:
  cd /cdsources/pmax/binary/sets
  tar -zxvf base.tgz ./usr/mdec/boot.pmax ./usr/mdec/bootxx_cd9660
  mv -f ./usr/mdec/boot.pmax /cdsources/boot.pmax
  mkdir /tmp/mdec.pmax
  mv -f ./usr/mdec/bootxx_cd9660 /tmp/mdec.pmax/bootxx_cd9660
  rmdir ./usr/mdec

  cd /cdsources/pmax/binary/kernel
  cp -f install.gz /cdsources/netbsd.pmax.gz
  gunzip /cdsources/netbsd.pmax.gz
Nun können Sie das ISO 9660 Image erstellen.
  mkhybrid -o output.iso -a -l -J -r -L /cdsources
Der zweite Schritt besteht in der Installation der NetBSD/pmax Disk und CD-ROM bootstrap Software. Das installboot(8.pmax) Kommando sollte folgendermaßen angewandt werden:
  /usr/mdec/installboot -v output.iso /usr/mdec/bootxx_cd9660 
Beachten Sie, dass der zweite Schritt auf einer NetBSD/pmax Maschine ausgeführt werden muss. Es ist jedoch möglich, dass das ISO Image auf einer NFS gemounteten Partition auf der NetBSD/pmax Maschine liegt, falls das Image nicht lokal erstellt werden soll. Alternativ kann seit NetBSD-1.5.1 das NetBSD/pmax installboot Programm auch auf anderen NetBSD Architekturen kompiliert werden. Dies erlaubt das Erstellen eines Boot Images auf einer anderen als einer pmax Maschine. sgimips NetBSD/sgimips Informationen darüber, wie Sie unter NetBSD/sgimips eine Boot CD ROM erstellen, finden Sie in dieser E-Mail an die port-sgimips MailingList. Bitte beachten Sie, dass die darin enthaltenen Informationen (noch) nicht von den NetBSD Entwicklern verifiziert wurden. sparcimage NetBSD/sparc Um eine Boot CD ROM für NetBSD/sparc zu erstellen, werden 3 Schritte benötigt. Der erste Schritt besteht im Kreieren eines "fast" kompletten ISO 9660 Images, welches die Daten enthält, die Sie auf die CD brennen wollen. Zum Beispiel:
  mkisofs -o output.iso -l -J -r -L /cdsources
Nun erstellen Sie ein bootbares Disketten Image. Für NetBSD-1.5.1/sparc befindet sich dies auf ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-1.5.1/sparc/installation/bootfs/boot.fs.gz. Der abschließende Schritt besteht darin, das ISO Image erneut zu schreiben, mit (a) einem sun disklabel am Anfang, (b) dem ursprünglichem Image am Ende, und (c) mit den richtigen offset/size Werten im Disklabel für den bootloader. Das Programm mksunbootcd erledigt diese Aufgabe. Falls mksunbootcd nicht auf Ihrem System installiert sein sollte, kann es als Paket (sysutils/mksunbootcd) nachinstalliert werden. Falls Sie das Image auf einem nicht-NetBSD System erstellen, können sie versuchen mksunbootcd auf Ihrem System zu kompilieren. Die Quellen dazu erhalten Sie von ftp://ftp.NetBSD.org/pub/NetBSD/misc/mksunbootcd/. Benutzen Sie mksunbootcd folgendermaßen:
  mksunbootcd output.iso boot.fs boot.fs boot.fs
Das Boot Image ist dreifach aufgeführt entsprechend was von einem sun4, sun4c oder sun4m System ausgeführt werden wird. Falls Sie verschiedene Images für die 3 Maschinen haben, können Sie folgenden Befehl ausführen:
  mksunbootcd output.iso boot-sun4.fs boot-sun4c.fs boot-sun4m.fs
Beachten Sie, dass mksunbootcd die output.iso Datei neu herausschreibt, also benutzen Sie das Programm nicht mehrfach hintereinander. Sie können diese Schritte auch mit einem NFS gemounteten Verzeichnis vornehmen, dass heißt, falls Ihr ISO Image auf einer anderen Maschine liegt, kann es auf einer NetBSD Maschine benutzt werden um mksunbootcd zu benutzen, ohne dass viele Daten über das Netzwerk versandt werden müssen. sparc64image NetBSD/sparc64 Momentan kann ein NetBSD/sparc64 System nicht von CD ROM gestarte werden. Das befindet sich jedoch auf der sparc64 TODO Liste, und die Hardware wird dies sicherlich unterstützen. sun3image NetBSD/sun3 Dieser Abschnitt ist noch nicht fertiggestellt. vaximage NetBSD/vax NetBSD/vax kann entweder von einem FFS oder einem ISO 9660 Dateisystem gestartet werden. Hier wird davon ausgegangen, dass Sie eine ISO 9660 CD ROM erstellen wollen. Bitte beachten Sie, dass NetBSD/vax erst seit NetBSD-1.5.x von CD starten kann. Um eine NetBSD/vax Boot CD ROM zu erstellen werden zwei Schritte benötigt. Der erste besteht im Kreieren des ISO 9660 Images, welches alle Daten beinhaltet, die Sie auf die CD brennen wollen. Dieses Image muss das sekundäre Boot Programm sowie den Kernel in seinem Wurzelverzeichnis enthalten. Zusätzlich wird das primäre Boot Programm für den zweiten Schritt benötigt. Um die Boot Programme und den Kernel am richtigen Platz zu erhalten, folgen Sie folgenden Schritten:
  cd /cdsources/vax/binary/sets
  tar -zxvf base.tgz ./usr/mdec/boot ./usr/mdec/xxboot
  mv -f ./usr/mdec/boot /cdsources/boot.vax
  mkdir /tmp/mdec.vax
  mv -f ./usr/mdec/xxboot /tmp/mdec.vax/xxboot
  rmdir ./usr/mdec

  cd /cdsources/vax/binary/kernel
  cp -f netbsd.INSTALL.gz /cdsources/netbsd.vax.gz
  gunzip -f /cdsources/netbsd.vax.gz
Nun können Sie das ISO 9660 Image erstellen.
  mkhybrid -o output.iso -a -l -J -r -L /cdsources
Der zweite Schritt besteht in der Installation der NetBSD/vax Disk und CD-ROM bootstrap Software. Das installboot(8.pmax) Kommando sollte folgendermaßen angewandt werden:
  /usr/mdec/installboot -v output.iso /usr/mdec/xxboot
Beachten Sie, dass der zweite Schritt auf einer NetBSD/vax Maschine ausgeführt werden muss. Es ist jedoch möglich, dass das ISO Image auf einer NFS gemounteten Partition auf der NetBSD/vax Maschine liegt, falls das Image nicht lokal erstellt werden soll. Alternativ kann das vax installboot Programm auch auf einer NetBSD Maschine einer anderen Architektur kompiliert werden. multiimage Multi-Boot In src/distrib/cdrom finden Sie die notwendigen Werkzeuge und Dateien, um CDs zu erstellen, die von verschiedenen Maschinen zum Booten genutzt werden können. Hiermit wurde ein 4-CD-Set erstellt, welches 39 Plattformen enthält und wovon 8 Plattformen direkt booten können. Sie benötigen hierzu mkisofs 1.15a34 oder später.

Als Alternative können Sie die folgenden Schritte manuell ausführen. Diese Prozedur wurde erfolgreich angewandt, um eine einzelne CD zu erstellen, die eine alpha, einen i386, eine pmax oder eine sparc booten kann. Es sollte auch möglich sein, diese CD auf einer vax bootbar zu machen. Um eine CD zu erhalten, die auf mehreren Architekturen bootbar ist, sollten Sie folgende Schritte benutzen. Beachten Sie, dass die Reihenfolge dieser Schritte unbedingt eingehalten werden muss.

  • Versichern Sie sich, dass Sie alle benötigten Dateien haben, also unter anderem die diversen Kernels und Boot Programme, die unter den jeweiligen Sektionen für die unterschiedlichen Maschinenarchitekturen aufgeführt sind.
  • Erstellen Sie ein Verzeichnis unter /cdsources namens mdec.pmax und kopieren Sie das pmax bootxx_cd9660 Programm dorthin. Zum Beispiel: /cdsources/usr/mdec.pmax/bootxx_cd9660.
  • Erstellen Sie ein Verzeichnis unter /cdsources namens mdec.vax und kopieren Sie das vax xxboot Programm dorthin. Zum Beispiel: /cdsources/usr/mdec.vax/xxboot.
  • Erstellen Sie ein i386 Boot Image.
      sh
      mkhybrid -v -v -o output.iso -b i386/installation/floppy/boot-big.fs \ 
               -c boot.catalog -a -l -J -r -L /cdsources 2>&1 | tee /tmp/mkhybrid.log
      exit
    
    Beachten Sie dass die -v Option doppelt angegeben werden muss.
  • Führen Sie das mksunbootcd Kommando auf einer NetBSD/sparc Maschine aus um die sparc Bootblöcke zu installieren, oder installieren Sie alternativ sysutils/mksunbootcd auf einer NetBSD Maschine Ihrer Wahl und führen Sie es von dort aus aus:
      mksunbootcd output.iso syboot-143.fs syboot-143.fs syboot-143.fs
    
  • Führen Sie das pmax installboot(8.pmax) Programm auf einer NetBSD/pmax Maschine aus (oder kompilieren und benutzen Sie das pmax installboot Programm auf einer anderen NetBSD-1.5 oder moderneren Maschine), um die pmax Bootblöcke zu installieren. Bitte beachten Sie, dass, damit die NetBSD/alpha Bootblöcke mit denen von NetBSD/pmax koexistieren können, das NetBSD/pmax Boot Programm in das ISO Dateisystem installiert wird. Um dem pmax installboot Programm mitzuteilen, wo sich das Boot Programm befindet, untersuchen Sie die Logdatei des mkhybrid-Laufes.
      grep "usr/mdec.pmax/bootxx_cd9660" /tmp/mkhybrid.log
    
    Sie sollten etwas wie
      148017 148020 cdsources/usr/mdec.pmax/bootxx_cd9660
    
    sehen können. Die erste Nummer (148017 in diesem Fall) ist der ISO Block den Sie dem installboot Programm mitteilen müssen. Nun führen Sie installboot aus:
      installboot -i 148017 -v output.iso /tmp/mdec.pmax/bootxx_cd9660
    
  • Führen Sie das vax installboot(8.vax) Programm auf einer NetBSD/vax Maschine aus (oder kompilieren und benutzen Sie das vax installboot Programm auf einer anderen NetBSD-1.5 oder moderneren Machine), um die vax Bootblöcke zu installieren. Bitte beachten Sie, dass, damit die NetBSD/alpha Bootblöcke mit denen von NetBSD/vax koexistieren können, das NetBSD/vax Boot Programm in das ISO Dateisystem installiert wird. Um dem vax installboot Programm mitzuteilen, wo sich dias Boot Programm befindet, untersuchen Sie die Logdatei des mkhybrid-Laufes.
      grep "usr/mdec.vax/xxbootxx" /tmp/mkhybrid.log
    
    Sie sollten etwas wie
      148017 148020 cdsources/usr/mdec.vax/xxboot
    
    sehen können. Die erste Nummer (148017 in diesem Fall) ist der ISO Block den Sie dem installboot Programm mitteilen müssen. Nun führen Sie installboot aus:
      installboot -i 148017 -v output.iso /tmp/mdec.vax/xxboot
    
  • Führen Sie installboot(8.alpha) auf einer NetBSD/alpha Maschine aus, um die Alpha Bootblöcke zu installieren. Stellen Sie sicher, dass die -s Option angegeben wird, um die Alpha und Sun Checksummen zu synchronisieren.
      installboot -vs output.iso /tmp/mdec.alpha/bootxx_cd9660
    
mkisoimage Die Benutzung von mkisofs Das Programm mkisofs kann alternativ zu mkhybrid benutzt werden. Ein Beispiel zu dessen Benutzung:
  mkisofs -a -b i386/installation/floppy/boot-big.fs -c boot.catalog \ 
          -f -l -R -J -L -o output.iso /cdsources/
Die Optionen bedeuten:
  • -a -- Erlaube Dateinamen mit "~" und "#". Bitte beachten Sie, dass diese Option nur für ältere (1.12 und älter) Versionen von mkisofs benutzt wird.
  • -b i386/installation/floppy/boot-big.fs -- bestimmt welches Boot Image benutzt wird.
  • -c boot.catalog -- Erstellt den boot catalog.
  • -f -- Folge symbolischen links.
  • -l -- Erlaube lange (32 Zeichen) Dateinamen.
  • -r -- Setze Zugriffsrechte.
  • -J -- Benutze Joliet Erweiterungen.
  • -L -- Erlaube Dateinamen mit "." anzufangen.
  • /cdsources -- Bestimme dass /cdsources das Wurzelverzeichnis des CD Images ist.
sysutils/mkisofs ist als Paket in pkgsrc erhältlich.
Inspizierung des CD Images Es ist möglich das CD Image zu mounten, um das Dateisystem, welches Sie erstellt haben, zu untersuchen. netbsd_mountimage Auf NetBSD Mounten Sie das CD Image:
  vnconfig -c vnd0 output.iso
  mount -t cd9660 /dev/vnd0c /mnt
Bitte beachten Sie, dass Sie auf i386 Systemen /dev/vnd0d statt /dev/vnd0c benutzen. Nun können Sie in das /mnt Verzeichnis wechseln und das soeben kreierte CD Image begutachten. Um das Image wieder zu unmounten, benutzen Sie folgende Kommandos:
  umount /mnt 
  vnconfig -u vnd0
linux_mountimage Unter Linux Linux besitzt eine ähnliche Einrichtung. Um das CD Image zu mounten:
  mount -t iso9660 -o ro,loop=/dev/loop0 output.iso /mnt
und um es wieder zu unmounten:
  umount /mnt
solaris_mountimage Unter Solaris Es wird berichtet, dass Solaris 8 und neuere Versionen auch CD Images mounten können. Weitere Details sind in der lofiadm manpage auf Solaris.

Auf älteren Versionen von Solaris können Sie den fbk Treiber von Jörg Schilling benutzen. Er ist unter ftp://ftp.fokus.gmd.de/pub/unix/kernel/fbk/ erhältlich. Befolgen Sie die fbk Dokumentation für Installationsanweisungen. Sobald Sie den fbk Treiber installiert haben, können sie das ISO 9660 Image mit folgendem Kommando mounten:

  mount -F fbk -o ro,type=hsfs /dev/fbk0:output.iso  /mnt
und folgendermaßen wieder unmounten:
  umount /mnt
Die CD brennen cdrecord ...mit cdrecord (U*nix) Das Programm cdrecord kann benutzt werden, um das CD Image auf die CD zu brennen. sysutils/cdrecord ist in der pkgsrc Paketsammlung enthalten. Ein Beispiel zur Benutzung von cdrecord folgt:
  cdrecord -v speed=4 dev=/dev/cd1c output.iso
Sie müssen den speed-Parameter Ihrem CD Brenner anpassen, sowie das passende device benutzen (auf i386 wäre das /dev/cd1d) winrecord ...auf Windows Für Windows gibt es mehrere Programme, mit denen man ISO 9660 Images auf CDs schreiben kann. Diese Sektion will keine bestimmten Programme forcieren, aber es sollen einige Möglichkeiten aufgeführt werden:
  • CDRWIN. Eine kommerzielle Software, die bootbare (auf i386) ISO 9660 Images erstellen und auf CD brennen kann.
  • FILE2CD. Freeware, die ISO 9660 Images auf CD brennen kann.
  • Adaptec Easy CD Creator Deluxe. Kommerzielle Software.
  • Adaptec Easy CD Creator. Wird mit vielen CD Brennern mitgeliefert.
macrecord ...auf Mac OS Für Mac OS gibt es mehrere Programme, mit denen man ISO 9660 Images auf CDs schreiben kann. Diese Sektion will keine bestimmten Programme forcieren, aber es sollen einige Möglichkeiten aufgeführt werden:
(Ihre Meinung) $NetBSD: bootcd.list,v 1.13 2006/03/30 23:55:26 jschauma Exp $
Copyright © 2000-2005 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.
NetBSD® is a registered trademark of The NetBSD Foundation, Inc.