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