BSD daemon

NetBSD Dokumentation:

Bootable CD ROM How-To

Überblick

Das Erstellen des CD Images

Inspizierung des CD Images

Die CD brennen


Überblick


Einleitung (zurück)

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 mkhybrid Paket installieren. Alternativ kann auch das Programm mkisofs benutzt werden, welches über das Paket 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/.....

NetBSD/alpha (zurück)

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). 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.

NetBSD/i386 (zurück)

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:

NetBSD/macppc (zurück)

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

NetBSD/pmax (zurück)

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) 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.

NetBSD/sgimips (zurück)

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.

NetBSD/sparc (zurück)

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 (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.

NetBSD/sparc64 (zurück)

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.

NetBSD/sun3 (zurück)

Dieser Abschnitt ist noch nicht fertiggestellt.

NetBSD/vax (zurück)

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) 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.

Multi-Boot (zurück)

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.

Die Benutzung von mkisofs (zurück)

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: 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.

Auf NetBSD (zurück)

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

Unter Linux (zurück)

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

Unter Solaris (zurück)

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


...mit cdrecord (U*nix) (zurück)

Das Programm cdrecord kann benutzt werden, um das CD Image auf die CD zu brennen. 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)

...auf Windows (zurück)

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:

...auf MacOS (zurück)

Für MacOS 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:

Home page
Zurück zu Dokumentation

(Ihre Meinung) $NetBSD: bootcd.html,v 1.20 2005/09/28 17:24:39 mishka Exp $
Copyright © 2000-2003 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.