UEFI EDKII Shell application that stores all available HII packages
To run this shell application just execute it without command line options:
DumpHii
A folder named HPK will be created to store the HII dump.
For each HII package that is found a *.hpk file gets created.
The filename is the GUID of that HII package.
Note: Only the loaded packages that are installed on the system can be dumped.
Means you may have to enter the Setup menu first, boot the shell afterwards and then run the application.
Otherwise the Setup may not get loaded and the HII database has not installed the desired forms.
There are no special releases available yet. Just go ahead and get latest source.
The shell application must be compiled for the specific target system.
This source is based on EDKII which is required to build this shell application.
It is recommended to place the software at ShellPkg/Application/DumpHii/ within the EDKII source.
Add this to your DSC file like ShellPkg.dsc , EmulatorPgk.dsc or Nt32.dsc under the [Components] section:
ShellPkg/Application/DumpHii/DumpHii.inf
PermissionError: [WinError 5] Access is denied: '\Build\.pytool\Plugin\EccCheck\ShellPkg\Application\DumpHii\.git\objects\pack\pack-8b7c25379d5d814f491759643322eb93e76116dd.idx'
Get source and create python environment.
git clone https://github.com/tianocore/edk2.git
cd edk2
git submodule update --init
py -m venv .venv
.venv\Scripts\activate.bat
pip install -r pip-requirements.txt --upgradeCopy source to directory and integrate it into the build, see "How to integrate into EDKII". Not sure if this step is actually needed:
.venv\Scripts\activate.bat
stuart_setup -c .pytool/CISettings.py
python BaseTools/Edk2ToolsBuild.pyRun the actual build, like so:
stuart_ci_build -c .pytool/CISettings.py -p ShellPkg -a IA32,X64 TOOL_CHAIN_TAG=VS2022Output files are at this location:
Build\Shell\<debug/release>_<toolchain>\<arch>\ShellPkg\Application\DumpHii\DumpHii\OUTPUT\DumpHii.efi
debug/release = e.g. RELEASE
toolchain = e.g. VS2022
arch = e.g. X64
On errors about pythonXXXt.lib not found, one might need to install Python including the free-threaded binaries.
To resolve uncrustify errors, run this command for the failing file, as here for DumpHii.c :
echo ShellPkg\Application\DumpHii\DumpHii.c | .\.pytool\Plugin\UncrustifyCheck\tianocore-uncrustify-release_extdep\Windows-x86\uncrustify.exe -c .\.pytool\Plugin\UncrustifyCheck\uncrustify.cfg -F - --replace --no-backup --if-changedPraise the sun! ☀️ . . . 🔥 . . . 🏃 💨