[OpenBIOS] [PATCH 0/4] Add virtio-blk driver support

Jd Lyons lyons_dj at yahoo.com
Wed Oct 17 17:28:18 CEST 2018



> On Aug 12, 2018, at 9:24 AM, Mark Cave-Ayland <mark.cave-ayland at ilande.co.uk> wrote:
> 
> These patches add support for booting from virtio-blk (PCI) devices as
> used by QEMU.
> 
> Patches 1 and 2 add bootindex support which is the new way for passing
> boot order information from QEMU to OpenBIOS. Note that there are also
> corresponding patches for QEMU required, without which the generated
> device paths will be incorrect and cause virtio boot to fail.
> 
> Patch 3 adds the legacy virtio-blk driver (it follows the 0.9 rather
> than the 1.0 specification).
> 
> Patch 4 enables the new driver for both PPC and SPARC64 architectures
> so that virtio-blk devices will be usable out-of-the-box with QEMU.
> 
> Once these patches have been applied to OpenBIOS (along with the
> corresponding fw path fixes for QEMU) it is possible to boot from
> virtio-blk devices like this:
> 
> PPC:
> 
> ./qemu-system-ppc -drive file=debian-9.0-powerpc-NETINST.iso,if=none,index=0,id=cd,media=cdrom \
>    -device virtio-blk-pci,drive=cd,bootindex=0 -m 256 -boot d
> 
> SPARC:
> 
> ./qemu-system-sparc64 -drive debian-9.0-sparc64-NETINST.iso,if=none,index=0,id=cd,media=cdrom \
>    -device virtio-blk-pci,bus=pciB,drive=cd,bootindex=0 -m 256 -boot d -nographic
> 
> 
> Signed-off-by: Mark Cave-Ayland <mark.cave-ayland at ilande.co.uk>
> 
> 
> Mark Cave-Ayland (4):
>  ppc: add bootindex support
>  SPARC64: add bootindex support
>  drivers: add legacy virtio-blk driver
>  config: enable virtio-blk driver for default PPC and SPARC64 builds
> 
> arch/ppc/qemu/init.c               |  55 ++++-
> arch/sparc64/boot.c                |   2 +-
> arch/sparc64/boot.h                |   2 +-
> arch/sparc64/openbios.c            |  38 +++-
> config/examples/ppc_config.xml     |   1 +
> config/examples/sparc64_config.xml |   1 +
> drivers/build.xml                  |   1 +
> drivers/pci.c                      |  18 ++
> drivers/pci_database.c             |   4 +-
> drivers/pci_database.h             |   1 +
> drivers/virtio.c                   | 424 +++++++++++++++++++++++++++++++++++++
> drivers/virtio.h                   | 331 +++++++++++++++++++++++++++++
> include/drivers/drivers.h          |   4 +
> 13 files changed, 862 insertions(+), 20 deletions(-)
> create mode 100644 drivers/virtio.c
> create mode 100644 drivers/virtio.h
> 
> -- 
> 2.11.0
> 
> 
> -- 
> OpenBIOS                 http://openbios.org/
> Mailinglist:  http://lists.openbios.org/mailman/listinfo
> Free your System - May the Forth be with you

That’s pretty cool Mark, is the virtue-blk driver only good for CDROM image files, or can we use it on HD images as well.

I gave it a go with a Mac OS 9 image file, and was able to boot over the Trampoline into the Mac OS Nano Kernel, but it couldn’t find the System Folder, so booting halted with the ? Icon.

Not surprising, I think we would need a Openbios based ’NDRV’ for the virtio-blk device.

Booting the Trampoline was much faster with this driver, at least 2-3x.
 




More information about the OpenBIOS mailing list