[efi] Provide access to files stored on EFI filesystems
authorMichael Brown <mcb30@ipxe.org>
Mon, 14 Mar 2016 15:23:42 +0000 (15:23 +0000)
committerMichael Brown <mcb30@ipxe.org>
Mon, 14 Mar 2016 21:11:01 +0000 (21:11 +0000)
commit9913a405ea151706770559d42e758bc2c1da8525
tree9e984a144fabd875f31fd7c8c0e6b3763c26e089
parent75496817c2d28aef8b91fce8185814f8d39f69ab
[efi] Provide access to files stored on EFI filesystems

Provide access to local files via the "file://" URI scheme.  There are
three syntaxes:

  - An opaque URI with a relative path (e.g. "file:script.ipxe").
    This will be interpreted as a path relative to the iPXE binary.

  - A hierarchical URI with a non-network absolute path
    (e.g. "file:/boot/script.ipxe").  This will be interpreted as a
    path relative to the root of the filesystem from which the iPXE
    binary was loaded.

  - A hierarchical URI with a network path in which the authority is a
    volume label (e.g. "file://bootdisk/script.ipxe").  This will be
    interpreted as a path relative to the root of the filesystem with
    the specified volume label.

Note that the potentially desirable shell mappings (e.g. "fs0:" and
"blk0:") are concepts internal to the UEFI shell binary, and do not
seem to be exposed in any way to external executables.  The old
EFI_SHELL_PROTOCOL (which did provide access to these mappings) is no
longer installed by current versions of the UEFI shell.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
src/config/config_efi.c
src/config/defaults/efi.h
src/config/general.h
src/include/ipxe/errfile.h
src/interface/efi/efi_local.c [new file with mode: 0644]