Benutzer-Werkzeuge

Webseiten-Werkzeuge


freebsd:freebsd_-_bhyve

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
freebsd:freebsd_-_bhyve [2024-03-28 16:21:12] – [AMD-GPU passthrough] manfredfreebsd:freebsd_-_bhyve [2024-07-06 18:20:05] (aktuell) – [Intel-GPU passthrough] manfred
Zeile 52: Zeile 52:
 die VM von ihrer virtuellen Platte starten: die VM von ihrer virtuellen Platte starten:
   > sh /usr/share/examples/bhyve/vmrun.sh -c 4 -m 1024M -t tap0 -d freebsd.img guestname   > sh /usr/share/examples/bhyve/vmrun.sh -c 4 -m 1024M -t tap0 -d freebsd.img guestname
 +
 +
 +===== Verzeichnis in die VM durchreichen =====
 +
 +VM-Start (''virtio-9p''):
 +  # bhyve -AHP -s 0:0,hostbridge -s 3:0,ahci-cd,./debian-12.4.0-amd64-netinst.iso -s 4:0,virtio-blk,./linux.img -s 5,virtio-9p,sharename=/daten/mm -s 6:0,virtio-net,tap0 -s 31:0,lpc -l com1,stdio -c 4 -m 4G linuxguest
 +
 +Mount mit Linux/FreeBSD
 +  # mount -t 9p -o trans=virtio sharename /mm
 +
 +Eintrag in der FsTab:
 +  # vim /etc/fstab
 +  sharename          /mm    9p      trans=virtio,rw 0 0
 +
 +
 +==== mehrere Verzeichnisse in die VM durchreichen ====
 +
 +
 +VM-Start (''virtio-9p''):
 +  # bhyve -AHP -s 0:0,hostbridge -s 3:0,ahci-cd,./debian-12.4.0-amd64-netinst.iso -s 4:0,virtio-blk,./linux.img -s 5,virtio-9p,mmaudio=/daten/mm/Audio -s 6,virtio-9p,mmvideo=/daten/mm/Video -s 7:0,virtio-net,tap0 -s 31:0,lpc -l com1,stdio -c 4 -m 4G linuxguest
 +
 +Mount mit Linux/FreeBSD
 +  # mount -t 9p -o trans=virtio mmaudio /mm/Audio
 +  # mount -t 9p -o trans=virtio mmvideo /mm/Video
 +
 +Eintrag in der FsTab:
 +  # vim /etc/fstab
 +  mmaudio          /mm/Audio    9p      trans=virtio,rw 0 0
 +  mmvideo          /mm/Video    9p      trans=virtio,rw 0 0
  
  
Zeile 69: Zeile 98:
 ===== Bridged networking - VM und Host gehen über die selbe Netzwerkkarte aber unterschiedlichen IPs ins Netz ===== ===== Bridged networking - VM und Host gehen über die selbe Netzwerkkarte aber unterschiedlichen IPs ins Netz =====
  
-  > pkg install sysutils/grub2-bhyve+  > pkg install sysutils/grub2-bhyve sysutils/bhyve-firmware
  
 eine virtuelle Festplatte erstellen: eine virtuelle Festplatte erstellen:
Zeile 80: Zeile 109:
   > vi device.map   > vi device.map
   (hd0) ./linux.img   (hd0) ./linux.img
-  (cd0) ./buntu-20.04-legacy-server-amd64.iso+  (cd0) ./debian-12.4.0-amd64-netinst.iso
  
 Grub läd den Linux-Kernel vom Installations-ISO-Image: Grub läd den Linux-Kernel vom Installations-ISO-Image:
Zeile 86: Zeile 115:
  
 VM starten: VM starten:
-  > bhyve -A -H -P -s 0:0,hostbridge -s 1:0,lpc -s 2:0,virtio-net,tap0 -s 3:0,virtio-blk,./linux.img -s 4:0,ahci-cd,./buntu-20.04-legacy-server-amd64.iso -l com1,stdio -c 4 -m 4G linuxguest+  > bhyve -A -H -P -s 0:0,hostbridge -s 1:0,lpc -s 2:0,virtio-net,tap0 -s 3:0,virtio-blk,./linux.img -s 4:0,ahci-cd,./debian-12.4.0-amd64-netinst.iso -l com1,stdio -c 4 -m 4G linuxguest
   > bhyvectl --destroy --vm=linuxguest   > bhyvectl --destroy --vm=linuxguest
  
Zeile 380: Zeile 409:
 === Vorbereitungen in FreeBSD 14.0 === === Vorbereitungen in FreeBSD 14.0 ===
  
-Bhyve benötigt ein Firmware-Update aus dem Ports-Tree**''sysutils/edk2''** +Extract ROM (mit Linux): 
- +  > lspci -v | grep -Fi vga 
-  > cd /usr/ports/sysutils/edk2 +  00:02.0 VGA compatible controller: ... 
-  > git remote -v+  > echo 1 > /sys/devices/pci0000:00/0000:00:02.0/rom 
 +  > cat /sys/devices/pci0000:00/0000:00:02.0/rom > vbios.rom 
 +  > echo 0 > /sys/devices/pci0000:00/0000:00:02.0/rom
  
 +FreeBSD-Host-System
   > kldload vmm   > kldload vmm
      
-  > pciconf -l +  > pciconf -l | grep -Ei 'vga|xhci'
-  ...+
   vgapci0@pci0:0:2:0:    ...   vgapci0@pci0:0:2:0:    ...
-  ... 
   xhci0@pci0:0:20:0:    ...   xhci0@pci0:0:20:0:    ...
-  ... 
      
-  > devctl detatch pci0:0:2:+  > devctl detach pci0:0:2:
-  > devctl detatch pci0:0:20:0+  > devctl detach pci0:0:20:0
      
   > devctl set driver pci0:0:2:0 ppt   > devctl set driver pci0:0:2:0 ppt
   > devctl set driver pci0:0:20:0 ppt   > devctl set driver pci0:0:20:0 ppt
      
-  > pciconf -l +  > pciconf -l | grep -Fi ppt
-  ...+
   ppt0@pci0:0:2:0:    ...   ppt0@pci0:0:2:0:    ...
-  ... 
   ppt1@pci0:0:20:0:    ...   ppt1@pci0:0:20:0:    ...
-  ... 
  
  
Zeile 411: Zeile 437:
  
 //Es funktionieren nur externe bzw. dedizierte Grafikkarten, interne AMD-Grafikkarten funktionieren nicht.// //Es funktionieren nur externe bzw. dedizierte Grafikkarten, interne AMD-Grafikkarten funktionieren nicht.//
- 
-Extract ROM (mit Linux): 
-  > lspci -v | grep -Fi vga 
-  00:02.0 VGA compatible controller: ... 
-  > echo 1 > /sys/devices/pci0000:00/0000:00:02.0/rom 
-  > cat /sys/devices/pci0000:00/0000:00:02.0/rom > vbios.rom 
-  > echo 0 > /sys/devices/pci0000:00/0000:00:02.0/rom 
  
 Call bhyve //(es ist notwendig, von UEFI zu booten)//: Call bhyve //(es ist notwendig, von UEFI zu booten)//:
Zeile 427: Zeile 446:
 //Interne Intel-Grafikkarten funktionieren, externe bzw. dedizierte Intel-Grafikkarten wurden noch nicht getestet.// //Interne Intel-Grafikkarten funktionieren, externe bzw. dedizierte Intel-Grafikkarten wurden noch nicht getestet.//
  
-Extract ROM (mit Linux)+Bhyve benötigt ein Firmware-Update aus dem Ports-Tree**''sysutils/edk2''** 
-  > echo 1 > /sys/devices/pci0000:00/0000:00:02.0/rom + 
-  > cat /sys/devices/pci0000:00/0000:00:02.0/rom > vbios.rom +FreeBSD-Host-System 
-  > echo 0 > /sys/devices/pci0000:00/0000:00:02.0/rom+  > cd /usr/ports/sysutils/edk2 
 +  > git remote -v 
 +  ...
  
 Manchmal kann man das VBIOS nicht dumpen, dann muß man seinen Mainboard-Hersteller nach einem GOP fragen. Manchmal kann man das VBIOS nicht dumpen, dann muß man seinen Mainboard-Hersteller nach einem GOP fragen.
Zeile 436: Zeile 457:
  
 Call bhyve //(es ist notwendig, von UEFI zu booten)//: Call bhyve //(es ist notwendig, von UEFI zu booten)//:
-  > bhyve -AHPw -c 2 -m 4G -s 0,hostbridge -s 1,nvme,/root/linux.raw -s 2,passthru,0/2/0,rom=/root/vbios.rom -s 20,passthru,0/20/0 -s 3,virtio-net,tap0 -s 31,lpc -o pci.0.31.0.pcireg.vendor=host -o pci.0.31.0.pcireg.device=host -o pci.0.31.0.pcireg.revid=host -o pci.0.31.0.pcireg.subvendor=host -o pci.0.31.0.pcireg.subdevice=host -l com1,stdio -l bootrom,/usr/local/share/uefi-firmware/BHYVE_BHF_UEFI.fd,fwcfg=qemu Linux+  > bhyve -AHPw -c 2 -m 4G -s 0,hostbridge 
 +  -s 1,nvme,/root/linux.raw 
 +  -s 2,passthru,0/2/0,rom=/root/vbios.rom 
 +  -s 20,passthru,0/20/
 +  -s 3,virtio-net,tap0 
 +  -s 31,lpc 
 +  -o pci.0.31.0.pcireg.vendor=host 
 +  -o pci.0.31.0.pcireg.device=host 
 +  -o pci.0.31.0.pcireg.revid=host 
 +  -o pci.0.31.0.pcireg.subvendor=host 
 +  -o pci.0.31.0.pcireg.subdevice=host 
 +  -l com1,stdio 
 +  -l bootrom,/usr/local/share/uefi-firmware/BHYVE_BHF_UEFI.fd,fwcfg=qemu Linux
  
 //Hier wird die Option ''**-A**'' benötigt und man sollte darauf auchten, die Grafik über Slot "**2**" einzubinden und LPC muß über Slot "**31**" eingebunden werden!// //Hier wird die Option ''**-A**'' benötigt und man sollte darauf auchten, die Grafik über Slot "**2**" einzubinden und LPC muß über Slot "**31**" eingebunden werden!//
/home/http/wiki/data/attic/freebsd/freebsd_-_bhyve.1711642872.txt · Zuletzt geändert: von manfred