User Tools

Site Tools


bhyve:anwendung

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
bhyve:anwendung [2026/02/16 13:31] – created msvoelkerbhyve:anwendung [2026/09/21 13:26] (current) – msvoelker
Line 3: Line 3:
 In [[management|bhyve Management]] wird die Verwaltung von VMs mit dem vm Tool beschrieben. Hier geht es darum bhyve ohne dem vm Tool zu verwenden. In [[management|bhyve Management]] wird die Verwaltung von VMs mit dem vm Tool beschrieben. Hier geht es darum bhyve ohne dem vm Tool zu verwenden.
  
-===== FreeBSD Gast =====+bhyve wird üblicherweise mit einer boot ROM (oder bhyveload) verwendet, die das Gast-Betriebssystem laden kann. 
 + 
 +===== amd64 Architektur mit bhyveload ===== 
 + 
 +==== FreeBSD Gast ====
  
 Um einen neuen Gast zu erstellen, sind einige extra Schritt notwendig. Um einen neuen Gast zu erstellen, sind einige extra Schritt notwendig.
Line 14: Line 18:
 </code> </code>
   - Boot ROM starten, die das Gast-OS laden kann. Bei einem FreeBSD-Gast geht das mit bhyveload. \\ <code>   - Boot ROM starten, die das Gast-OS laden kann. Bei einem FreeBSD-Gast geht das mit bhyveload. \\ <code>
-/usr/sbin/bhyveload -m 2G -d /var/vm/bsd1vm/disk0.img -c /dev/nmdm-bsd1vm.1A bsd1vm+/usr/sbin/bhyveload -m 2G -d /var/vm/bsd1vm/disk0.img -c /dev/nmdm-bsd1vmloaderA bsd1vm
 </code> </code>
   - VM mit bhyve starten. \\ <code>   - VM mit bhyve starten. \\ <code>
-/usr/sbin/bhyve -c 4 -m 2G -A -H -P -s 0:0,hostbridge -s 1:0,virtio-net,tap0 -s 2:0,virtio-blk,/var/vm/bsd1vm/disk0.img -s 31,lpc -l com1,/dev/nmdm-bsd1vm.1B -D bsd1vm+/usr/sbin/bhyve -c 4 -m 2G -A -H -P -s 0:0,hostbridge -s 1:0,virtio-net,tap0 -s 2:0,virtio-blk,/var/vm/bsd1vm/disk0.img -s 31,lpc -l com1,/dev/nmdm-bsd1vmA -D bsd1vm
 </code> </code>
  
Line 30: Line 34:
 -s 3,ahci-cd,/path/to/uefi-OS-install.iso -s 3,ahci-cd,/path/to/uefi-OS-install.iso
 </code> hinzugefügt werden. Weitere Details enthält die man-Page: [[https://man.freebsd.org/cgi/man.cgi?query=bhyve]] </code> hinzugefügt werden. Weitere Details enthält die man-Page: [[https://man.freebsd.org/cgi/man.cgi?query=bhyve]]
-  * -l Verbindet COM1 in der VM mit /dev/nmdm-bsd1vm.1B auf dem Host.+  * -l Verbindet COM1 in der VM mit /dev/nmdm-bsd1vmA auf dem Host. Es wird automatisch ein /dev/nmdm-bsd1vmB erstellt, was über ein vituelles Null Modem Kabel mit /dev/nmdm-bsd1vmA, und damit COM1 in der VM, verbunden ist.
   * -D Zerstört die VM, wenn sie sich ausschaltet.   * -D Zerstört die VM, wenn sie sich ausschaltet.
  
Line 36: Line 40:
  
 <code> <code>
-sudo cu -s 115200 -l /dev/nmdm-bsd1vm.1B+sudo cu -s 115200 -l /dev/nmdm-bsd1vmloaderB
 </code> </code>
  
Line 42: Line 46:
  
 <code> <code>
-sudo cu -s 115200 -l /dev/nmdm-bsd1vm.1A+sudo cu -s 115200 -l /dev/nmdm-bsd1vmB
 </code> </code>
  
Line 51: Line 55:
 </code> </code>
  
 +===== arm64 Architektur =====
 +
 +==== FreeBSD Gast ====
 +
 +Unter arm64 scheint es bhyveload nicht zu geben. Es wird also eine boot ROM benötigt. Aktuell gibt es nur die experimentelle boot ROM u-boot-bhyve-arm64, die erst installiert werden muss.
 +
 +<code>
 +pkg install u-boot-bhyve-arm64
 +</code>
 +
 +Die boot ROM startet immer von dem ersten VirtIO block device. Eine Installation von CD ist also nicht möglich. Als Alternative gibt es die Möglichkeit ein VM Image von freebsd.org herunterzuladen. Das ist eine Festplatten-Image auf dem FreeBSD bereits installiert ist. Da das recht klein ist, sollte es anschließend mit truncate vergrößert werden.
 +
 +<code>
 +mkdir -p /var/vm/ampere128vm
 +cd /var/vm/ampere128vm
 +fetch https://download.freebsd.org/snapshots/VM-IMAGES/16.0-CURRENT/aarch64/Latest/FreeBSD-16.0-CURRENT-arm64-aarch64-ufs.raw.xz
 +unxz FreeBSD-16.0-CURRENT-arm64-aarch64-ufs.raw.xz
 +truncate -s 64GB FreeBSD-16.0-CURRENT-arm64-aarch64-ufs.raw
 +</code>
 +
 +Nun kann die VM mit bhyve gestartet werden.
 +
 +<code>
 +/usr/sbin/bhyve -c 32 -m 4G -s 0:0,hostbridge -o bootrom=/usr/local/share/u-boot/u-boot-bhyve-arm64/u-boot.bin -s 1:0,virtio-blk,/var/vm/ampere128vm/FreeBSD-16.0-CURRENT-arm64-aarch64-ufs.raw -s 2:0,virtio-net,tap0 -o console=stdio ampere128vm
 +</code>
 +
 +Der Parameter <code>-o console=stdio</code> sorgt dafür, dass die Ausgabe der VM direkt im aktuellen Terminal erfolgt. Alternativ kann die Ausgabe mit <code>-o console=/dev/nmdm-ampere128vmA</code> auf ein nmdm Gerät geleitet werden. Zuvor muss eventl. das nmdm Modul geladen werden mit <code>kldload nmdm</code> Nach dem Starten der VM kann man die Konsole anzeigen über <code>sudo cu -s 115200 -l /dev/nmdm-ampere128vmB</code>
bhyve/anwendung.1771248667.txt.gz · Last modified: by msvoelker