[PATCH downstream-hack dev-6.6 0/6] Virtual Media DVD support

Paul Fertser fercerpav at gmail.com
Tue Mar 19 07:34:39 AEDT 2024


Microsoft distributes their Windows Server images as ".iso" files suitable for
burning on DVD medium.

This patch series allows to use such images directly via the Virtual Medium
(jsnbd + Linux USB gadget subsystem) OpenBMC feature provided
functions/mass_storage.usb0/lun.0/cdrom is set to 1 by /etc/nbd-proxy/state
hook.

The code was taken from the latest rejected upstream submission [0] and massaged
to apply to the current dev-6.6 branch. Since the patches were written the
upstream gained support for images larger than 2 TB [1], unfortunately applying
this series disables it.

Tested by installing Windows Server via Virtual Media with AST2600-based BMC.

I'm sharing these hoping it might be useful to community, without any particular
plans or desire to integrate and maintain them downstream (though I might post
an updated version in the future if applying becomes non-trivial again).

An alternative to using this series for installing Windows on bare metal is to
educate your customers about a much faster (the files would be downloaded using
host network card and HTTP + CIFS) and easier to automate way provided by iPXE +
wimboot [2], also available as part of netboot.xyz [3].

[0] https://lore.kernel.org/all/20210626211820.107310-1-i.kononenko@yadro.com/
[1] https://lore.kernel.org/r/20210921145901.11952-1-nikita.yoush@cogentembedded.com
[2] https://ipxe.org/howto/winpe
[3] https://netboot.xyz/docs/kb/pxe/windows/

Igor Kononenko (6):
  usb:gadget:mass-storage: Improve the signature of SCSI handler
    function
  usb:gadget:mass-storage: refactoring the SCSI command handling
  fms: Add TOC/PMA/ATIP DVD-ROM capabilities
  fms: Support the DVD/BD images size over 2.1Gb
  FMS: Add the SCSI Get Configuration command.
  FMS: Add SCSI Read Disc Information command.

 drivers/ata/libata-zpodd.c                   |    8 +-
 drivers/usb/gadget/function/f_mass_storage.c | 1007 ++++++++++-----
 drivers/usb/gadget/function/storage_common.c |   17 +-
 drivers/usb/gadget/function/storage_common.h |    5 +
 include/scsi/scsi_proto.h                    |    2 +
 include/uapi/linux/cdrom.h                   | 1208 +++++++++++++++++-
 6 files changed, 1857 insertions(+), 390 deletions(-)


base-commit: f8b04488b060b155f8b6769aa70412c3630b03f0
-- 
2.34.1



More information about the openbmc mailing list