diff options
Diffstat (limited to 'resources/scripts')
-rwxr-xr-x | resources/scripts/build/payload/seabios | 40 |
1 files changed, 21 insertions, 19 deletions
diff --git a/resources/scripts/build/payload/seabios b/resources/scripts/build/payload/seabios index e6ae28f9..ed31e3bb 100755 --- a/resources/scripts/build/payload/seabios +++ b/resources/scripts/build/payload/seabios @@ -30,7 +30,10 @@ main() printf "Building SeaBIOS payloads and SeaVGABIOS\n" check_dependencies - build_seabios_payloads + + for x in normal vgarom libgfxinit; do + build_seabios_elf "${x}" + done # clean it again. gotta keep it clean! [[ -f Makefile ]] && make -C seabios distclean @@ -51,29 +54,28 @@ check_dependencies() fi } -build_seabios_payloads() +build_seabios_elf() { - for x in normal vgarom libgfxinit; do - if [ ! -f seabios/Makefile ]; then - printf "SeaBIOS not properly downloaded.\n" - exit 1 - fi + inittype=${1} - make distclean -BC seabios || exit 1 + if [ ! -f seabios/Makefile ]; then + printf "SeaBIOS not properly downloaded.\n" + exit 1 + fi - cp "resources/seabios/config/${x}" seabios/.config - make silentoldconfig -j$(nproc) -BC seabios || exit 1 - make -j$(nproc) -BC seabios || exit 1 + make distclean -BC seabios || exit 1 - seabios_elf_dst="${payloaddir}/seabios_${x}.elf" - cp ${seabios_elf} "${seabios_elf_dst}" || exit 1 + cp "resources/seabios/config/${inittype}" seabios/.config + make silentoldconfig -j$(nproc) -BC seabios || exit 1 + make -j$(nproc) -BC seabios || exit 1 - if [ "${x}" = "libgfxinit" ]; then - cp ${seavgabios} ${payloaddir}/seavgabios.bin \ - || exit 1 - fi - rm -f seabios/.config || exit 1 - done + seabios_elf_dst="${payloaddir}/seabios_${inittype}.elf" + cp ${seabios_elf} "${seabios_elf_dst}" || exit 1 + + if [ "${inittype}" = "libgfxinit" ]; then + cp ${seavgabios} ${payloaddir}/seavgabios.bin || exit 1 + fi + rm -f seabios/.config || exit 1 } main $@ |