https://www.freebsd.org/doc/handbook/ports-using.html
download ports
portsnap fetch
extract downlods
portsnap extract
portsnap auf neuesten stand bringen
portsnap fetch update
Ports sind installiert in /usr/ports
Bauen eines Pakets an einem Beispiel:
cd /usr/ports/net-mgmt/icinga2make install
unattended install
cd /usr/ports/sysutils/screenexport BATCH=yesmake rmconfigmake install clean
/usr/local/etc/rc.d
https://www.freebsddiary.org/startup.php
In /boot/loader.conf
vmm_load="YES"
In /etc/sysctl.conf
net.link.tap.up_on_open=1
Dann die bridge anlegen und tap0 Interface erzeugen und mit an die Bridge hängen.
Offen ist hier, wie ich das ordentlich mache, weil ich ja explizit keine IP-Adresse weder auf dem tap Interface haben möchte, noch auf der bridge.
Dann ein ZFS device anlegen als Speicher für den Gast. Größe ist hier 30GiB und zfs pool Name ist zroot.
zfs create -o quota=100G zroot/bhyveimages
FreeBSD Image herunterladen
cd /media/bhyveimagesfetch https://ftp.halifax.rwth-aachen.de/freebsd/releases/ISO-IMAGES/11.2/FreeBSD-11.2-RELEASE-amd64-bootonly.iso
Installation und Gast starten. Wenn Installation fertig, in die Shell des Gastes wechseln bevor neu gestartet wird. Neustart auswählen und im Bootloader die Option für Neustart wählen um aus der shellscript loop heraus zu kommen.
sh /usr/share/examples/bhyve/vmrun.sh -c 2 -m 4096 -t tap0 -d /dev/zvol/zroot/bhyveguest0 -i -I /media/bhyveimages/FreeBSD-11.2-RELEASE-amd64-bootonly.iso bhyveguest0
Nach erfolgreicher Installation Gast starten mit:
sh /usr/share/examples/bhyve/vmrun.sh -c 2 -m 4096 -t tap0 -d /dev/zvol/zroot/bhyveguest0 bhyveguest0
Wenn man das System detached starten will?
Unklar
pkg install iohyve grub2-bhyveiohyve setup pool=zrootiohyve setup net=em0iohyve setup kmod=1vim /etc/rc.confiohyve_enable="YES"iohyve_flags="kmod=1 net=em0"iohyve fetchiso https://download.freebsd.org/ftp/releases/amd64/amd64/ISO-IMAGES/12.0/FreeBSD-12.0-RELEASE-amd64-disc1.isoiohyve isolistiohyve install bsdguest FreeBSD-12.0-RELEASE-amd64-disc1.isoiohyve console bsdguestexit console (~~.)iohyve start bsdguestiohyve stop bsdguestiohyve set bsdguest description "VM description"iohyve set bsdguest ram=512M cpu=1 boost=1
Networking is managed manually not by chyves.
chyves dataset tank install
chyves bsdguest create 20Gcd /chyves/tank/guests/bsdguest/img/fetch https://download.freebsd.org/ftp/releases/VM-IMAGES/12.0-RELEASE/amd64/Latest/FreeBSD-12.0-RELEASE-amd64.raw.xz
xz -d FreeBSD-12.0-RELEASE-amd64.raw.xzchyves info -zchyves network bridge0 privatechyves network bridge1 privatechyves bsdguest startchyves bsdguest console
chyves openwrt1 create 1gchyves openwrt1 set loader=grub-bhyvechyves openwrt1 set description="OpenWrt test"mv /home/setup/openwrt-18.06.4-x86-64-combined-ext4.img /chyves/tank/guests/openwrt1/img/openwrt-18.06.4-x86-64-combined-ext4.rawchyves network openwrt1 add tap50 bridge1chyves network openwrt1 add tap51 bridge0
Example Delete partition 1 from disk ada0
gpart delete -i 1 ada0
gpart destroy ada0
gpart create -s gpt ada0
gpart show ada0
gpart add -t freebsd-zfs -b 2048 -a 4k -l log0 ada0
Vorher wurde eine Partition namens log0 angelegt mit
gpart add -z freebsd-zfs -b 2048 -a 4k -l log0 ada0
Dann das schreibcache hinzufügen, kann was dauern.
zpool add zroot log gpt/log0
Prüfen ob es Volumes gibt die man nicht mehr benötigt:
gpart show
Löschen der Partition mit dem Index 1 2 und 3 auf dem device ada0
gpart delete -i1 ada0
gpart delete -i2 ada0
gpart delete -i3 ada0
Anlegen einer neuen ZFS Partition
gpart add -t freebsd-zfs -l tank ada0
Anlegen des ZFS pools auf der neuen Partition ada0p1
zpool create tank ada0p1
ZFS Volume auf dem pool anlegen
zfs create zroot/bhyveguest0
zfs set quota=100g zroot/bhyveguest0
Festplatte wwn-0x5000039433b0843f ist nicht mehr existent und soll ersetzt werden mit wwn-0x500a0751e149d1e5
zpool replace tank wwn-0x5000039433b0843f wwn-0x500a0751e149d1e5
Am Beispiel einer Netzwerkkarte alc0 und der Bridgename ist bridge0. Kommt in /etc/rc.conf oberhalb der anderen configs
hostname="bsdrx1"cloned_interfaces="bridge0"ifconfig_bridge0="addm vtnet0 up"ifconfig_vtnet0="up"ifconfig_bridge0_ipv6="inet6 2a00:afe:3f:7::fee1 prefixlen 64 auto_linklocal"sshd_enable="yes"ipv6_activate_all_interfaces="yes"ipv6_defaultrouter="2a00:afe:3f:7::3"
Sehr wichtig, dass man das auto_linklocal noch hinten anfügt, denn ansonsten verfügt das bridge interface nicht über eine link local Adresse, das hat zur Folge dass NDP nicht auf neighbor solicitations antwortet, was wiederum zur Folge hat, dass die IPv6 Konnektivität nicht vorhanden ist.
Möchte man auf einer Bridge DHCP verwenden so streicht man diesen Eintrag
ifconfig_bridge="DHCP"
und ersetzt:
ifconfig_bridge0="addm vtnet0 up"
durch
ifconfig_bridge0="addm vtnet0 SYNCDHCP"
Am Beispiel mit vlan 10 an bridge1 mit echter NIC alc0
cloned_interfaces="bridge1"ifconfig_bridge1="addm alc0_10 addm up"