BlogBlog ÜbersichtjailscriptportsoptFreeBSDLinksThermoskanne

FreeBSD Installations-CDs erstellen

Mit Hilfe des FreeBSD -Quellcodes lassen sich einfach FreeBSD-Installations-CDs erstellen. So kann man zum Beispiel eine Installations-CD von einem aktuellen CURRENT-Stand erzeugen. Zuerst muss ein release-Verzeichnis erstellt werden, in welche alle zur Erstellung der CDs benötigten Daten geschrieben werden. Hat man die FreeBSD-Quelldateien nicht mit CVS aktualisiert, muss auch noch ein CVS-Verzeichnis erstellt werden, welches aber leer bleibt:

# mkdir /home/beat/cvs /home/beat/release

Nun muss die Welt in /usr/src gebaut werden:

# cd /usr/src
# make buildworld

Nun können aus dem Quellcode die Installationsdateien mit make release in /usr/src/release erstellt werden. Folgende Variable müssen dabei zwingend angegeben werden:

  • CHROOTDIR: Das Verzeichnis, in welchem die Daten installiert werden
  • CVSROOT: Das Verzeichnis, in welchem die mit CVS aktualisieren Quelldateien liegen (kann auch leer sein)

Folgende Variablen können unter anderem noch zusätzlich gesetzt werden:

  • BUILDNAME: Name des Buildes, wird unter anderem auch für den Namen der ISO-Images verwedent
  • EXTSRCDIR: Werden die Quelldateien nicht mit CVS aktualisiert, kann hier ein Verzeichnis angegeben werden, in welchem die Quelldateien vorhanden sind.
  • NO_FLOPPIES: Floppy-Images werden nicht gebaut
  • NODOC: Die FreeBSD-Dokumentation wird nicht gebaut
  • NOPORTS: Es werden keine Ports gebaut und auf die CDs kopiert
  • MAKE_ISOS: Die Installations-CDs werden erstellt
# cd /usr/src/release
# make CHROOTDIR=/home/beat/release CVSROOT=/home/beat/cvs BUILDNAME=CURRENT-SNAP EXTSRCDIR=/usr/src NO_FLOPPIES=YES NODOC=YES NOPORTS=YES MAKE_ISOS=YES release
[...]
Generating MD5 and SHA256 sums...
touch iso.1
Release done
+ LC_ALL=C TZ=GMT date
+ echo >>> make release for i386 finished on Tue Aug 26 00:27:20 GMT 2008
>>> make release for i386 finished on Tue Aug 26 00:27:20 GMT 2008

Danach sind die ISO-Images im release-Verzeichnis unter R/cdrom/ verfügbar.

# ls -l /home/beat/release/R/cdrom/
total 514718
-rw-r--r--   1 root  wheel   35227648 26 Aug 02:26 CURRENT-SNAP-i386-bootonly.iso
-rw-r--r--   1 root  wheel  266092544 26 Aug 02:26 CURRENT-SNAP-i386-disc1.iso
-rw-r--r--   1 root  wheel     372736 26 Aug 02:26 CURRENT-SNAP-i386-disc2.iso
-rw-r--r--   1 root  wheel     372736 26 Aug 02:26 CURRENT-SNAP-i386-disc3.iso
-rw-r--r--   1 root  wheel        349 26 Aug 02:27 CURRENT-SNAP-i386-iso.CHECKSUM.MD5
-rw-r--r--   1 root  wheel        524 26 Aug 02:27 CURRENT-SNAP-i386-iso.CHECKSUM.SHA256
-rw-r--r--   1 root  wheel  224604160 26 Aug 02:26 CURRENT-SNAP-i386-livefs.iso
drwxr-xr-x   3 root  wheel        512 26 Aug 02:26 bootonly/
drwxr-xr-x   4 root  wheel        512 26 Aug 02:26 disc1/
drwxr-xr-x   2 root  wheel        512 26 Aug 02:26 disc2/
drwxr-xr-x   2 root  wheel        512 26 Aug 02:26 disc3/
drwxr-xr-x  17 root  wheel        512 26 Aug 02:26 livefs

Mehr Informationen zu make release und allen vorhanden Variablen findet man in der Manpage release(7).

Related Entries:
Gespeicherte Optionen nach OptionsNG konvertieren
Ports-Subversion-Repository spiegeln
sysinstall-Ersatz für neuere FreeBSD-Versionen
Alte FreeBSD-Port Patchdateien aufsplitten
FreeBSD-Portbaum auf Fehler überprüfen
 Permalink