diff options
author | Leah Rowe <leah@libreboot.org> | 2024-06-15 20:22:19 +0100 |
---|---|---|
committer | Leah Rowe <leah@libreboot.org> | 2024-06-15 23:15:25 +0100 |
commit | ed9c90e59d959bab544598d330c724e44afcc096 (patch) | |
tree | bd87dd4ee2544365cac93fc4c1f66da072338d16 | |
parent | 26451775d5c81949793f57010b0449b4f540ef11 (diff) |
roms: unify all add-payload commands
add a generic function that can insert payloads with lzma
compression, or raw files without compression
Signed-off-by: Leah Rowe <leah@libreboot.org>
-rwxr-xr-x | include/lib.sh | 7 | ||||
-rwxr-xr-x | script/roms | 29 |
2 files changed, 18 insertions, 18 deletions
diff --git a/include/lib.sh b/include/lib.sh index 3de05c24..bf734f3a 100755 --- a/include/lib.sh +++ b/include/lib.sh @@ -245,3 +245,10 @@ vendor_checksum() printf "Bad checksum for file: %s\n" "$2" 1>&2 rm -f "$2" || : } + +cbfs() +{ + ccmd="add-payload" && [ $# -gt 3 ] && ccmd="add" + lzma="-c lzma" && [ $# -gt 3 ] && lzma="-t raw" + x_ "$cbfstool" "$1" $ccmd -f "$2" -n "$3" $lzma +} diff --git a/script/roms b/script/roms index 92dc1e9e..0e4b4b72 100755 --- a/script/roms +++ b/script/roms @@ -213,8 +213,7 @@ build_roms() cbrom="$(mktemp -t coreboot_rom.XXXXXXXXXX)" x_ cp "$_cbrom" "$cbrom" - [ "$payload_memtest" != "y" ] || x_ "$cbfstool" "$cbrom" add-payload \ - -f "$mt86bin" -n img/memtest -c lzma + [ "$payload_memtest" != "y" ] || cbfs "$cbrom" "$mt86bin" img/memtest [ "$payload_seabios" = "y" ] && build_seabios_roms [ "$payload_grub" != "y" ] || x_ build_grub_roms "$cbrom" "grub" [ "$payload_uboot" = "y" ] || return 0 @@ -260,25 +259,22 @@ build_grub_roms() fi # we only need insert grub.elf once, for each coreboot config: - x_ "$cbfstool" "$tmprom" add-payload -f "$grubelf" \ - -n "$grub_cbfs" -c lzma + cbfs "$tmprom" "$grubelf" "$grub_cbfs" # we only need insert background.png once, for each coreboot config: if [ "$displaymode" = "vesafb" ] || \ [ "$displaymode" = "corebootfb" ]; then - backgroundfile="$grubdata/background/$grub_background" - "$cbfstool" "$tmprom" add -f "$backgroundfile" -n \ - background.png -t raw || $err "!bg, $backgroundfile" + cbfs "$tmprom" "$grubdata/background/$grub_background" \ + background.png raw fi tmpcfg="$(mktemp -t coreboot_rom.XXXXXXXXXX)" printf "set grub_scan_disk=\"%s\"\n" "$grub_scan_disk" > "$tmpcfg" || \ $err "set grub_scan_disk, $grub_scan_disk, $tmpcfg" - x_ "$cbfstool" "$tmprom" add -f "$tmpcfg" -n scan.cfg -t raw + cbfs "$tmprom" "$tmpcfg" scan.cfg raw printf "set timeout=%s\n" "$grub_timeout" > "$tmpcfg" || \ $err "set timeout, $grub_timeout, $tmpcfg" - [ -z "$grub_timeout" ] || x_ "$cbfstool" "$tmprom" add \ - -f "$tmpcfg" -n timeout.cfg -t raw + [ -z "$grub_timeout" ] || cbfs "$tmprom" "$tmpcfg" timeout.cfg raw x_ rm -f "$tmpcfg" newrom="$romdir/${payload1}_${board}_${initmode}_$displaymode.rom" @@ -287,8 +283,7 @@ build_grub_roms() x_ cprom "$tmprom" "$newrom" if [ "$payload_seabios_withgrub" = "y" ] && \ [ "$payload1" != "grub" ]; then - x_ "$cbfstool" "$tmprom" add \ - -f "$grubdata/bootorder" -n bootorder -t raw + cbfs "$tmprom" "$grubdata/bootorder" bootorder raw x_ cprom "$tmprom" "${newrom%.rom}_grubfirst.rom" if [ "$payload_seabios_grubonly" = "y" ]; then x_ "$cbfstool" "$tmprom" add-int -i 0 \ @@ -307,15 +302,14 @@ mkSeabiosRom() { tmprom="$(mktemp -t coreboot_rom.XXXXXXXXXX)" x_ cp "$_cbrom" "$tmprom" - x_ "$cbfstool" "$tmprom" add-payload -f "$_seabioself" \ - -n "$_seabios_cbfs_path" -c lzma + cbfs "$tmprom" "$_seabioself" "$_seabios_cbfs_path" x_ "$cbfstool" "$tmprom" add-int -i 3000 -n etc/ps2-keyboard-spinup z="2"; [ "$initmode" = "vgarom" ] && z="0" x_ "$cbfstool" "$tmprom" add-int -i $z -n etc/pci-optionrom-exec x_ "$cbfstool" "$tmprom" add-int -i 0 -n etc/optionroms-checksum - [ "$initmode" != "libgfxinit" ] || x_ "$cbfstool" "$tmprom" add -f \ - "$seavgabiosrom" -n vgaroms/seavgabios.bin -t raw + [ "$initmode" != "libgfxinit" ] || cbfs "$tmprom" "$seavgabiosrom" \ + vgaroms/seavgabios.bin raw printf "%s\n" "$tmprom" } @@ -342,8 +336,7 @@ mkUbootRom() { tmprom="$(mktemp -t coreboot_rom.XXXXXXXXXX)" x_ cp "$_cbrom" "$tmprom" - x_ "$cbfstool" "$tmprom" add-payload -f "$_ubootelf" \ - -n "$_uboot_cbfs_path" -c lzma + cbfs "$tmprom" "$_ubootelf" "$_uboot_cbfs_path" printf "%s\n" "$tmprom" } |