mirror of
https://github.com/linuxboot/linuxboot
synced 2024-11-25 19:00:54 +00:00
47 lines
1.0 KiB
Bash
Executable File
47 lines
1.0 KiB
Bash
Executable File
#!/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
|