diff options
Diffstat (limited to 'include/rom.sh')
-rw-r--r-- | include/rom.sh | 47 |
1 files changed, 23 insertions, 24 deletions
diff --git a/include/rom.sh b/include/rom.sh index 14c25b8f..ed3dddf2 100644 --- a/include/rom.sh +++ b/include/rom.sh @@ -26,17 +26,16 @@ mkserprog() mkpayload_grub() { - [ "$_f" = "-d" ] && return 0 # dry run eval `setvars "" grub_modules grub_install_modules` - eval `setcfg "$grubdata/module/$tree"` + $dry eval `setcfg "$grubdata/module/$tree"` - x_ rm -f "$cdir/grub.elf" + $dry x_ rm -f "$srcdir/grub.elf" - "${cdir}/grub-mkstandalone" --grub-mkimage="${cdir}/grub-mkimage" \ - -O i386-coreboot -o "${cdir}/grub.elf" -d "${cdir}/grub-core/" \ + $dry "$srcdir/grub-mkstandalone" --grub-mkimage="$srcdir/grub-mkimage" \ + -O i386-coreboot -o "$srcdir/grub.elf" -d "${srcdir}/grub-core/" \ --fonts= --themes= --locales= --modules="$grub_modules" \ --install-modules="$grub_install_modules" \ - "/boot/grub/grub_default.cfg=${cdir}/.config" \ + "/boot/grub/grub_default.cfg=${srcdir}/.config" \ "/boot/grub/grub.cfg=$grubdata/memdisk.cfg" \ "/background.png=$grubdata/background/background1280x800.png" || \ $err "$tree: cannot build grub.elf"; return 0 @@ -44,12 +43,9 @@ mkpayload_grub() mkvendorfiles() { - if [ "$_f" = "-d" ]; then - check_coreboot_utils "$tree" - elif [ "$_f" = "-b" ]; then - printf "%s\n" "${version%%-*}" > "$cdir/.coreboot-version" || \ - $err "!mk $cdir .coreboot-version" - fi + check_coreboot_utils "$tree" + printf "%s\n" "${version%%-*}" > "$srcdir/.coreboot-version" || \ + $err "!mk $srcdir .coreboot-version" [ -z "$mode" ] && [ "$target" != "$tree" ] && \ x_ ./vendor download $target; return 0 } @@ -57,6 +53,8 @@ mkvendorfiles() check_coreboot_utils() { for util in cbfstool ifdtool; do + [ "$badhash" = "n" ] || rm -f "elf/$util/$1/$util" || \ + $err "!rm badelf elf/$util/$1/$util" e "elf/$util/$1/$util" f && continue utilelfdir="elf/$util/$1" @@ -73,10 +71,9 @@ check_coreboot_utils() mkcorebootbin() { - [ "$_f" = "-d" ] && return 0 # dry run [ "$target" = "$tree" ] && return 0 - tmprom="$cdir/build/coreboot.rom" + tmprom="$srcdir/build/coreboot.rom" initmode="${defconfig##*/}"; displaymode="${initmode##*_}" initmode="${initmode%%_*}" [ -n "$displaymode" ] && displaymode="_$displaymode" @@ -86,7 +83,7 @@ mkcorebootbin() [ "$payload_uboot" = "y" ] || payload_seabios="y" [ "$payload_grub" = "y" ] && payload_seabios="y" [ "$payload_seabios" = "y" ] && [ "$payload_uboot" = "y" ] && \ - $err "$target: U-Boot and SeaBIOS/GRUB are both enabled." + $dry $err "$target: U-Boot and SeaBIOS/GRUB are both enabled." [ -z "$grub_scan_disk" ] && grub_scan_disk="nvme ahci ata" @@ -95,16 +92,19 @@ mkcorebootbin() [ "$payload_memtest" = "y" ] || payload_memtest="n" [ "$(uname -m)" = "x86_64" ] || payload_memtest="n" - - [ "$payload_seabios" = "y" ] && pname="seabios" && add_seabios - [ "$payload_uboot" = "y" ] && pname="uboot" && add_uboot - + if grep "CONFIG_PAYLOAD_NONE=y" "$defconfig"; then + [ "$payload_seabios" = "y" ] && pname="seabios" && \ + $dry add_seabios + [ "$payload_uboot" = "y" ] && pname="uboot" && $dry add_uboot + else + pname="custom" # coreboot's build system added payloads + fi newrom="bin/$target/${pname}_${target}_$initmode$displaymode.rom" - x_ mkdir -p "${newrom%/*}"; x_ mv "$tmprom" "$newrom" + $dry x_ mkdir -p "${newrom%/*}"; $dry x_ mv "$tmprom" "$newrom" [ "$XBMK_RELEASE" = "y" ] || return 0 - mksha512sum "$newrom" "vendorhashes" - ./vendor inject -r "$newrom" -b "$target" -n nuke || $err "!n $newrom" + $dry mksha512sum "$newrom" "vendorhashes"; $dry ./vendor inject \ + -r "$newrom" -b "$target" -n nuke || $err "!nuke $newrom" } add_seabios() @@ -147,7 +147,6 @@ add_uboot() mkcoreboottar() { - [ "$_f" = "-d" ] && return 0 # dry run [ "$target" = "$tree" ] && return 0; [ "$XBMK_RELEASE" = "y" ] && \ - [ "$release" != "n" ] && mkrom_tarball "bin/$target"; return 0 + [ "$release" != "n" ] && $dry mkrom_tarball "bin/$target"; return 0 } |