linuxboot/boards/winterfell/fixup-dxe

47 lines
1.0 KiB
Plaintext
Raw Normal View History

#!/bin/sh
# The Winterfell ROM is Tiano compressed, which we don't handle in
# our DxeCore. So it is necessary to uncompress it with uefi-firmware-parser
# and then regenerate the files.
DIRNAME="`dirname $0`"
INPUTS="$DIRNAME/../../build/winterfell/volume-0"
OUTPUTS="$DIRNAME/../../build/winterfell/rom/0x00860000"
fixup()
{
echo $GUID
find "$INPUTS/file-$1" \
-type f \
-a \
-name 'section*' \
| grep -v compressed \
| xargs "$DIRNAME/../../bin/create-ffs" \
-o "$OUTPUTS/$1.ffs" \
-g "$1" \
-t "$2" \
--auto
}
# Process all the files
for file in "$INPUTS"/file-*; do
GUID="`basename "$file" | cut -d- -f2-`"
fixup $GUID
done
# Special case the DXE_CORE and SMM_CORE types
# as well as some combined mode drivers
echo "DXE CORE"
fixup 5ae3f37e-4eae-41ae-8240-35465b5e81eb DXE_CORE
echo "SMM CORE"
fixup 4a37320b-3fb3-4365-9730-9e89c600395d SMM_CORE
echo "misc"
fixup 3c1de39f-d207-408a-aacc-731cfb7f1dd7 DRIVER
echo "s3"
fixup 26a2481e-4424-46a2-9943-cc4039ead8f8 COMBINED_SMM_DXE
fixup 7e2d983f-f703-4a29-9761-77b51f5354ed COMBINED_SMM_DXE