summaryrefslogtreecommitdiff
path: root/include/rom.sh
diff options
context:
space:
mode:
Diffstat (limited to 'include/rom.sh')
-rw-r--r--include/rom.sh45
1 files changed, 20 insertions, 25 deletions
diff --git a/include/rom.sh b/include/rom.sh
index 7102953f..710df853 100644
--- a/include/rom.sh
+++ b/include/rom.sh
@@ -12,7 +12,8 @@ mkserprog()
[ "$1" = "pico" ] && mkpicotool
- basename -as .h "$serdir/"*.h > "$TMPDIR/ser" || $err "!mk $1 $TMPDIR"
+ basename -as .h "$serdir/"*.h > "$xbmktmp/ser" || \
+ $err "!mk $1 $xbmktmp"
while read -r sertarget; do
[ "$1" = "pico" ] &&
@@ -31,7 +32,7 @@ mkserprog()
"$sersrc" BOARD=$sertarget
x_ mkdir -p "bin/serprog_$1"
x_ mv "$serx" "bin/serprog_$1/serprog_$sertarget.${serx##*.}"
- done < "$TMPDIR/ser"
+ done < "$xbmktmp/ser"
[ "$XBMK_RELEASE" = "y" ] && mkrom_tarball "bin/serprog_$1"; :
}
@@ -41,10 +42,9 @@ mkpicotool()
rm -Rf "$picotool" || $err "Can't remove picotool builddir"
(
x_ cd src/picotool
- cmake -DCMAKE_INSTALL_PREFIX=xbmkbin -DPICOTOOL_FLAT_INSTALL=1 \
- -DPICO_SDK_PATH=../pico-sdk || \
- $err "Can't prep picotool"
- make install || $err "Can't build picotool"; :
+ x_ cmake -DCMAKE_INSTALL_PREFIX=xbmkbin -DPICOTOOL_FLAT_INSTALL=1 \
+ -DPICO_SDK_PATH=../pico-sdk
+ x_ make install
) || $err "Can't build picotool"; :
}
@@ -64,13 +64,12 @@ mkpayload_grub()
eval "`setvars "" grub_modules grub_install_modules`"
$dry eval "`setcfg "$grubdata/module/$tree"`"
$dry x_ rm -f "$srcdir/grub.elf"; $dry \
- "$srcdir/grub-mkstandalone" --grub-mkimage="$srcdir/grub-mkimage" \
+ x_ "$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=${srcdir}/.config" \
- "/boot/grub/grub.cfg=$grubdata/memdisk.cfg" || \
- $err "$tree: cannot build grub.elf"; :
+ "/boot/grub/grub.cfg=$grubdata/memdisk.cfg"; :
}
mkvendorfiles()
@@ -117,7 +116,7 @@ mkcorebootbin()
{
[ "$target" = "$tree" ] && return 0
- tmprom="$TMPDIR/coreboot.rom"
+ tmprom="$xbmktmp/coreboot.rom"
$dry x_ cp "$srcdir/build/coreboot.rom" "$tmprom"
initmode="${defconfig##*/}"
@@ -160,7 +159,8 @@ mkcorebootbin()
$dry add_seabios
[ "$payload_uboot" = "y" ] && pname="uboot" && $dry add_uboot
else
- pname="custom" && $dry cprom; :
+ pname="custom"
+ $dry cprom
fi; :
}
@@ -172,14 +172,13 @@ add_seabios()
fi
_seabioself="elf/seabios/default/$initmode/bios.bin.elf"
-
_seaname="fallback/payload" && [ "$payload_grubsea" = "y" ] && \
_seaname="seabios.elf"
+
cbfs "$tmprom" "$_seabioself" "$_seaname"
x_ "$cbfstool" "$tmprom" add-int -i 3000 -n etc/ps2-keyboard-spinup
- _z="2"
- [ "$initmode" = "vgarom" ] && _z="0"
+ _z="2" && [ "$initmode" = "vgarom" ] && _z="0"
x_ "$cbfstool" "$tmprom" add-int -i $_z -n etc/pci-optionrom-exec
x_ "$cbfstool" "$tmprom" add-int -i 0 -n etc/optionroms-checksum
[ "$initmode" = "libgfxinit" ] && \
@@ -203,8 +202,8 @@ add_grub()
_grubname="fallback/payload"
cbfs "$tmprom" "$grubelf" "$_grubname"
printf "set grub_scan_disk=\"%s\"\n" "$grub_scan_disk" \
- > "$TMPDIR/tmpcfg" || $err "$target: !insert scandisk"
- cbfs "$tmprom" "$TMPDIR/tmpcfg" scan.cfg raw
+ > "$xbmktmp/tmpcfg" || $err "$target: !insert scandisk"
+ cbfs "$tmprom" "$xbmktmp/tmpcfg" scan.cfg raw
[ "$initmode" != "normal" ] && [ "$displaymode" != "txtmode" ] && \
cbfs "$tmprom" "$grubdata/background/background1280x800.png" \
"background.png" raw; :
@@ -212,11 +211,9 @@ add_grub()
mkseagrub()
{
- if [ "$payload_grubsea" = "y" ]; then
- pname="grub"
- else
- cbfs "$tmprom" "$grubdata/bootorder" bootorder raw
- fi
+ [ "$payload_grubsea" = "y" ] && pname="grub"
+ [ "$payload_grubsea" = "y" ] || \
+ cbfs "$tmprom" "$grubdata/bootorder" bootorder raw
for keymap in config/data/grub/keymap/*.gkb; do
[ -f "$keymap" ] && cprom "${keymap##*/}"; :
done; :
@@ -262,7 +259,6 @@ add_uboot()
[ "$payload_uboot_amd64" = "y" ] && \
ubootelf="$ubdir/u-boot-x86-with-spl.bin" # EFI-compatible
- [ -f "$ubootelf" ] || $err "cb/$ubtarget: Can't find u-boot"
cbfs "$tmprom" "$ubootelf" "$ubpath" $ubcbfsargs
[ "$payload_seabios" = "y" ] || cprom; :
}
@@ -286,8 +282,7 @@ mkcoreboottar()
[ "$target" = "$tree" ] && return 0
[ "$XBMK_RELEASE" = "y" ] || return 0
[ "$release" != "n" ] || return 0
+
$dry mkrom_tarball "bin/$target"
- $dry ./mk inject "bin/${relname}_${target}.tar.xz" nuke || \
- $err "Can't delete vendorfiles in 'bin/${relname}_$target.tar.xz'"
- return 0
+ $dry x_ ./mk inject "bin/${relname}_${target}.tar.xz" nuke; :
}