Hin und wieder ist es nicht möglich ein System über die normale Installationsroutine zu installieren, bzw. man will es nicht (z.B. da man noch Anpassungen vornehmen will). Ein gutes Beispiel ist hier ein Remotese rver der nur aus einem Live-System heraus installiert werden kann.
Das Live-System wird gebootet und als root angemeldet. Im Folgenden wird davon ausgegangen, dass in die Festplatte ada0 installiert wird.
Zunächst muss die Festplatte Partitioniert werden. Hierbei kann ebenfalls direkt ein RAID angelegt werden. Als Beispiel wird hier eine normale Partitionierung mit einer großen Partition gewählt:
# gpart create -s GPT /dev/ada0 # gpart bootcode -b /boot/pmbr ada0 # gpart add -b 34 -s 128 -t freebsd-boot ada0 # gpart bootcode -p /boot/gptboot -i 1 ada0 # gpart add -b 162 -a 1m -t freebsd-ufs ada0 # newfs -j -L ROOT /dev/ada0p2
Anschließend müssen die erzeugten Partitionen gemountet werden. Wurde das System in mehrere Partitionen unterteilt müssen diese entsprechend eingebunden werden.
# mount /dev/ufs/ROOT /mnt
Nun wird das System installiert. Hierzu kann das System entweder direkt von einem Datenträger entpackt werden, oder wie hier beschrieben direkt von den Spiegelservern installiert werden. Das Installierte System m uss der selben Architektiur entsprechen wie das Live-System. Ist dies nicht der Fall kann im Weiteren Fortgang nicht in die chroot-Umgebung gewechselt werden.
Für amd64
fetch -q -o - ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/amd64/10.0-RELEASE/base.txz | tar xpf - -C /mnt/ fetch -q -o - ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/amd64/10.0-RELEASE/kernel.txz | tar xpf - -C /mnt/ fetch -q -o - ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/amd64/10.0-RELEASE/lib32.txz | tar xpf - -C /mnt/ fetch -q -o - ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/amd64/10.0-RELEASE/src.txz | tar xpf - -C /mnt/
Für i386
fetch -q -o - ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/i386/10.0-RELEASE/base.txz | tar xpf - -C /mnt/ fetch -q -o - ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/i386/10.0-RELEASE/kernel.txz | tar xpf - -C /mnt/ fetch -q -o - ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/i386/10.0-RELEASE/src.txz | tar xpf - -C /mnt/
Auf einem FreeBSD-Installationsmedium finden sich die Pakete im Übrigen unter /usr/freebsd_dist. Somit spart man sich den Download.
Das neue System muss zunächst eine grundsätzliche Konfiguration erfahren bevor es gestartet werden kann.
Die Datei /mnt/etc/fstab muss angelegt und entsprechend der erzeugten Partitionen gefüllt werden. Als Beispiel mit der einen Partition dient:
/dev/ufs/ROOT / ufs rw 1 1 proc /proc procfs rw 0 0
Handelt es sich bei dem zu installierenden System ist es von besonderer Bedeutung, dass die Netzwerkeinstellungen vorgenommen werden da der Server sonst später nicht erreichbar sein wird.
Zunächst wird die resolf.conf des bestehenden Live-Systems kopiert.
# cp /etc/resolv.conf /mnt/etc
Anschließend muss noch die /mnt/etc/rc.conf angepasst werden. Bei einem Server wäre hier sowohl die Netzwerkkonfiguration als auch das Starten des sshd wichtig.
ifconfig_em0="DHCP" sshd_enable="YES"
Um letzte Anpassungen vorzunehmen wird in das neue System gewechselt:
# chroot /mnt /bin/csh
Zuerst sollte das Kennwort des root erstellt werden:
# passwd
Die Datei /etc/hosts muss auf den aktuellen Hostnamen angepasst werden. Siehe Hostname setzen.
Anschliessend sollte noch die Zeitzone richtig eingestellt werden. Am einfachsten geht das per
# tzsetup
Zudem bietet es sich an einen Benutzer zu erstellen:
# adduser
Nachdem alle Anpassungen vorgenommen wurden kann das System neu gestartet werden.