Hetzner - DokuWiki

FreeBSD installieren

Inhaltsverzeichnis

FreeBSD Voraussetzungen

FreeBSD 9.0 unterstützt zur Zeit nicht die Realtek 8168F Netzwerkkarte, die auf den Mainboards der neuerer EX4 Modelle vorhanden ist. Diese wird erst ab FreeBSD 8.3 und FreeBSD 9.1 unterstützt.

Für die Installation von FreeBSD benötigen Sie auf Ihrem Rechner folgende Software:

Rescue-System starten

Um FreeBSD auf Ihrem Server zu installieren, starten Sie bitte wie unter FreeBSD Rescue-System beschrieben das Rescue-System und melden Sie sich per SSH bei Ihrem Server an. Achten Sie vor der Installation darauf, dass Sie ein aktuelles Backup Ihres Servers vorliegen haben.

Automatische Installation

Um die Installation durchführen zu können, geben Sie bitte folgenden Befehl ein:

# installimage

Wählen Sie anschließend die gewünschten Optionen aus und starten Sie die Installation. Diese sollte nach wenigen Minuten abgeschlossen sein:

                     Hetzner Online AG - installimage

          Your server will be installed now, this will take some time
                  You can abort at any time with CTRL+C ...

Deleting selected harddrive(s)... DONE
Creating a file system and extracting the image... DONE
Copying kernel... DONE
Configuring rc.conf... DONE
Configuring loader.conf... DONE
Enabling SSH login for root... DONE
Configuring resolv.conf... DONE

Congratulations! The configuration has been completed successfully.
You can now use 'reboot' to boot your newly installed FreeBSD system.

Nach der Installation können Sie nun Ihren Server neustarten:

# reboot

Wenige Minuten später sollte Ihr Server per SSH wieder erreichbar sein.

Manuelle Installation

Um die Installation durchführen zu können, müssen Sie zunächst festlegen, auf welche(n) Festplatte(n) Sie FreeBSD installieren möchten.

Eine Liste aller vorhandenen Festplatten erhalten Sie mit:

# ls -1 /dev/ad* /dev/da* /dev/twed* /dev/aacd* | grep -E '[a-z]{2}[0-9]+$'
/dev/da0
/dev/da1

Weitere Informationen zu den einzelnen Festplatten können Sie anschließend wie folgt erhalten:

# dmesg | grep da0
da0 at mpt0 bus 0 scbus0 target 0 lun 0
da0: <VMware Virtual disk 1.0> Fixed Direct Access SCSI-2 device
da0: 320.000MB/s transfers (160.000MHz, offset 127, 16bit)
da0: Command Queueing enabled
da0: 20480MB (41943040 512 byte sectors: 255H 63S/T 2610C)

Installation auf ZFS

Anschließend können Sie mit Hilfe des "zfsinstall"-Scripts (das Teil von mfsBSD ist - siehe auch http://mfsbsd.vx.sk/) FreeBSD installieren. Bitte beachten Sie, dass Sie die richtige Datei auswählen (aktuell 8.2-RELEASE i386.iso oder 8.2-RELEASE amd64.iso bei einer AMD CPU):

# zfsinstall -d da0 -d da1 -t /nfs/mfsbsd/8.2-release-i386.tbz -s 4G
Notice: two drives selected, automatically choosing mirror mode
Creating GUID partitions on da0 ... done
Configuring ZFS bootcode on da0 ... done
=>      34  41942973  da0  GPT  (20G)
        34       128    1  freebsd-boot  (64K)
       162   8388608    2  freebsd-swap  (4.0G)
   8388770  33554237    3  freebsd-zfs  (16G)
Creating GUID partitions on da1 ... done
Configuring ZFS bootcode on da1 ... done
=>      34  41942973  da1  GPT  (20G)
        34       128    1  freebsd-boot  (64K)
       162   8388608    2  freebsd-swap  (4.0G)
   8388770  33554237    3  freebsd-zfs  (16G)

Creating ZFS pool tank on da0p3 da1p3 ... done
Creating tank partitions: root usr var tmp ... done
Setting bootfs for tank to tank/root ... done
NAME        USED  AVAIL  REFER  MOUNTPOINT
tank        218K  15.6G    18K  none
tank/root    18K  15.6G    18K  legacy
tank/tmp     18K  15.6G    18K  legacy
tank/usr     18K  15.6G    18K  legacy
tank/var     18K  15.6G    18K  legacy
Mounting tank on /mnt ... done
Extracting FreeBSD distribution ... done
Writing /boot/loader.conf... done
Writing /etc/fstab... done
Copying /boot/zfs/zpool.cache ... done

Installation complete.
The system will boot from ZFS with clean install on next reboot

You may type "chroot /mnt" and make any adjustments you need.
For example, change the root password or edit/create /etc/rc.conf for
for system services

Hinweis: Falls auf Ihrem Server bereits ein anderes Betriebssystem installiert war, werden Sie ggf. gefragt, Ihre Partitionstabelle zu löschen:

Error: /dev/da0 already contains a partition table.
=>      34  41942973  da0  GPT  (20G)
        34       128    1  freebsd-boot  (64K)
       162   8388608    2  freebsd-swap  (4.0G)
   8388770  33554237    3  freebsd-zfs  (16G)

You may erase the partition table manually with the destroygeom command

Dies können Sie mit Hilfe des "destroygeom"-Befehls erreichen:

# destroygeom -d da0
Destroying geom da0:
    Deleting partition 1 ... done
    Deleting partition 2 ... done
    Deleting partition 3 ... done

Installation auf UFS

Optional: Wenn Sie FreeBSD auf einem Software-RAID-1 installieren möchten, können Sie nun mit GEOM einen entsprechenden Mirror anlegen (in diesem Fall werden die beiden Festplatten /dev/da0 und /dev/da1 verwendet):

# gmirror label -vb round-robin gm0 da0
# gmirror load
# gmirror insert gm0 da1

Wenn Sie RAID-1 verwenden, müssen Sie nun in den folgenden Schritten der Installationsanleitung /dev/mirror/gm0 statt /dev/daX verwenden.

Da es mit "sysinstall" leider nicht möglich ist, Partitionen und Labels anzulegen, sofern es nicht als init-Prozess gestartet ist (was im Rescue-System nicht der Fall ist), muss die Festplatte zunächst entsprechend mit einem Disk-Label versehen werden:

# fdisk -BI /dev/ad0

Die Fehlermeldung bezüglich GEOM können Sie an dieser Stelle ignorieren.

# bsdlabel -wB /dev/ad0s1
# bsdlabel -e /dev/ad0s1

Beispiel-Label (4GB swap-Slice, Rest für /):

# /dev/ad0s1:
8 partitions:
#        size   offset    fstype   [fsize bsize bps/cpg]
  a:         *       16    4.2BSD        0     0
  b:        4G        *      swap        0     0
  c:         *        0    unused        0     0         # "raw" part, don't edit

Anschließend müssen Sie ein Dateisystem auf den soeben angelegten Slices erstellen:

# newfs -U /dev/ad0s1a
/dev/ad0s1a: 148531.3MB (304192160 sectors) block size 16384, fragment size 2048
	using 809 cylinder groups of 183.77MB, 11761 blks, 23552 inodes.
super-block backups (for fsck -b #) at:
 160, 376512, 752864, 1129216, 1505568, 1881920, 2258272, 2634624, 3010976, [...]

Für den Fall, dass Sie - abgesehen von dem swap-Slice - weitere Slices definiert haben, müssen diese auch entsprechend formatiert werden.

Mounten Sie die Slices anschließend unterhalb von /mnt:

# mount /dev/ad0s1a /mnt

Starten Sie anschließend das FreeBSD-Installations-Programm:

# sysinstall

Wählen Sie dann im Hauptmenü die Option "Custom" (die beiden anderen Installationstypen werden nicht funktionieren.) und bearbeiten Sie die Optionen.

Geben Sie als "Install Root" den Mount-Pfad (/mnt) und als Release-Namen einen Wert aus der untenstehenden Tabelle ein und bestätigen Sie die Optionen mit der Taste "q".

Die Menüpunkte "Partition" und "Label" können Sie überspringen und direkt mit dem Punkt "Distributions" weitermachen. Wählen Sie hier die "Minimal"-Distribution aus und bestätigen Sie die Auswahl mit "OK".

Die Frage nach der Netzwerk-Konfiguration können Sie mit "Yes" bestätigen.

Führen Sie anschließend über den Menüpunkt "Commit" die Installation durch. Nach der Installation werden Sie gefragt, ob Sie das Konfigurationsmenü anzeigen möchten. Beantworten Sie diese mit "No".

Beenden Sie anschließend "sysinstall".

Konfiguration

Nachdem die Basis-Installation abgeschlossen ist, müssen Sie noch einige Konfigurationsdateien anpassen, bevor Sie Ihr neues FreeBSD-System zum ersten Mal starten können.

Verwenden Sie hierzu das "bsdconfig"-Tool:

# bsdconfig
Welcome to the Hetzner configuration tool for FreeBSD.

Hostname: freebsd.hetzner.de

Changing local password for root
New Password:
Retype New Password:

Configuring rc.conf... DONE
Enabling SSH login for root... DONE
Configuring resolv.conf... DONE

Congratulations! The configuration has been completed successfully.
You can now use 'reboot' to boot your newly installed FreeBSD system.

Nachdem Sie die Konfiguration abgeschlossen haben, können Sie nun Ihren Server neustarten:

# reboot

Wenige Minuten später sollte Ihr Server per SSH wieder erreichbar sein.

Netzkonfiguration

Bitte beachten Sie dass Sie die Server ihres eigenen Subnetzes nicht direkt erreichen können, sondern die Pakete immer über das Gateway schicken müssen.

IPv4

Der entsprechende Routing-Eintrag kann im /etc/rc.conf definiert werden:

gateway_if="re0"
gateway_ip="176.9.X.Y"
static_routes="gateway default"
route_gateway="-host $gateway_ip -interface $gateway_if"
route_default="default $gateway_ip"

Wichtig: bei dieser Konfiguration darf "defaultrouter" nicht verwendet werden!

IPv6

Für die Konfiguration von IPv6 genügt es das default Gateway fe80::1 explizit anzugeben.

ipv6_default_interface="re0"
ifconfig_re0_ipv6="2a01:4f8:XX:YY::1:1/64"
# set a static local interface-route
ipv6_defaultrouter="fe80::1%re0"

Zusätzliche IP-Adressen einrichten

Die Einrichtung von zusätzlichen IP-Adressen oder eines Subnetzes unter FreeBSD erschöpft sich in Alias-Einträgen in der /etc/rc.conf. Dabei wird die jeweils erste IP-Adresse für jedes neue Subnetz (d.h. auch wenn die Zusatz-IP in einem anderem Subnetz als die Haupt-IP ist) mit der richtigen Netzmaske eingetragen, die weiteren im gleich Subnetz mit /32 (255.255.255.255)

ifconfig_<interface>_alias0="inet <ipadresse1> netmask 255.255.255.248"
ifconfig_<interface>_alias1="inet <ipadresse2> netmask 255.255.255.255"
usw.


© 2014. Hetzner Online AG. Alle Rechte vorbehalten.