tech questions and development priorities for bhyve

Peter Grehan grehan at freebsd.org
Sun Aug 11 18:49:25 UTC 2013


Hi Aryeh,

> 1. How do I add a second block device as a disk?

  You have 32 virtual PCI slots to play around with. Simply add another 
virtio-block device and back it with a file to represent the block 
device e.g.

  -s 2,virtio-blk,/first/filesys/image   \
  -s 3,virtio-blk,/second/filesys/image  \
  -s 4,virtio-blk,/third/filesys/image

    ... etc.

  (Actually, the virtio block/net can also be assigned to PCI functions 
with no side-effects, so there are 32*8 available 'slots'. The function 
syntax uses a colon appended to the slot e.g. "-s 1:0,virtio-blk,/file")

> 2. Same question but for net interfaces?

  Same answer, though there has to be available tap devices created

   -s 6,virtio-net,tap4   \
   -s 7,virtio-net,tap5

    ... etc.

> What are the relative priorities of the following bhyve features:
>
> 1. Eliminate need for guest OS to have virtio
> 2. Boots via BIOS and not FreeBSD bootloader
> 3. Non-virtio pass through (specifically USB)
> 4. Nested virtualization

  Tough call - they are all important. Work is being done on all 4, 
though at various stages.

  With non-virtio guest o/s's, there is a current GSoC project for AHCI 
emulation which should take care of disk, and there is some work being 
done on Intel NIC emulation.

  For the BIOS boot, there was a GSoC project last year on this that was 
almost there for FreeBSD. Booting using UEFI as a BIOS was demo'd at 
BSDCan, though that is currently for EFI-aware o/s's, and is still in 
the process of being made available.

  Not quite sure what you mean by 3 - is that PCI pass-through ? Note 
there is a GSoC project for USB emulation in bhyve.

  For nested, I'm looking at it :)

later,

Peter.



More information about the freebsd-virtualization mailing list