scripts: never exit 1, always call err instead
this same change has been applied, selectively, to certain return statements. the general rule is this: the return statement should only be used to direct logic within a script, where certain non-errors states are used to skip certain actions; the exit command should *never* be used to return non-zero, except by err(). in so doing, we ensure easier debugging of the build system also: strip_rom_image in build/release/roms was running "continue" when a rom file didn't exist, despite not being a while/for loop. i make it return (non-error condition) instead it's ok for a script to exit 0, where appropriate, but perhaps a function could also be written for it Signed-off-by: Leah Rowe <leah@libreboot.org>btrfsvols
parent
52f3fd359e
commit
4c6c7d1088
|
@ -38,7 +38,7 @@ firstoption=""
|
|||
|
||||
main()
|
||||
{
|
||||
[ $# -lt 1 ] && usage && exit 1
|
||||
[ $# -lt 1 ] && usage && err "target not specified"
|
||||
|
||||
firstoption="${1}"
|
||||
[ "${firstoption}" = "help" ] && usage && exit 0
|
||||
|
|
|
@ -115,10 +115,7 @@ if [ "${payload_grub}" != "y" ] && [ "${payload_seabios}" != "y" ] && \
|
|||
[ "${payload_uboot}" != "y" ]; then
|
||||
for configfile in "resources/coreboot/${board}/config/"*; do
|
||||
[ ! -e "${configfile}" ] && continue
|
||||
printf "ERROR build/roms: Target '%s' defines no payload. " \
|
||||
${board}
|
||||
printf "Exiting.\n"
|
||||
exit 1
|
||||
err "target '${board}' defines no payload"
|
||||
done
|
||||
fi
|
||||
|
||||
|
@ -155,7 +152,7 @@ cbfstool="cbutils/${tree}/cbfstool"
|
|||
corebootrom="${cbdir}/build/coreboot.rom"
|
||||
seavgabiosrom="elf/seabios/default/libgfxinit/vgabios.bin"
|
||||
|
||||
./build coreboot utils ${tree} || exit 1
|
||||
./build coreboot utils ${tree} || err "cannot build cbutils/${tree}"
|
||||
|
||||
if [ ! -f "${seavgabiosrom}" ] \
|
||||
|| [ ! -f elf/seabios/default/libgfxinit/bios.bin.elf ] \
|
||||
|
@ -275,16 +272,18 @@ moverom() {
|
|||
|
||||
if [ "${microcode_required}" = "n" ]; then
|
||||
_newrom_b="${newrompath%.rom}_nomicrocode.rom"
|
||||
cp "${newrompath}" "${_newrom_b}" || exit 1
|
||||
cp "${newrompath}" "${_newrom_b}" || \
|
||||
err "cannot do: cp \"${newrompath}\" \"${_newrom_b}\""
|
||||
microcode_present="y"
|
||||
"${cbfstool}" "${_newrom_b}" remove -n \
|
||||
cpu_microcode_blob.bin || microcode_present="n"
|
||||
if [ "${microcode_present}" = "n" ]; then
|
||||
rm -f "${_newrom_b}" || exit 1
|
||||
rm -f "${_newrom_b}" || err "cannot remove ${_newrom_b}"
|
||||
printf "REMARK: '%s' already lacks microcode\n" \
|
||||
${newrompath}
|
||||
printf "Renaming default ROM file instead.\n"
|
||||
mv "${newrompath}" "${_newrom_b}" || exit 1
|
||||
mv "${newrompath}" "${_newrom_b}" || \
|
||||
err "fail: mv \"${newrompath}\" \"${_newrom_b}\""
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
@ -303,26 +302,30 @@ mkSeabiosRom() {
|
|||
cp "${target_cbrom}" "${tmprom}"
|
||||
|
||||
"${cbfstool}" "${tmprom}" add-payload -f "${target_seabioself}" \
|
||||
-n ${target_seabios_cbfs_path} -c lzma || exit 1
|
||||
-n ${target_seabios_cbfs_path} -c lzma || \
|
||||
err "cannot add payload, ${target_seabioself}, to tmprom, ${tmprom}"
|
||||
|
||||
"${cbfstool}" "${tmprom}" add-int -i 3000 -n etc/ps2-keyboard-spinup \
|
||||
|| exit 1
|
||||
|| err "cannot add-int etc/ps2-keyboard-spinup to tmprom, ${tmprom}"
|
||||
|
||||
if [ "${target_initmode}" = "normal" ] || \
|
||||
[ "${target_initmode}" = "libgfxinit" ]; then
|
||||
"${cbfstool}" "${tmprom}" add-int -i 2 \
|
||||
-n etc/pci-optionrom-exec || exit 1
|
||||
-n etc/pci-optionrom-exec || \
|
||||
err "cannot add-int etc/pci-optionrom-exec 2 to tmprom"
|
||||
elif [ "${target_initmode}" = "vgarom" ]; then # coreboot executes it
|
||||
"${cbfstool}" "${tmprom}" add-int -i 0 \
|
||||
-n etc/pci-optionrom-exec || exit 1
|
||||
-n etc/pci-optionrom-exec || \
|
||||
err "cannot add-int etc/pci-optionrom-exec 0 to tmprom"
|
||||
fi # for undefined modes, don't add this integer. use SeaBIOS defaults
|
||||
|
||||
"${cbfstool}" "${tmprom}" add-int -i 0 -n etc/optionroms-checksum || \
|
||||
exit 1
|
||||
err "cannot add-int etc/optionroms-checksum 0 to tmprom"
|
||||
|
||||
[ "${target_initmode}" != "libgfxinit" ] || \
|
||||
"${cbfstool}" "${tmprom}" add -f "${seavgabiosrom}" \
|
||||
-n vgaroms/seavgabios.bin -t raw || exit 1
|
||||
-n vgaroms/seavgabios.bin -t raw || \
|
||||
err "cannot add vgaroms/seavgabios.bin to tmprom"
|
||||
|
||||
printf "%s\n" "${tmprom}"
|
||||
}
|
||||
|
@ -346,7 +349,8 @@ mkUbootRom() {
|
|||
|
||||
cp "${target_cbrom}" "${tmprom}"
|
||||
"${cbfstool}" "${tmprom}" add-payload -f "${target_ubootelf}" \
|
||||
-n ${target_uboot_cbfs_path} -c lzma || exit 1
|
||||
-n ${target_uboot_cbfs_path} -c lzma || \
|
||||
err "cannot add u-boot to tmprom"
|
||||
|
||||
printf "%s\n" "${tmprom}"
|
||||
}
|
||||
|
@ -361,11 +365,14 @@ mkGrubRom() {
|
|||
grubcfg="elf/grub/grub_${target_keymap}.cfg"
|
||||
grubtestcfg="elf/grub/grub_${target_keymap}_test.cfg"
|
||||
|
||||
tmprom=$(mktemp -t coreboot_rom.XXXXXXXXXX) || exit 1
|
||||
cp "${target_cbrom}" "${tmprom}" || exit 1
|
||||
tmprom=$(mktemp -t coreboot_rom.XXXXXXXXXX) || \
|
||||
err "mkGrubRom: cannot create tmprom"
|
||||
cp "${target_cbrom}" "${tmprom}" || \
|
||||
err "mkGrubRom: cannot copy to tmprom"
|
||||
|
||||
"${cbfstool}" "${tmprom}" add-payload -f "${grubelf}" \
|
||||
-n ${target_grubelf_cbfs_path} -c lzma || exit 1
|
||||
-n ${target_grubelf_cbfs_path} -c lzma || \
|
||||
err "mkGrubRom: cannot add grub payload to tmprom"
|
||||
|
||||
tmpgrubcfg=$(mktemp -t grub.cfg.XXXXXXXXXX)
|
||||
tmpgrubtestcfg=$(mktemp -t grubtest.cfg.XXXXXXXXXX)
|
||||
|
@ -389,10 +396,10 @@ mkGrubRom() {
|
|||
fi
|
||||
|
||||
"${cbfstool}" "${tmprom}" add -f "${tmpgrubcfg}" -n grub.cfg -t raw || \
|
||||
exit 1
|
||||
err "mkGrubRom: cannot add grub.cfg to tmprom"
|
||||
|
||||
"${cbfstool}" "${tmprom}" add -f "${tmpgrubtestcfg}" -n grubtest.cfg \
|
||||
-t raw || exit 1
|
||||
-t raw || err "mkGrubRom: cannot add grubtest.cfg to tmprom"
|
||||
rm -f "${tmpgrubcfg}" "${tmpgrubtestcfg}"
|
||||
|
||||
backgroundfile="background1280x800.png"
|
||||
|
@ -402,7 +409,7 @@ mkGrubRom() {
|
|||
fi
|
||||
backgroundfile="resources/grub/background/${backgroundfile}"
|
||||
"${cbfstool}" "${tmprom}" add -f ${backgroundfile} -n background.png \
|
||||
-t raw || exit 1
|
||||
-t raw || err "mkGrubRom: cannot add background.png to tmprom"
|
||||
|
||||
printf "%s\n" "${tmprom}"
|
||||
}
|
||||
|
@ -491,8 +498,8 @@ mkRoms()
|
|||
|
||||
if [ "${payload_memtest}" = "y" ]; then
|
||||
"${cbfstool}" "${corebootrom}" add-payload \
|
||||
-f ${memtest_bin} -n img/memtest \
|
||||
-c lzma || exit 1
|
||||
-f ${memtest_bin} -n img/memtest -c lzma || \
|
||||
err "mkRoms: cannot add img/memtest to coreboot rom"
|
||||
fi
|
||||
|
||||
if [ "${payload_seabios}" = "y" ]; then
|
||||
|
|
|
@ -21,16 +21,18 @@
|
|||
[ "x${DEBUG+set}" = 'xset' ] && set -v
|
||||
set -u -e
|
||||
|
||||
. "include/err.sh"
|
||||
|
||||
# clean bucts
|
||||
# --------------------------------------------------------
|
||||
|
||||
printf "Cleaning the previous builds of seabios\n"
|
||||
|
||||
rm -Rf elf/seabios || exit 1
|
||||
[ ! -d "elf/seabios" ] || rm -Rf elf/seabios || err "cannot remove elf/seabios"
|
||||
[ ! -d "seabios/" ] && exit 0
|
||||
|
||||
for x in seabios/*; do
|
||||
[ "${x}" = "seabios/seabios" ] && continue
|
||||
[ ! -d "${x}" ] && continue
|
||||
make -C "${x}" distclean || exit 1
|
||||
make -C "${x}" distclean || err "cannot distclean tree, ${x}"
|
||||
done
|
||||
|
|
|
@ -27,12 +27,14 @@ main()
|
|||
{
|
||||
if [ $# -gt 0 ]; then
|
||||
for board in "${@}"; do
|
||||
build_for_mainboard ${board} || exit 1
|
||||
build_for_mainboard ${board} || \
|
||||
err "cannot build cbutils for target, ${board}"
|
||||
done
|
||||
else
|
||||
for boarddir in resources/coreboot/*; do
|
||||
[ ! -d "${boarddir}" ] && continue
|
||||
build_for_mainboard ${boarddir##*/} || exit 1
|
||||
build_for_mainboard ${boarddir##*/} || \
|
||||
err "cannot build cbutils for target, ${board}"
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
|
|
@ -27,7 +27,7 @@ set -u -e
|
|||
main()
|
||||
{
|
||||
printf "Building GRUB\n"
|
||||
[ -d "grub/" ] || ./fetch grub || exit 1
|
||||
[ -d "grub/" ] || ./fetch grub || err "cannot fetch grub"
|
||||
build_grub
|
||||
}
|
||||
|
||||
|
|
|
@ -116,8 +116,10 @@ strip_archive()
|
|||
romdir=${1}
|
||||
|
||||
[ -d coreboot/${tree} ] || \
|
||||
./fetch_trees coreboot ${tree} || exit 1
|
||||
./build coreboot utils ${tree} || exit 1
|
||||
./fetch_trees coreboot ${tree} || \
|
||||
err "cannot fetch source tree, coreboot/${tree}"
|
||||
./build coreboot utils ${tree} || \
|
||||
err "cannot build utils for coreboot/${tree}"
|
||||
|
||||
rm -Rf "${romdir}_tmp" # dirty hack, to reduce disk io later
|
||||
# rather than using /tmp, which might not be tmpfs
|
||||
|
@ -141,30 +143,36 @@ strip_rom_image()
|
|||
{
|
||||
romfile=${1}
|
||||
|
||||
[ -f "${romfile}" ] || continue
|
||||
[ -f "${romfile}" ] || return 0
|
||||
|
||||
if [ "${CONFIG_HAVE_ME_BIN}" = "y" ]; then
|
||||
${ifdtool} --nuke me "${romfile}" || exit 1
|
||||
${ifdtool} --nuke me "${romfile}" || \
|
||||
err "cannot nuke Intel ME region on file, ${romfile}"
|
||||
mv "${romfile}" "${romdir}_tmp"/
|
||||
mv "${romfile}.new" "${romfile}"
|
||||
fi
|
||||
|
||||
if [ "${CONFIG_HAVE_MRC}" = "y" ]; then
|
||||
${cbfstool} "${romfile}" remove -n mrc.bin || exit 1
|
||||
${cbfstool} "${romfile}" print
|
||||
${cbfstool} "${romfile}" remove -n mrc.bin || \
|
||||
err "cannot remove mrc.bin from file, ${romfile}"
|
||||
${cbfstool} "${romfile}" print || :
|
||||
fi
|
||||
|
||||
if [ "${CONFIG_KBC1126_FIRMWARE}" = "y" ]; then
|
||||
${cbfstool} "${romfile}" remove -n ecfw1.bin || exit 1
|
||||
${cbfstool} "${romfile}" remove -n ecfw2.bin || exit 1
|
||||
${cbfstool} "${romfile}" remove -n ecfw1.bin || \
|
||||
err "cannot remove ecfw1.bin from file, ${romfile}"
|
||||
${cbfstool} "${romfile}" remove -n ecfw2.bin || \
|
||||
err "cannot remove ecfw2.bin from file, ${romfile}"
|
||||
fi
|
||||
|
||||
[ "${CONFIG_INCLUDE_SMSC_SCH5545_EC_FW}" != "y" ] || \
|
||||
${cbfstool} "${romfile}" remove -n sch5545_ecfw.bin || exit 1
|
||||
${cbfstool} "${romfile}" remove -n sch5545_ecfw.bin || \
|
||||
err "cannot remove sch5545_ecfw.bin from file, ${romfile}"
|
||||
|
||||
# TODO: replace this board-specific hack
|
||||
[ "${target}" != "e6400nvidia_4mb" ] || \
|
||||
${cbfstool} "${romfile}" remove -n "pci10de,06eb.rom" || exit 1
|
||||
${cbfstool} "${romfile}" remove -n "pci10de,06eb.rom" || \
|
||||
err "cannot remove pci10de,06eb.rom from file, ${romfile}"
|
||||
}
|
||||
|
||||
main $@
|
||||
|
|
|
@ -93,7 +93,7 @@ main()
|
|||
"${mode}" "${project}" "${target}"
|
||||
[ "${project}" != "coreboot" ] || [ "${mode}" != "all" ] || \
|
||||
./update blobs download ${target} || fail "blobutil"
|
||||
handle_defconfig || exit 1
|
||||
handle_defconfig || err "error handling config file"
|
||||
done
|
||||
|
||||
[ "${mode}" = "all" ] && \
|
||||
|
@ -102,10 +102,11 @@ main()
|
|||
|
||||
handle_defconfig()
|
||||
{
|
||||
handle_dependencies "${target}" || return 1
|
||||
handle_dependencies "${target}" || \
|
||||
fail "handle_defconfig: failed call to handle_dependencies"
|
||||
|
||||
for y in "${target_dir}/config"/*; do
|
||||
[ ! -f "${y}" ] && continue
|
||||
[ -f "${y}" ] || continue
|
||||
config="${y}"
|
||||
config_name="${config#$target_dir/config/}"
|
||||
|
||||
|
@ -139,7 +140,8 @@ handle_dependencies()
|
|||
|
||||
codedir="${project}/${tree}"
|
||||
[ -d "${codedir}" ] || \
|
||||
./fetch_trees "${project}" "$target" || exit 1
|
||||
./fetch_trees "${project}" "$target" || \
|
||||
fail "cannot fetch source tree, ${project}/${target}"
|
||||
|
||||
# u-boot and coreboot are both compiled with coreboot's crossgcc
|
||||
if [ "${project}" = "coreboot" ] || [ "${project}" = "u-boot" ]; then
|
||||
|
|
|
@ -237,7 +237,7 @@ bruteforce_extract_blob_intel_me()
|
|||
|
||||
(
|
||||
printf "Entering %s\n" "${cdir}"
|
||||
cd "${cdir}" || exit 1
|
||||
cd "${cdir}" || err "cannot enter directory, ${cdir}"
|
||||
for i in *; do
|
||||
if [ -f "${_me_destination}" ]; then
|
||||
# me.bin found, so avoid needless further traversal
|
||||
|
@ -406,7 +406,8 @@ extract_sch5545ec()
|
|||
|
||||
mkdir -p "${appdir}/"
|
||||
cp "${dl_path}" "${appdir}/"
|
||||
python "${pfs_extract}" "${appdir}/${dlsum}" -e || exit 1
|
||||
python "${pfs_extract}" "${appdir}/${dlsum}" -e || \
|
||||
err "cannot extract archive (dell, sch5545)"
|
||||
|
||||
# full system ROM (UEFI), to extract with UEFIExtract:
|
||||
_bios="${appdir}/${dlsum}_extracted/Firmware"
|
||||
|
@ -418,9 +419,10 @@ extract_sch5545ec()
|
|||
_sch5545ec_fw="${_sch5545ec_fw}/0 Raw section/body.bin" # <-- this!
|
||||
|
||||
# this makes the file defined by _sch5545ec_fw available to copy
|
||||
"${uefiextract}" "${_bios}" || exit 1
|
||||
"${uefiextract}" "${_bios}" || err "cannot extract dell uefi image"
|
||||
|
||||
cp "${_sch5545ec_fw}" "${_sch5545ec_destination}" || exit 1
|
||||
cp "${_sch5545ec_fw}" "${_sch5545ec_destination}" || \
|
||||
err "cannot copy sch5545ec firmware file"
|
||||
}
|
||||
|
||||
fetch_update()
|
||||
|
|
|
@ -74,17 +74,16 @@ check_board()
|
|||
{
|
||||
if ! check_release ${archive} ; then
|
||||
[ -f "${rom}" ] || \
|
||||
err "${rom} is not a valid path"
|
||||
err "\"${rom}\" is not a valid path"
|
||||
[ -z ${rom+x} ] && \
|
||||
err 'no rom specified'
|
||||
err "no rom specified"
|
||||
[ ! -z ${board+x} ] || \
|
||||
board=$(detect_board ${rom}) || \
|
||||
err 'no board specified'
|
||||
err "no board specified"
|
||||
else
|
||||
release=true
|
||||
releasearchive="${archive}"
|
||||
board=$(detect_board ${archive}) || \
|
||||
err 'Could not detect board type'
|
||||
board=$(detect_board ${archive})
|
||||
fi
|
||||
|
||||
boarddir="${cbcfgsdir}/${board}"
|
||||
|
@ -113,9 +112,10 @@ detect_board()
|
|||
_stripped_prefix=${filename#*_}
|
||||
board="${_stripped_prefix%.tar.xz}" ;;
|
||||
*)
|
||||
return 1
|
||||
err "detect_board: could not detect board type"
|
||||
esac
|
||||
[ -d "${boarddir}/" ] || return 1
|
||||
[ -d "${boarddir}/" ] || \
|
||||
err "detect_board: dir, ${boarddir}, doesn't exist"
|
||||
printf '%s\n' "${board}"
|
||||
}
|
||||
|
||||
|
@ -216,7 +216,7 @@ inject_blob_intel_mrc()
|
|||
# TODO: this logic should be tweaked to handle more platforms
|
||||
|
||||
${cbfstool} ${rom} add -f mrc/haswell/mrc.bin -n mrc.bin -t mrc \
|
||||
-b 0xfffa0000 || exit 1
|
||||
-b 0xfffa0000 || err "cannot insert mrc.bin"
|
||||
}
|
||||
|
||||
inject_blob_intel_me()
|
||||
|
@ -231,7 +231,8 @@ inject_blob_intel_me()
|
|||
[ ! -f "${_me_location}" ] && \
|
||||
err "CONFIG_ME_BIN_PATH points to missing file"
|
||||
|
||||
${ifdtool} -i me:${_me_location} ${rom} -O ${rom} || exit 1
|
||||
${ifdtool} -i me:${_me_location} ${rom} -O ${rom} || \
|
||||
err "cannot insert me.bin"
|
||||
}
|
||||
|
||||
inject_blob_hp_kbc1126_ec()
|
||||
|
@ -246,24 +247,19 @@ inject_blob_hp_kbc1126_ec()
|
|||
printf "adding hp kbc1126 ec firmware\n"
|
||||
|
||||
if [ "${_ec1_offset}" = "" ] || [ "${_ec1_offset}" = "" ]; then
|
||||
printf "EC offsets not declared for board: %s\n" \
|
||||
"${board}"
|
||||
exit 1
|
||||
err "EC offsets not declared for board, ${board}"
|
||||
fi
|
||||
if [ "${_ec1_location}" = "" ] || [ "${_ec2_location}" = "" ]; then
|
||||
printf "EC firmware path not declared for board: %s\n" \
|
||||
"${board}"
|
||||
err "EC firmware path not declared for board, ${board}"
|
||||
fi
|
||||
if [ ! -f "${_ec1_location}" ] || [ ! -f "${_ec2_location}" ]; then
|
||||
printf "EC firmware not downloaded for board: %s\n" \
|
||||
"${board}"
|
||||
exit 1
|
||||
err "EC firmware not downloaded for board: ${board}"
|
||||
fi
|
||||
|
||||
${cbfstool} "${rom}" add -f ${_ec1_location} -n ecfw1.bin \
|
||||
-b ${_ec1_offset} -t raw || exit 1
|
||||
-b ${_ec1_offset} -t raw || err "cannot insert ecfw1.bin"
|
||||
${cbfstool} "${rom}" add -f ${_ec2_location} -n ecfw2.bin \
|
||||
-b ${_ec2_offset} -t raw || exit 1
|
||||
-b ${_ec2_offset} -t raw || err "cannot insert ecfw2.bin"
|
||||
}
|
||||
|
||||
inject_blob_dell_e6400_vgarom_nvidia()
|
||||
|
@ -277,17 +273,15 @@ inject_blob_dell_e6400_vgarom_nvidia()
|
|||
printf "adding pci option rom\n"
|
||||
|
||||
if [ "${_vga_dir}" != "${pciromsdir}" ]; then
|
||||
printf "Invalid PCI ROM directory: %s\n" ${_vga_dir}
|
||||
exit 1
|
||||
err "Invalid PCI ROM directory, ${_vga_dir}"
|
||||
fi
|
||||
if [ ! -f "${_vga_location}" ]; then
|
||||
printf "No such file exists: %s\n" ${_vga_location}
|
||||
exit 1
|
||||
err "No such file exists, ${_vga_location}"
|
||||
fi
|
||||
|
||||
${cbfstool} ${rom} add -f "${_vga_location}" \
|
||||
-n "pci${CONFIG_VGA_BIOS_ID}.rom" \
|
||||
-t optionrom || exit 1
|
||||
-n "pci${CONFIG_VGA_BIOS_ID}.rom" -t optionrom || \
|
||||
err "cannot insert e6400 nvidia rom"
|
||||
}
|
||||
|
||||
inject_blob_smsc_sch5545_ec()
|
||||
|
@ -297,12 +291,11 @@ inject_blob_smsc_sch5545_ec()
|
|||
_sch5545ec_location="${CONFIG_SMSC_SCH5545_EC_FW_FILE#../../}"
|
||||
|
||||
if [ ! -f "${_sch5545ec_location}" ]; then
|
||||
printf "SCH5545 firmware file missing\n" 1>&2
|
||||
exit 1
|
||||
err "SCH5545 firmware file missing"
|
||||
fi
|
||||
|
||||
"${cbfstool}" "${rom}" add -f "${_sch5545ec_location}" \
|
||||
-n sch5545_ecfw.bin -t raw || exit 1
|
||||
-n sch5545_ecfw.bin -t raw || err "cannot insert sch5545_ecfw.bin"
|
||||
}
|
||||
|
||||
modify_gbe()
|
||||
|
@ -326,7 +319,8 @@ modify_gbe()
|
|||
${nvmutil} "${_gbe_tmp}" setmac ${new_mac} || \
|
||||
err 'failed to modify mac address'
|
||||
|
||||
${ifdtool} -i GbE:${_gbe_tmp} "${rom}" -O "${rom}" || exit 1
|
||||
${ifdtool} -i GbE:${_gbe_tmp} "${rom}" -O "${rom}" || \
|
||||
err "cannot insert modified gbe.bin"
|
||||
|
||||
rm -f ${_gbe_tmp}
|
||||
}
|
||||
|
|
|
@ -53,33 +53,33 @@ main()
|
|||
sname=${0}
|
||||
printf "Downloading Intel MRC blobs\n"
|
||||
|
||||
check_existing && exit 0
|
||||
build_dependencies || err "could not build dependencies"
|
||||
check_existing || return 0
|
||||
build_dependencies
|
||||
fetch_mrc || err "could not fetch mrc.bin"
|
||||
}
|
||||
|
||||
check_existing()
|
||||
{
|
||||
[ -f ${_mrc_complete} ] || \
|
||||
return 1
|
||||
return 0
|
||||
printf 'found existing mrc.bin\n'
|
||||
[ "$(sha1sum ${_mrc_complete} | awk '{print $1}')" \
|
||||
= "${_mrc_complete_hash}" ] && \
|
||||
return 0
|
||||
return 1
|
||||
printf 'hashes did not match, starting over\n'
|
||||
return 1
|
||||
}
|
||||
|
||||
build_dependencies()
|
||||
{
|
||||
[ -d "${cbdir}/" ] || ./fetch_trees coreboot default || return 1
|
||||
./build coreboot utils default || return 1
|
||||
return 0
|
||||
[ -d "${cbdir}/" ] || ./fetch_trees coreboot default || \
|
||||
err "cannot fetch coreboot/default"
|
||||
./build coreboot utils default || \
|
||||
err "cannot build cbutils/default"
|
||||
}
|
||||
|
||||
fetch_mrc()
|
||||
{
|
||||
mkdir -p mrc/haswell/ || return 1
|
||||
mkdir -p mrc/haswell/ || err "cannot mkdir mrc/haswell"
|
||||
|
||||
(
|
||||
cd mrc/haswell/
|
||||
|
@ -102,8 +102,6 @@ fetch_mrc()
|
|||
|
||||
printf "\n\nmrc.bin saved to ${_mrc_complete}\n\n"
|
||||
)
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
download_image()
|
||||
|
@ -122,8 +120,7 @@ download_image()
|
|||
return 0
|
||||
fi
|
||||
rm "${_file}.zip"
|
||||
printf "Bad checksum. Recovery image deleted.\n"
|
||||
return 1
|
||||
err "Bad checksum. Recovery image deleted"
|
||||
}
|
||||
|
||||
extract_partition()
|
||||
|
|
Loading…
Reference in New Issue