build/boot/roms_helper: further cleanup
consolidated some for loops removed errant codefsdg20230625
parent
722c844ea7
commit
6290f999e2
|
@ -31,6 +31,7 @@ set -u -e
|
||||||
|
|
||||||
projectname="$(cat projectname)"
|
projectname="$(cat projectname)"
|
||||||
|
|
||||||
|
cbcfgdir="resources/coreboot"
|
||||||
kmapdir="resources/grub/keymap"
|
kmapdir="resources/grub/keymap"
|
||||||
displaymodes=""
|
displaymodes=""
|
||||||
payloads=""
|
payloads=""
|
||||||
|
@ -55,12 +56,12 @@ done
|
||||||
printf "board is %s , kb is %s , displaymode is %s , payloads is %s\n" \
|
printf "board is %s , kb is %s , displaymode is %s , payloads is %s\n" \
|
||||||
${board} ${keyboard_layouts} ${displaymodes} ${payloads}
|
${board} ${keyboard_layouts} ${displaymodes} ${payloads}
|
||||||
|
|
||||||
if [ ! -d "resources/coreboot/${board}" ]; then
|
if [ ! -d "${cbcfgdir}/${board}" ]; then
|
||||||
printf "build/roms: Target not defined: %s\n" ${board}
|
printf "build/roms: Target not defined: %s\n" ${board}
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ ! -f "resources/coreboot/${board}/board.cfg" ]; then
|
if [ ! -f "${cbcfgdir}/${board}/board.cfg" ]; then
|
||||||
printf "build/roms: Missing board.cfg for target: %s\n" ${board}
|
printf "build/roms: Missing board.cfg for target: %s\n" ${board}
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
@ -77,12 +78,11 @@ payload_grub="n"
|
||||||
payload_grub_withseabios="n" # seabios chainloaded from grub
|
payload_grub_withseabios="n" # seabios chainloaded from grub
|
||||||
payload_seabios="n"
|
payload_seabios="n"
|
||||||
payload_seabios_withgrub="n" # i386-coreboot grub from SeaBIOS boot menu
|
payload_seabios_withgrub="n" # i386-coreboot grub from SeaBIOS boot menu
|
||||||
seabios_opromloadonly="0"
|
|
||||||
payload_memtest="n"
|
payload_memtest="n"
|
||||||
payload_uboot="n"
|
payload_uboot="n"
|
||||||
uboot_config="undefined"
|
uboot_config="undefined"
|
||||||
# Override the above defaults using board.cfg
|
# Override the above defaults using board.cfg
|
||||||
. "resources/coreboot/${board}/board.cfg"
|
. "${cbcfgdir}/${board}/board.cfg"
|
||||||
|
|
||||||
if [ "${grub_scan_disk}" = "undefined" ]; then
|
if [ "${grub_scan_disk}" = "undefined" ]; then
|
||||||
printf "build/roms: Target '%s' does not define grub_scan_disk. " \
|
printf "build/roms: Target '%s' does not define grub_scan_disk. " \
|
||||||
|
@ -114,10 +114,6 @@ if [ "${arch}" = "undefined" ]; then
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "${seabios_opromloadonly}" != "0" ] && \
|
|
||||||
[ "${seabios_opromloadonly}" != "1" ]; then
|
|
||||||
seabios_opromloadonly="0"
|
|
||||||
fi
|
|
||||||
if [ "${payload_memtest}" != "n" ] && \
|
if [ "${payload_memtest}" != "n" ] && \
|
||||||
[ "${payload_memtest}" != "y" ]; then
|
[ "${payload_memtest}" != "y" ]; then
|
||||||
payload_memtest="n"
|
payload_memtest="n"
|
||||||
|
@ -137,7 +133,7 @@ fi
|
||||||
# might have an external GPU, where it's recommended to boot SeaBIOS first
|
# might have an external GPU, where it's recommended to boot SeaBIOS first
|
||||||
if [ "${payload_grub}" != "y" ] && [ "${payload_seabios}" != "y" ] \
|
if [ "${payload_grub}" != "y" ] && [ "${payload_seabios}" != "y" ] \
|
||||||
&& [ "${payload_uboot}" != "y" ]; then
|
&& [ "${payload_uboot}" != "y" ]; then
|
||||||
for configfile in "resources/coreboot/${board}/config/"*; do
|
for configfile in "${cbcfgdir}/${board}/config/"*; do
|
||||||
if [ ! -e "${configfile}" ]; then
|
if [ ! -e "${configfile}" ]; then
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
|
@ -166,7 +162,6 @@ if [ ! -z ${payloads} ]; then
|
||||||
payload_seabios="n"
|
payload_seabios="n"
|
||||||
payload_seabios_withgrub="n" # i386-coreboot grub from SeaBIOS menu
|
payload_seabios_withgrub="n" # i386-coreboot grub from SeaBIOS menu
|
||||||
payload_uboot="n"
|
payload_uboot="n"
|
||||||
seabios_opromloadonly="0"
|
|
||||||
payload_memtest="n"
|
payload_memtest="n"
|
||||||
|
|
||||||
for payload in ${payloads} ; do
|
for payload in ${payloads} ; do
|
||||||
|
@ -355,7 +350,7 @@ moverom()
|
||||||
mkCoreboot()
|
mkCoreboot()
|
||||||
{
|
{
|
||||||
cbdir="${1}" # eg. coreboot/default
|
cbdir="${1}" # eg. coreboot/default
|
||||||
cbcfgpath="${2}" # eg. resources/coreboot/e6400nvidia_4mb/config/normal
|
cbcfgpath="${2}" # eg. ${cbcfgdir}/e6400nvidia_4mb/config/normal
|
||||||
if [ ! -f "${cbcfgpath}" ]; then
|
if [ ! -f "${cbcfgpath}" ]; then
|
||||||
printf "\nmkCoreboot: coreboot config '%s' does not exist. " \
|
printf "\nmkCoreboot: coreboot config '%s' does not exist. " \
|
||||||
${cbcfgpath}
|
${cbcfgpath}
|
||||||
|
@ -391,8 +386,7 @@ mkSeabiosRom()
|
||||||
target_cbrom="${1}" # rom to insert seabios in. will not be touched
|
target_cbrom="${1}" # rom to insert seabios in. will not be touched
|
||||||
# (a tmpfile will be made instead)
|
# (a tmpfile will be made instead)
|
||||||
target_seabios_cbfs_path="${2}" # e.g. fallback/payload
|
target_seabios_cbfs_path="${2}" # e.g. fallback/payload
|
||||||
target_opromloadonly="${3}" # TODO: purge (useless setting)
|
target_initmode="${3}" # e.g. libgfxinit
|
||||||
target_initmode="${4}" # e.g. libgfxinit
|
|
||||||
|
|
||||||
target_seabioself="payload/seabios/seabios_${target_initmode}.elf"
|
target_seabioself="payload/seabios/seabios_${target_initmode}.elf"
|
||||||
target_seavgabios_rom="payload/seabios/seavgabios.bin"
|
target_seavgabios_rom="payload/seabios/seavgabios.bin"
|
||||||
|
@ -417,8 +411,6 @@ mkSeabiosRom()
|
||||||
|
|
||||||
"${cbfstool}" "${tmprom}" add-int -i 0 -n etc/optionroms-checksum \
|
"${cbfstool}" "${tmprom}" add-int -i 0 -n etc/optionroms-checksum \
|
||||||
|| exit 1
|
|| exit 1
|
||||||
"${cbfstool}" "${tmprom}" add-int -i ${target_opromloadonly} \
|
|
||||||
-n etc/only-load-option-roms || exit 1
|
|
||||||
|
|
||||||
if [ "${target_initmode}" = "libgfxinit" ]; then
|
if [ "${target_initmode}" = "libgfxinit" ]; then
|
||||||
"${cbfstool}" "${tmprom}" add -f "${target_seavgabios_rom}" \
|
"${cbfstool}" "${tmprom}" add -f "${target_seavgabios_rom}" \
|
||||||
|
@ -523,15 +515,14 @@ mkRomsWithGrub()
|
||||||
firstpayloadname="${4}" # allow values: grub, seabios, seabios_withgrub
|
firstpayloadname="${4}" # allow values: grub, seabios, seabios_withgrub
|
||||||
|
|
||||||
x=${tmprompath}
|
x=${tmprompath}
|
||||||
y=${seabios_opromloadonly}
|
y=${initmode}
|
||||||
z=${initmode}
|
|
||||||
if [ "${payload_grub_withseabios}" = "y" ] \
|
if [ "${payload_grub_withseabios}" = "y" ] \
|
||||||
&& [ "${firstpayloadname}" = "grub" ]; then
|
&& [ "${firstpayloadname}" = "grub" ]; then
|
||||||
mv "$(mkSeabiosRom "${x}" "seabios.elf" "${y}" "${z}")" \
|
mv "$(mkSeabiosRom "${x}" "seabios.elf" "${y}")" \
|
||||||
"${tmprompath}"
|
"${tmprompath}"
|
||||||
elif [ "${payload_seabios_withgrub}" ] \
|
elif [ "${payload_seabios_withgrub}" ] \
|
||||||
&& [ "${firstpayloadname}" != "grub" ]; then
|
&& [ "${firstpayloadname}" != "grub" ]; then
|
||||||
mv "$(mkSeabiosRom "${x}" "fallback/payload" "$y" "$z")" \
|
mv "$(mkSeabiosRom "${x}" "fallback/payload" "${y}")" \
|
||||||
"${tmprompath}"
|
"${tmprompath}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -601,9 +592,8 @@ mkRoms()
|
||||||
if [ "${payload_seabios}" = "y" ]; then
|
if [ "${payload_seabios}" = "y" ]; then
|
||||||
if [ "${payload_seabios_withgrub}" = "n" ]; then
|
if [ "${payload_seabios_withgrub}" = "n" ]; then
|
||||||
x=${corebootrom}
|
x=${corebootrom}
|
||||||
y=${seabios_opromloadonly}
|
y=${initmode}
|
||||||
z=${initmode}
|
t=$(mkSeabiosRom "$x" "fallback/payload" "$y")
|
||||||
t=$(mkSeabiosRom "$x" "fallback/payload" "$y" "$z")
|
|
||||||
|
|
||||||
_newrom="${romdir}/seabios_${board}_${initmode}.rom"
|
_newrom="${romdir}/seabios_${board}_${initmode}.rom"
|
||||||
if [ "${initmode}" != "normal" ]; then
|
if [ "${initmode}" != "normal" ]; then
|
||||||
|
@ -646,37 +636,29 @@ mkRoms()
|
||||||
if [ -z ${displaymodes} ]; then
|
if [ -z ${displaymodes} ]; then
|
||||||
initmode="libgfxinit"
|
initmode="libgfxinit"
|
||||||
for displaymode in corebootfb txtmode; do
|
for displaymode in corebootfb txtmode; do
|
||||||
cbcfgpath="resources/coreboot/${board}/config/${initmode}_"
|
cbcfgpath="${cbcfgdir}/${board}/config/${initmode}_$displaymode"
|
||||||
cbcfgpath="${cbcfgpath}${displaymode}"
|
|
||||||
mkRoms "${cbcfgpath}" "${displaymode}" "${initmode}"
|
mkRoms "${cbcfgpath}" "${displaymode}" "${initmode}"
|
||||||
done
|
done
|
||||||
|
|
||||||
initmode="vgarom"
|
initmode="vgarom"
|
||||||
for displaymode in vesafb txtmode; do
|
for displaymode in vesafb txtmode; do
|
||||||
cbcfgpath="resources/coreboot/${board}/config/${initmode}_"
|
cbcfgpath="${cbcfgdir}/${board}/config/${initmode}_$displaymode"
|
||||||
cbcfgpath="${cbcfgpath}${displaymode}"
|
|
||||||
mkRoms "${cbcfgpath}" "${displaymode}" "${initmode}"
|
mkRoms "${cbcfgpath}" "${displaymode}" "${initmode}"
|
||||||
done
|
done
|
||||||
|
|
||||||
initmode="normal"
|
initmode="normal"
|
||||||
displaymode="txtmode"
|
displaymode="txtmode"
|
||||||
cbcfgpath="resources/coreboot/${board}/config/${initmode}"
|
cbcfgpath="${cbcfgdir}/${board}/config/${initmode}"
|
||||||
mkRoms "${cbcfgpath}" "${displaymode}" "${initmode}"
|
mkRoms "${cbcfgpath}" "${displaymode}" "${initmode}"
|
||||||
|
|
||||||
else
|
else
|
||||||
echo "special displaymode defined as $displaymodes"
|
echo "special displaymode defined as $displaymodes"
|
||||||
initmode="libgfxinit"
|
for initmode in vgarom libgfxinit; do
|
||||||
for displaymode in ${displaymodes}; do
|
for displaymode in ${displaymodes}; do
|
||||||
cbcfgpath="resources/coreboot/${board}/config/${initmode}_"
|
cbcfgpath="${cbcfgdir}/${board}/config/${initmode}_"
|
||||||
cbcfgpath="${cbcfgpath}${displaymode}"
|
cbcfgpath="${cbcfgpath}${displaymode}"
|
||||||
mkRoms "${cbcfgpath}" "${displaymode}" "${initmode}"
|
mkRoms "${cbcfgpath}" "${displaymode}" "${initmode}"
|
||||||
done
|
done
|
||||||
|
|
||||||
initmode="vgarom"
|
|
||||||
for displaymode in ${displaymodes}; do
|
|
||||||
cbcfgpath="resources/coreboot/${board}/config/${initmode}_"
|
|
||||||
cbcfgpath="${cbcfgpath}${displaymode}"
|
|
||||||
mkRoms "${cbcfgpath}" "${displaymode}" "${initmode}"
|
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue