diff options
Diffstat (limited to 'resources/scripts/build/boot')
-rwxr-xr-x | resources/scripts/build/boot/roms_helper | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/resources/scripts/build/boot/roms_helper b/resources/scripts/build/boot/roms_helper index 97178593..8e1655a5 100755 --- a/resources/scripts/build/boot/roms_helper +++ b/resources/scripts/build/boot/roms_helper @@ -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 |