From e0850a8a72fb5e1e2a5d58011f03f9e249701e5a Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Thu, 17 Aug 2023 23:27:30 +0100 Subject: [PATCH 1/1] WIP: consolidate u-boot/seabios/coreboot build scripts See file: resources/scripts/build/defconfig/for It is based on: resources/scripts/build/payload/u-boot The u-boot payload script has been deleted, as has the seabios payload script; the build/boot/roms logic has been heavily simplified too, by removing the logic for building of elf files based on defconfig. SeaBIOS, U-Boot and coreboot all use defconfig-type infrastructure for their build systems, and they are fundamentally the *same* in how to compile each codebase, at least in an lbmk context, regardless of actual (and very huge) differences in these codebases. Several hundred sources-lines of code have been eliminated by this change, drastically simplifying everything; U-Boot payload compiling also now errors out when a single build fails, instead of continuing. Also: build/boot/roms no longer re-compiles a coreboot target that was already compiled, which is the same behaviour observed for payloads. (this means you must now manually delete a target, when you wish to re-build it; the build/boot/roms logic now more or less just runs cbfstool; blobutil is handled from build/defconfig/for) This patch demonstrates the raw power of lbmk; it is a very simple and highly efficient build system, and now much more so! Signed-off-by: Leah Rowe --- .gitignore | 1 + resources/coreboot/build.list | 1 + resources/git/revisions | 4 +- resources/scripts/build/boot/roms_helper | 42 ++-- resources/scripts/build/clean/payloads | 2 +- resources/scripts/build/defconfig/for | 178 +++++++++++++++++ resources/scripts/build/payload/grub | 22 +-- resources/scripts/build/payload/seabios | 84 -------- resources/scripts/build/payload/u-boot | 179 ------------------ resources/scripts/modify/seabios/configs | 2 +- resources/scripts/update/seabios/configs | 2 +- resources/seabios/build.list | 2 + .../seabios/{ => default}/config/libgfxinit | 0 resources/seabios/{ => default}/config/normal | 0 resources/seabios/{ => default}/config/vgarom | 0 resources/seabios/default/target.cfg | 3 + resources/u-boot/build.list | 5 + 17 files changed, 227 insertions(+), 300 deletions(-) create mode 100644 resources/coreboot/build.list create mode 100755 resources/scripts/build/defconfig/for delete mode 100755 resources/scripts/build/payload/seabios delete mode 100755 resources/scripts/build/payload/u-boot create mode 100644 resources/seabios/build.list rename resources/seabios/{ => default}/config/libgfxinit (100%) rename resources/seabios/{ => default}/config/normal (100%) rename resources/seabios/{ => default}/config/vgarom (100%) create mode 100644 resources/seabios/default/target.cfg create mode 100644 resources/u-boot/build.list diff --git a/.gitignore b/.gitignore index 57247d97..284cdb48 100644 --- a/.gitignore +++ b/.gitignore @@ -13,6 +13,7 @@ /bios_extract/ /ec/ /tmp/ +/elf/ /payload/ /me_cleaner/ *.s[a-w]? diff --git a/resources/coreboot/build.list b/resources/coreboot/build.list new file mode 100644 index 00000000..f6535149 --- /dev/null +++ b/resources/coreboot/build.list @@ -0,0 +1 @@ +build/coreboot.rom diff --git a/resources/git/revisions b/resources/git/revisions index edd076b2..c108d72e 100644 --- a/resources/git/revisions +++ b/resources/git/revisions @@ -47,8 +47,8 @@ } {seabios}{ - rev: 1281e340ad1d90c0cc8e8d902bb34f1871eb48cf - loc: seabios + rev: HEAD + loc: seabios/seabios url: https://review.coreboot.org/seabios bkup_url: https://github.com/coreboot/seabios } diff --git a/resources/scripts/build/boot/roms_helper b/resources/scripts/build/boot/roms_helper index 287d6dac..ead6176f 100755 --- a/resources/scripts/build/boot/roms_helper +++ b/resources/scripts/build/boot/roms_helper @@ -201,7 +201,7 @@ if [ "${board}" != "${tree}" ]; then fi cbfstool="cbutils/${tree}/cbfstool" corebootrom="${cbdir}/build/coreboot.rom" -seavgabiosrom="payload/seabios/seavgabios.bin" +seavgabiosrom="elf/seabios/seavgabios.bin" ./build module cbutils ${tree} || exit 1 @@ -249,9 +249,9 @@ fi export PATH="$(pwd)/${cbdir}/util/crossgcc/xgcc/bin:$PATH" if [ ! -f "${seavgabiosrom}" ] \ - || [ ! -f payload/seabios/seabios_libgfxinit.elf ] \ - || [ ! -f payload/seabios/seabios_vgarom.elf ] \ - || [ ! -f payload/seabios/seabios_normal.elf ]; then + || [ ! -f elf/seabios/seabios_libgfxinit.elf ] \ + || [ ! -f elf/seabios/seabios_vgarom.elf ] \ + || [ ! -f elf/seabios/seabios_normal.elf ]; then if [ "${payload_seabios}" = "y" ]; then ./build payload seabios elif [ "${payload_grub}" = "y" ] \ @@ -271,20 +271,20 @@ rm -f "${romdir}"/* if [ "${payload_grub}" = "y" ] \ || [ "${payload_seabios_withgrub}" = "y" ]; then - if [ -f "payload/grub/grub_usqwerty.cfg" ]; then + if [ -f "elf/grub/grub_usqwerty.cfg" ]; then sha1sumcmd="sha1sum resources/grub/config/grub.cfg" grubrefchecksum="$(${sha1sumcmd} | awk '{print $1}')" - sha1sumcmd="sha1sum payload/grub/grub_usqwerty.cfg" + sha1sumcmd="sha1sum elf/grub/grub_usqwerty.cfg" grubbuildchecksum="$(${sha1sumcmd} | awk '{print $1}')" if [ "${grubrefchecksum}" != "${grubbuildchecksum}" ]; then - rm -Rf payload/grub/ + rm -Rf elf/grub/ printf "Changes detected to GRUB. Re-building now:\n" fi else printf "Required GRUB payloads not yet built. Building now:\n" - rm -Rf payload/grub/ # just in case + rm -Rf elf/grub/ # just in case fi for keymapfile in ${kmapdir}/*; do @@ -295,9 +295,9 @@ if [ "${payload_grub}" = "y" ] \ keymap="${keymapfile##*/}" keymap="${keymap%.gkb}" - grubelf="payload/grub/grub_${keymap}.elf" - grubcfg="payload/grub/grub_${keymap}.cfg" - grubtestcfg="payload/grub/grub_${keymap}_test.cfg" + grubelf="elf/grub/grub_${keymap}.elf" + grubcfg="elf/grub/grub_${keymap}.cfg" + grubtestcfg="elf/grub/grub_${keymap}_test.cfg" if [ ! -f "${grubelf}" ] || [ ! -f "${grubcfg}" ] || \ [ ! -f "${grubtestcfg}" ]; then @@ -308,9 +308,9 @@ fi if [ "${payload_uboot}" = "y" ]; then if [ "${uboot_config}" = "default" ]; then - ubdir="payload/u-boot/${board}" + ubdir="elf/u-boot/${board}" else - ubdir="payload/u-boot/${board}/${uboot_config}" + ubdir="elf/u-boot/${board}/${uboot_config}" fi if [ -f "${ubdir}/u-boot.elf" ]; then @@ -319,7 +319,7 @@ if [ "${payload_uboot}" = "y" ]; then ubootelf="${ubdir}/u-boot" else printf "Required U-Boot payload not yet built. Building now\n" - rm -Rf "payload/u-boot/${board}" # just in case + rm -Rf "elf/u-boot/${board}" # just in case ./build payload u-boot "${board}" fi fi @@ -443,8 +443,8 @@ mkSeabiosRom() { target_opromloadonly="${3}" # TODO: purge (useless setting) target_initmode="${4}" # e.g. libgfxinit - target_seabioself="payload/seabios/seabios_${target_initmode}.elf" - target_seavgabios_rom="payload/seabios/seavgabios.bin" + target_seabioself="elf/seabios/seabios_${target_initmode}.elf" + target_seavgabios_rom="elf/seabios/seavgabios.bin" tmprom=$(mktemp -t coreboot_rom.XXXXXXXXXX) @@ -488,9 +488,9 @@ mkUbootRom() { cbfstool_path="${4}" if [ "${target_uboot_config}" = "default" ]; then - target_ubdir="payload/u-boot/${board}" + target_ubdir="elf/u-boot/${board}" else - target_ubdir="payload/u-boot/${board}/${target_uboot_config}" + target_ubdir="elf/u-boot/${board}/${target_uboot_config}" fi if [ -f "${target_ubdir}/u-boot.elf" ]; then @@ -514,9 +514,9 @@ mkGrubRom() { target_cbrom="${2}" target_grubelf_cbfs_path="${3}" # e.g. fallback/payload - grubelf="payload/grub/grub_${target_keymap}.elf" - grubcfg="payload/grub/grub_${target_keymap}.cfg" - grubtestcfg="payload/grub/grub_${target_keymap}_test.cfg" + grubelf="elf/grub/grub_${target_keymap}.elf" + grubcfg="elf/grub/grub_${target_keymap}.cfg" + grubtestcfg="elf/grub/grub_${target_keymap}_test.cfg" tmprom=$(mktemp -t coreboot_rom.XXXXXXXXXX) || exit 1 cp "${target_cbrom}" "${tmprom}" || exit 1 diff --git a/resources/scripts/build/clean/payloads b/resources/scripts/build/clean/payloads index 4d77b9ea..796fe75c 100755 --- a/resources/scripts/build/clean/payloads +++ b/resources/scripts/build/clean/payloads @@ -26,5 +26,5 @@ set -u -e printf "Cleaning up payloads\n" -rm -Rf payload/ +rm -Rf elf/ diff --git a/resources/scripts/build/defconfig/for b/resources/scripts/build/defconfig/for new file mode 100755 index 00000000..b0b90a97 --- /dev/null +++ b/resources/scripts/build/defconfig/for @@ -0,0 +1,178 @@ +#!/usr/bin/env sh + +# helper script: build elf files on build systems that use defconfig/kconfig +# +# Copyright (C) 2022 Alper Nebi Yasak +# Copyright (C) 2022 Ferass El Hafidi +# Copyright (C) 2023 Leah Rowe +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# you could probably build *linux* with this script! + +[ "x${DEBUG+set}" = 'xset' ] && set -v +set -u -e + +projectname="$(cat projectname)" +our_version="$(cat version)" + +project="" +elfdir="" +codedir="" +arch="" +tree="" +config_name="" +target_dir="" +cfgsdir="" +listfile="" + +# foc u-boot, mostly +export LOCALVERSION="-${projectname}-${our_version}" + +main() +{ + [ $# -lt 1 ] && err "Project name not specified" + project="${1}" + elfdir="elf/${project}" + shift 1 + + cfgsdir="resources/${project}" + [ -d "${cfgsdir}" ] || err "directory, ${cfgsdir}, does not exist" + + listfile="${cfgsdir}/build.list" + [ -f "${listfile}" ] || err "list file, ${listfile}, does not exist" + + printf "Building %s binaries (elf files)\n" ${project} + + # Build for all targets if no argument is given + if [ "$#" -eq 0 ]; then + for target_dir in "${cfgsdir}"/*; do + [ ! -d "${target_dir}/config/" ] && \ + continue + set -- "$@" "${target_dir#${cfgsdir}/}" + done + fi + + [ ! -d "${elfdir}" ] && \ + mkdir -p ${elfdir}/ + + for target in "$@"; do + if [ "${project}" = "coreboot" ]; then + ./update blobs download ${target} || err "blobutil" + fi + build_defconfig "${target}" || continue + done + + printf "Done! The files are stored under %s/\n\n" ${elfdir} +} + +build_defconfig() +{ + target=${1} + + handle_dependencies "${target}" || return 1 + + for config in "${target_dir}/config"/*; do + config_name="${config#$target_dir/config/}" + + printf "build/%s %s: build config %s\n" \ + ${project} ${target} ${config_name} + + check_config "${target}" "${config}" || continue + build_elf "${config}" + copy_elf + done +} + +handle_dependencies() +{ + target=${1} + + target_dir="${cfgsdir}/${target}" + rm -rf "${elfdir}/${target}" + mkdir -p "${elfdir}/${target}" + + tree="undefined" + arch="undefined" + + [ ! -f "${target_dir}/target.cfg" ] && \ + err "build/${project} ${target}: Missing target.cfg" + + # Override the above defaults using target.cfg + . "${target_dir}/target.cfg" # source + + [ "${tree}" = "undefined" ] && \ + err "build/${project} %{target}: tree undefined" + [ "${arch}" = "undefined" ] && \ + err "build/${project} ${target}: undefined cpu type" + + codedir="${project}/${target}" + [ "${target}" != "${tree}" ] && \ + codedir="${project}/${tree}" + + if [ ! -d "${codedir}" ]; then + ./fetch_trees ${project} "$target" || exit 1 + fi +} + +check_config() +{ + target=${1} + config=${2} + + [ ! -f "${config}" ] && \ + err "build/${project} ${target}: configs missing" + + dest_dir="${elfdir}/${target}/${config_name}" + mkdir -p "${dest_dir}" + + printf "build/%s %s: building config %s).\n" \ + ${project} ${target} ${config_name} +} + +build_elf() +{ + config=${1} + + make -C "${codedir}" distclean || err "build_elf" + + cp "${config}" "${codedir}/.config" || err "build_elf" + make -C "${codedir}" silentoldconfig || \ + make -C "${codedir}" oldconfig || err "build_elf" + + [ "${project}" = "coreboot" ] && \ + printf "%s\n" "${our_version}" > "${codedir}/.coreboot-version" + make -C "${codedir}" -j"$(nproc)" all || err "build_elf" +} + +copy_elf() +{ + for f in $(cat "${listfile}"); do + [ -f "${codedir}/$f" ] && cp "${codedir}/${f}" "${dest_dir}/" + done + + make -C "${codedir}" distclean || err "copy_elf" +} + +err() +{ + if [ ! -z "${codedir}" ]; then + make -C "${codedir}" distclean || : + fi + + printf "build/defconfig error %s\n" "${1}" 1>&2 + exit 1 +} + +main $@ diff --git a/resources/scripts/build/payload/grub b/resources/scripts/build/payload/grub index 0734f8a9..636e9f3e 100755 --- a/resources/scripts/build/payload/grub +++ b/resources/scripts/build/payload/grub @@ -34,12 +34,12 @@ main() ./fetch grub [ ! -f "grub/grub-mkstandalone" ] && \ ./build module grub - [ ! -d "payload/" ] && \ - mkdir -p payload/ - [ ! -d "payload/grub" ] && \ - mkdir -p payload/grub/ + [ ! -d "elf/" ] && \ + mkdir -p elf/ + [ ! -d "elf/grub" ] && \ + mkdir -p elf/grub/ - rm -f payload/grub/* + rm -f elf/grub/* # Separate GRUB payload per keymap to save space in ROM. @@ -47,7 +47,7 @@ main() build_grub_payloads "${keylayoutfile}" done - printf "Done! Check payload/grub/ to see the files.\n\n" + printf "Done! Check elf/grub/ to see the files.\n\n" } build_grub_payloads() @@ -63,7 +63,7 @@ build_grub_payloads() build_grub_elf "${keylayoutfile}" create_grub_config - printf "Created 'payload/grub/grub_%s.elf' and configs.'\n" \ + printf "Created 'elf/grub/grub_%s.elf' and configs.'\n" \ "${keymap}" } @@ -77,7 +77,7 @@ build_grub_elf() grub/grub-mkstandalone \ --grub-mkimage="grub/grub-mkimage" \ -O i386-coreboot \ - -o payload/grub/grub_${keymap}.elf \ + -o elf/grub/grub_${keymap}.elf \ -d grub/grub-core/ \ --fonts= --themes= --locales= \ --modules="${grub_modules}" \ @@ -89,10 +89,10 @@ create_grub_config() { sed "s/usqwerty/${keymap}/" \ < ${grubcfgsdir}/config/grub.cfg \ - > payload/grub/grub_${keymap}.cfg + > elf/grub/grub_${keymap}.cfg sed "s/grubtest.cfg/grub.cfg/" \ - < payload/grub/grub_${keymap}.cfg \ - > payload/grub/grub_${keymap}_test.cfg + < elf/grub/grub_${keymap}.cfg \ + > elf/grub/grub_${keymap}_test.cfg } main $@ diff --git a/resources/scripts/build/payload/seabios b/resources/scripts/build/payload/seabios deleted file mode 100755 index 43973109..00000000 --- a/resources/scripts/build/payload/seabios +++ /dev/null @@ -1,84 +0,0 @@ -#!/usr/bin/env sh - -# helper script: builds SeaBIOS source code -# -# Copyright (C) 2020, 2021, 2023 Leah Rowe -# Copyright (C) 2022 Ferass El Hafidi -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . -# - -[ "x${DEBUG+set}" = 'xset' ] && set -v -set -u -e - -payloaddir="payload/seabios" -seabios_elf="seabios/out/bios.bin.elf" -seavgabios="seabios/out/vgabios.bin" - -main() -{ - printf "Building SeaBIOS payloads and SeaVGABIOS\n" - - check_dependencies - - for x in normal vgarom libgfxinit; do - build_seabios_elf "${x}" - done - - # clean it again. gotta keep it clean! - if [ -f seabios/Makefile ]; then - make distclean -BC seabios || exit 1 - fi - - printf "Done! SeaBIOS files are in %s/\n\n" ${payloaddir} -} - -check_dependencies() -{ - if [ ! -d "${payloaddir}" ]; then - mkdir -p ${payloaddir}/ || exit 1 - fi - - rm -f ${payloaddir}/* || exit 1 - - if [ ! -d "seabios/" ]; then - ./fetch seabios || exit 1 - fi -} - -build_seabios_elf() -{ - inittype=${1} - - if [ ! -f seabios/Makefile ]; then - printf "SeaBIOS not properly downloaded.\n" - exit 1 - fi - - make distclean -BC seabios || exit 1 - - cp "resources/seabios/config/${inittype}" seabios/.config - make silentoldconfig -j$(nproc) -BC seabios || exit 1 - make -j$(nproc) -BC seabios || exit 1 - - 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 $@ diff --git a/resources/scripts/build/payload/u-boot b/resources/scripts/build/payload/u-boot deleted file mode 100755 index a98d133d..00000000 --- a/resources/scripts/build/payload/u-boot +++ /dev/null @@ -1,179 +0,0 @@ -#!/usr/bin/env sh - -# helper script: builds U-Boot source code -# -# Copyright (C) 2022 Alper Nebi Yasak -# Copyright (C) 2022 Ferass El Hafidi -# Copyright (C) 2023 Leah Rowe -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -[ "x${DEBUG+set}" = 'xset' ] && set -v -set -u -e - -RET=0 -pdir="payload/u-boot" -ubdir="" -arch="" -tree="" -config_name="" -board_dir="" - -our_version="$(cat version)" -projectname="$(cat projectname)" - -export LOCALVERSION="-${projectname}-${our_version}" - -main() -{ - printf "Building U-Boot payloads\n" - - # Build for all boards if no argument is given - if [ "$#" -eq 0 ]; then - for board_dir in resources/u-boot/*; do - [ ! -d "${board_dir}/config/" ] && \ - continue - set -- "$@" "${board_dir#resources/u-boot/}" - done - fi - - [ ! -d "payload/" ] && \ - mkdir -p payload/ - [ ! -d "${pdir}" ] && \ - mkdir -p ${pdir}/ - - for board in "$@"; do - build_uboot_payloads "${board}" || continue - done - - printf "Done! U-Boot files are in %s/\n\n" ${pdir} - exit $RET -} - -build_uboot_payloads() -{ - board=${1} - - handle_dependencies "${board}" || return 1 - - for config in "${board_dir}/config"/*; do - config_name="${config#$board_dir/config/}" - - check_config "${board}" "${config}" || continue - build_uboot_elf "${config}" - - printf "build/u-boot %s: build config %s\n" \ - "${board}" "${config_name}" - done -} - -handle_dependencies() -{ - board=${1} - - board_dir="resources/u-boot/${board}" - rm -rf "${pdir}/${board}" - mkdir -p "${pdir}/${board}" - - tree="undefined" - arch="undefined" - - if [ ! -f "${board_dir}/target.cfg" ]; then - printf "build/u-boot %s: Missing target.cfg.\n" \ - "${board}" - RET=1 - return 1 - fi - - # Override the above defaults using target.cfg - . "${board_dir}/target.cfg" # source - - if [ "${tree}" = "undefined" ]; then - printf "build/u-boot %s: tree undefined\n" \ - "${board}" - RET=1 - return 1 - fi - if [ "${arch}" = "undefined" ]; then - printf "build/u-boot %s: undefined cpu type\n" \ - "${board}" - RET=1 - return 1 - fi - - ubdir="u-boot/${board}" - if [ "${board}" != "${tree}" ]; then - ubdir="u-boot/${tree}" - fi - - if [ ! -d "${ubdir}" ]; then - ./fetch_trees u-boot "$board" - fi - - if [ ! -d "${ubdir}" ]; then - printf "build/u-boot %s: uboot download failed\n" \ - "${board}" - RET=1 - return 1 - fi -} - -check_config() -{ - board=${1} - config=${2} - - if [ ! -f "${config}" ]; then - printf "build/u-boot %s: configs missing\n" \ - ${board} - RET=1 - return 1 - fi - - if [ "$config_name" = "default" ]; then - dest_dir="${pdir}/${board}" - else - dest_dir="${pdir}/${board}/${config_name}" - fi - mkdir -p "${dest_dir}" - - printf "build/u-boot %s: building config %s).\n" \ - ${board} ${config_name} -} - -build_uboot_elf() -{ - config=${1} - - make -C "${ubdir}" distclean - - cp "${config}" "${ubdir}/.config" - make -C "${ubdir}" olddefconfig - make -C "${ubdir}" -j"$(nproc)" all - - for f in "${ubdir}"/u-boot "${ubdir}"/u-boot.bin \ - "${ubdir}"/u-boot.dtb \ - "${ubdir}"/u-boot.img \ - "${ubdir}"/u-boot.itb \ - "${ubdir}"/u-boot.elf - do - if [ -f "$f" ]; then - mv "$f" "${dest_dir}/" - fi - done - - make -C "${ubdir}" distclean -} - -main $@ diff --git a/resources/scripts/modify/seabios/configs b/resources/scripts/modify/seabios/configs index fa3d1372..b07dfff8 100755 --- a/resources/scripts/modify/seabios/configs +++ b/resources/scripts/modify/seabios/configs @@ -30,7 +30,7 @@ main() download_seabios() { if [ ! -d "seabios" ]; then - ./fetch seabios + ./fetch_trees seabios fi if [ ! -d "seabios" ]; then printf "error: Failed to download SeaBIOS. " diff --git a/resources/scripts/update/seabios/configs b/resources/scripts/update/seabios/configs index 8e8377bb..91002502 100755 --- a/resources/scripts/update/seabios/configs +++ b/resources/scripts/update/seabios/configs @@ -28,7 +28,7 @@ set -u -e printf "Updating seabios configs\n" if [ ! -d "seabios" ]; then - ./fetch seabios + ./fetch_trees seabios fi if [ ! -d "seabios" ]; then diff --git a/resources/seabios/build.list b/resources/seabios/build.list new file mode 100644 index 00000000..d6fefb4e --- /dev/null +++ b/resources/seabios/build.list @@ -0,0 +1,2 @@ +out/bios.bin.elf +out/vgabios.bin diff --git a/resources/seabios/config/libgfxinit b/resources/seabios/default/config/libgfxinit similarity index 100% rename from resources/seabios/config/libgfxinit rename to resources/seabios/default/config/libgfxinit diff --git a/resources/seabios/config/normal b/resources/seabios/default/config/normal similarity index 100% rename from resources/seabios/config/normal rename to resources/seabios/default/config/normal diff --git a/resources/seabios/config/vgarom b/resources/seabios/default/config/vgarom similarity index 100% rename from resources/seabios/config/vgarom rename to resources/seabios/default/config/vgarom diff --git a/resources/seabios/default/target.cfg b/resources/seabios/default/target.cfg new file mode 100644 index 00000000..c5b428e0 --- /dev/null +++ b/resources/seabios/default/target.cfg @@ -0,0 +1,3 @@ +arch="x86_32" +tree="default" +rev="1281e340ad1d90c0cc8e8d902bb34f1871eb48cf" diff --git a/resources/u-boot/build.list b/resources/u-boot/build.list new file mode 100644 index 00000000..1bb9a446 --- /dev/null +++ b/resources/u-boot/build.list @@ -0,0 +1,5 @@ +u-boot.bin +u-boot.dtb +u-boot.img +u-boot.itb +u-boot.elf -- 2.39.2