I'm posting this series again after ~3 years that introduces UDF file
system support in UEFI. Why? Because Laszlo (or Red Hat) seemed to be
interested in such support.

I started working on this driver just as an excuse to learn UEFI
development at that time. This work isn't based on any previous one and
it's BSD licensed. I also *never* intended to replace it with the
default FAT file system. On the contrary, I was looking to give people
an opportunity to use file system features that current FAT file system

This series was never reviewed or fully tested. I basically used Linux
and mkudffs[1] to test different UDF disks, as well as booting a Linux
(EFI stub) rootfs from UDF file systems. Please, I'd really appreciate
if some of one could help reviewing or testing it.

Note that UDF file system support was *only* added to OVMF platform and
it's disabled by default through UDF_ENABLE build option. There's also a
feature PCD flag that turns on or off parsing of UDF volumes during
partition discovery in PartitionDxe driver.

Branch: https://github.com/pcacjr/edk2/tree/udf-fs

Cc: Laszlo Ersek <ler...@redhat.com>
Cc: Jordan Justen <jordan.l.jus...@intel.com>
Cc: Andrew Fish <af...@apple.com>
Cc: Michael D Kinney <michael.d.kin...@intel.com>
Cc: Liming Gao <liming....@intel.com>
Cc: Star Zeng <star.z...@intel.com>
Cc: Eric Dong <eric.d...@intel.com>
Cc: Mark Doran <mark.do...@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Paulo Alcantara <pca...@zytor.com>

Paulo Alcantara (4):
  MdeModulePkg/PartitionDxe: Add UDF/ECMA-167 file system support
  MdeModulePkg: Initial UDF/ECMA-167 file system support
  MdeModulePkg/UdfDxe: Add seek, read and listing support on files
  OvmfPkg: Introduce UDF_ENABLE build flag

 MdeModulePkg/MdeModulePkg.dec                      |    6 +
 .../Universal/Disk/PartitionDxe/Partition.c        |    3 +-
 .../Universal/Disk/PartitionDxe/Partition.h        |   41 +-
 .../Universal/Disk/PartitionDxe/PartitionDxe.inf   |   10 +-
 MdeModulePkg/Universal/Disk/PartitionDxe/Udf.c     |  335 +++
 MdeModulePkg/Universal/Disk/UdfDxe/ComponentName.c |  185 ++
 MdeModulePkg/Universal/Disk/UdfDxe/File.c          |  901 +++++++
 MdeModulePkg/Universal/Disk/UdfDxe/FileName.c      |  195 ++
 .../Universal/Disk/UdfDxe/FileSystemOperations.c   | 2532 ++++++++++++++++++++
 MdeModulePkg/Universal/Disk/UdfDxe/Udf.c           |  407 ++++
 MdeModulePkg/Universal/Disk/UdfDxe/Udf.h           | 1276 ++++++++++
 MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf      |   66 +
 MdePkg/Include/IndustryStandard/Udf.h              |   78 +
 OvmfPkg/OvmfPkgIa32.dsc                            |    7 +
 OvmfPkg/OvmfPkgIa32.fdf                            |    3 +
 OvmfPkg/OvmfPkgIa32X64.dsc                         |    7 +
 OvmfPkg/OvmfPkgIa32X64.fdf                         |    3 +
 OvmfPkg/OvmfPkgX64.dsc                             |    7 +
 OvmfPkg/OvmfPkgX64.fdf                             |    3 +
 19 files changed, 6057 insertions(+), 8 deletions(-)
 create mode 100644 MdeModulePkg/Universal/Disk/PartitionDxe/Udf.c
 create mode 100644 MdeModulePkg/Universal/Disk/UdfDxe/ComponentName.c
 create mode 100644 MdeModulePkg/Universal/Disk/UdfDxe/File.c
 create mode 100644 MdeModulePkg/Universal/Disk/UdfDxe/FileName.c
 create mode 100644 MdeModulePkg/Universal/Disk/UdfDxe/FileSystemOperations.c
 create mode 100644 MdeModulePkg/Universal/Disk/UdfDxe/Udf.c
 create mode 100644 MdeModulePkg/Universal/Disk/UdfDxe/Udf.h
 create mode 100644 MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
 create mode 100644 MdePkg/Include/IndustryStandard/Udf.h


edk2-devel mailing list

Reply via email to