diff options
Diffstat (limited to 'resources/scripts/build/boot/roms_helper')
-rwxr-xr-x | resources/scripts/build/boot/roms_helper | 35 |
1 files changed, 29 insertions, 6 deletions
diff --git a/resources/scripts/build/boot/roms_helper b/resources/scripts/build/boot/roms_helper index 21110e59..32a6e537 100755 --- a/resources/scripts/build/boot/roms_helper +++ b/resources/scripts/build/boot/roms_helper @@ -40,16 +40,16 @@ payloads="" keyboard_layouts="" while [ $# -gt 0 ]; do case ${1} in - -d) + -d) displaymodes="${displaymodes}${2}" shift ;; - -p) + -p) payloads="${payloads}${2}" shift ;; - -k) + -k) keyboard_layouts="${keyboard_layouts}${2}" shift ;; - *) + *) board=${1} ;; esac shift @@ -84,6 +84,8 @@ seabios_opromloadonly="0" payload_memtest="n" payload_uboot="n" uboot_config="undefined" +# ditto option whether to compile ada in crossgcc: +crossgcc_ada="y" # yes by default # Override the above defaults using board.cfg . "resources/coreboot/${board}/board.cfg" @@ -170,7 +172,13 @@ if [ "${blobs_required}" != "n" ] \ blobs_required="y" fi +# ada support needed for libgfxinit submodule +if [ "${crossgcc_ada}" != "y" ] && [ "${crossgcc_ada}" != "n" ]; then + crossgcc_ada="y" +fi + # Override all payload directives with cmdline args +# (do not override crossgcc_ada) if [ ! -z ${payloads} ]; then echo "setting payloads $payloads" payload_grub="n" @@ -203,6 +211,9 @@ fi cat version > "${cbdir}/.coreboot-version" +if [ "${crossgcc_ada}" = "n" ]; then + export BUILD_LANGUAGES=c +fi if [ "${arch}" = "x86_32" ] || [ "${arch}" = "x86_64" ]; then if [ ! -d "${cbdir}/util/crossgcc/xgcc/i386-elf/" ]; then # Even for 64-bit machines, coreboot builds 32-bit ROM @@ -334,6 +345,19 @@ moverom() { cp ${rompath} ${newrompath} fi + # pike2008 cards cause a system hang when loading option roms in seabios + # if there is an empty option rom in cbfs, no option rom will be loaded + if [ "${cuttype}" = "d8d16sas" ]; then + emptyrom=$(mktemp -t coreboot_rom.XXXXXXXXXX) + rm -f "${emptyrom}" + touch "${emptyrom}" + for deviceID in "0072" "3050"; do + "${cbfstool}" "${newrompath}" add -f "${emptyrom}" \ + -n pci1000,${deviceID}.rom -t raw + done + rm -f "${emptyrom}" + fi + for romsize in 4 8 16; do ifdgbe="descriptors/ich9m/ich9fdgbe_${romsize}m.bin" if [ "${cuttype}" = "${romsize}MiB ICH9 IFD NOR flash" ]; then @@ -390,8 +414,7 @@ mkCoreboot() { printf "Skipping build.\n" return 0 fi - printf "%s-%s\n" "$(cat projectname)" "$(cat version)" \ - > "${cbdir}/.coreboot-version" + cat version > "${cbdir}/.coreboot-version" ( if [ -f "${cbfstool}" ]; then mv "${cbfstool}" "${cbdir}/cbfstool" |