diff options
Diffstat (limited to 'script')
-rwxr-xr-x | script/build/grub (renamed from script/build/fw/grub) | 2 | ||||
-rwxr-xr-x | script/build/roms (renamed from script/build/fw/coreboot) | 48 | ||||
-rwxr-xr-x | script/build/serprog (renamed from script/build/fw/serprog) | 4 | ||||
-rwxr-xr-x | script/update/release (renamed from script/update/project/release) | 16 | ||||
-rwxr-xr-x | script/update/trees (renamed from script/update/project/trees) | 79 | ||||
-rwxr-xr-x | script/vendor/download (renamed from script/update/vendor/download) | 24 | ||||
-rwxr-xr-x | script/vendor/inject (renamed from script/update/vendor/inject) | 48 |
7 files changed, 100 insertions, 121 deletions
diff --git a/script/build/fw/grub b/script/build/grub index 66286732..ba0845d3 100755 --- a/script/build/fw/grub +++ b/script/build/grub @@ -23,7 +23,7 @@ main() handle_dependencies() { - [ -d "src/grub" ] || x_ ./update project trees -f grub + [ -d "src/grub" ] || x_ ./update trees -f grub [ -f "src/grub/grub-mkstandalone" ] || build_grub_utils x_ mkdir -p "${elfdir}" x_ rm -f "${elfdir}/"* diff --git a/script/build/fw/coreboot b/script/build/roms index 9e266ce7..2f7b93da 100755 --- a/script/build/fw/coreboot +++ b/script/build/roms @@ -25,15 +25,14 @@ pv="${pv} payload_seabios_withgrub payload_uboot memtest_bin" v="romdir cbrom initmode displaymode cbcfg targetdir tree arch" v="${v} grub_timeout ubdir vendorfiles board grub_scan_disk uboot_config" eval "$(setvars "n" ${pv})" -eval "$(setvars "" ${v})" -eval "$(setvars "" boards _displaymode _payload _keyboard all targets)" +eval "$(setvars "" ${v} boards _displaymode _payload _keyboard all targets)" main() { while [ $# -gt 0 ]; do case ${1} in help) usage && exit 0 ;; - list) listitems config/coreboot && exit 0 ;; + list) items config/coreboot && exit 0 ;; -d) _displaymode="${2}" ;; -p) _payload="${2}" ;; -k) _keyboard="${2}" ;; @@ -45,7 +44,7 @@ main() shift 2 done - [ "${all}" != "y" ] || boards=$(listitems config/coreboot) || \ + [ "${all}" != "y" ] || boards=$(items config/coreboot) || \ err "Cannot generate list of boards for building" for x in ${boards}; do @@ -63,11 +62,7 @@ main() printf "\nROM images available in these directories:\n" printf "${targets}^^ ROM images available in these directories.\n\n" - printf "WARNING!!!!!!! PLEASE READ:\n\n" - - printf "DO NOT flash ROM images contained under elf/, because they lack" - printf " payloads and will BRICK your machine. Please flash ROM images" - printf " contained under bin/ instead. YOU HAVE BEEN WARNED.\n\n" + printf "DO NOT flash ROM images from elf/ - please use bin/ instead.\n" } check_target() @@ -133,13 +128,13 @@ prepare_target() cbrom="${cbdir}/build/coreboot.rom" [ -f "${cbfstool}" ] || \ - x_ ./update project trees -b coreboot utils ${tree} + x_ ./update trees -b coreboot utils ${tree} build_dependency_seabios memtest_bin="memtest86plus/build64/memtest.bin" [ "${payload_memtest}" != "y" ] || [ -f "src/${memtest_bin}" ] || \ - x_ ./update project trees -b memtest86plus + x_ ./update trees -b memtest86plus x_ rm -f "${romdir}/"* @@ -151,13 +146,12 @@ prepare_target() build_dependency_seabios() { [ "${payload_seabios}" = "y" ] || return 0 + [ -f "${seavgabiosrom}" ] && \ + [ -f elf/seabios/default/libgfxinit/bios.bin.elf ] && \ + [ -f elf/seabios/default/vgarom/bios.bin.elf ] && \ + [ -f elf/seabios/default/normal/bios.bin.elf ] && return 0 - if [ ! -f "${seavgabiosrom}" ] \ - || [ ! -f elf/seabios/default/libgfxinit/bios.bin.elf ] \ - || [ ! -f elf/seabios/default/vgarom/bios.bin.elf ] \ - || [ ! -f elf/seabios/default/normal/bios.bin.elf ]; then - x_ ./update project trees -b seabios - fi + x_ ./update trees -b seabios } build_dependency_grub() @@ -177,14 +171,14 @@ build_dependency_grub() rebuild_grub="y" && break done [ "${rebuild_grub}" = "y" ] || return 0 - x_ ./build fw grub + x_ ./build grub } build_dependency_uboot() { [ "${payload_uboot}" = "y" ] || return 0 - x_ ./update project trees -b u-boot ${board} + x_ ./update trees -b u-boot ${board} ubdir="elf/u-boot/${board}/${uboot_config}" ubootelf="${ubdir}/u-boot.elf" [ ! -f "${ubootelf}" ] && [ -f "${ubdir}/u-boot" ] && \ @@ -221,7 +215,7 @@ build_roms() "${cbcfg}" "${board}" "${displaymode}" "${initmode}" \ 1>&2 && return 0 - x_ ./update project trees -b coreboot ${board} + x_ ./update trees -b coreboot ${board} _cbrom="elf/coreboot_nopayload_DO_NOT_FLASH/${board}/${initmode}_${displaymode}" [ "${initmode}" = "normal" ] && \ @@ -397,9 +391,9 @@ moverom() { usage() { cat <<- EOF - USAGE: ./build fw coreboot targetname - To build *all* boards, do this: ./build fw coreboot all - To list *all* boards, do this: ./build fw coreboot list + USAGE: ./build roms targetname + To build *all* boards, do this: ./build roms all + To list *all* boards, do this: ./build roms list Optional Flags: -d: displaymode @@ -408,12 +402,12 @@ usage() Example commands: - ./build fw coreboot x60 - ./build fw coreboot x200_8mb x60 - ./build fw coreboot x60 -p grub -d corebootfb -k usqwerty + ./build roms x60 + ./build roms x200_8mb x60 + ./build roms x60 -p grub -d corebootfb -k usqwerty possible values for 'target': - $(listitems "config/coreboot") + $(items "config/coreboot") Refer to the ${projectname} documentation for more information. EOF diff --git a/script/build/fw/serprog b/script/build/serprog index eb0e5ede..43251acd 100755 --- a/script/build/fw/serprog +++ b/script/build/serprog @@ -22,12 +22,12 @@ main() platform="rp2040" boards_dir=${pico_sdk_dir}/src/boards/include/boards [ -d "${pico_src_dir}/" ] || \ - x_ ./update project trees -f "rpi-pico-serprog" + x_ ./update trees -f "rpi-pico-serprog" elif [ "${1}" = "stm32" ]; then platform="stm32" boards_dir=${stm32_src_dir}/boards [ -d "${stm32_src_dir}/" ] || \ - x_ ./update project trees -f "stm32-vserprog" + x_ ./update trees -f "stm32-vserprog" else err "${usage}" fi diff --git a/script/update/project/release b/script/update/release index e7973537..6188d793 100755 --- a/script/update/project/release +++ b/script/update/release @@ -46,7 +46,7 @@ mkvdir() git clone . "${srcdir}" || err "mkdir: !gitclone \"${srcdir}\"" [ -z "${_nogit}" ] || x_ rm -Rf ".git" - rm -Rf "${srcdir}/.git" + rm -Rf "${srcdir}/.git" || err "mkvdir: !rm -Rf ${srcdir}/.git" insert_version_files "${srcdir}" || err "mkvdir ${srcdir}: versionfile" } @@ -87,7 +87,7 @@ build_release() fetch_trees() { for x in ${_f}; do - ./update project trees -f "${x}" || err "${_xm}: fetch ${x}" + ./update trees -f "${x}" || err "${_xm}: fetch ${x}" done for x in config/*/build.list; do [ -f "${x}" ] || continue @@ -101,9 +101,9 @@ fetch_trees() mkrom_images() { - ./build fw coreboot all || err "${_xm}: roms-all" - ./build fw serprog rp2040 || err "${_xm}: rp2040" - ./build fw serprog stm32 || err "${_xm}: stm32" + ./build roms all || err "${_xm}: roms-all" + ./build serprog rp2040 || err "${_xm}: rp2040" + ./build serprog stm32 || err "${_xm}: stm32" for rombuild in bin/*; do [ -d "${rombuild}" ] || continue @@ -161,7 +161,7 @@ nukerom() fi # Hash the images before removing vendor files - # which ./update vendor inject uses for verification + # which "./vendor inject" uses for verification x_ rm -f "${romdir}/vendorhashes" x_ touch "${romdir}/vendorhashes" ( @@ -171,7 +171,7 @@ nukerom() for romfile in "${romdir}"/*.rom; do [ -f "${romfile}" ] || continue - x_ ./update vendor inject -r "${romfile}" -b ${target} -n nuke + x_ ./vendor inject -r "${romfile}" -b ${target} -n nuke done } @@ -201,6 +201,8 @@ insert_copying_files() x_ cp "src/seabios/default/COPYING" "${l}/COPYING.coreboot" x_ cp "src/seabios/default/COPYING.LESSER" "${l}/COPYING.LESSER.seabios" x_ cp -R "src/u-boot/default/Licenses" "${l}/COPYING.u-boot" + x_ printf "Multiple licenses. Check corresponding %s source archive\n" \ + "${projectname}" > "${1}/COPYING" } mkrom_tarball() diff --git a/script/update/project/trees b/script/update/trees index c8643966..a71dbec0 100755 --- a/script/update/project/trees +++ b/script/update/trees @@ -16,12 +16,9 @@ export LOCALVERSION="-${projectname}-${version%%-*}" eval "$(setvars "" arch cfgsdir codedir config config_name crossgcc_ada mode \ elfdir listfile project romtype target target_dir targets tree _f target1)" -tmpclean="$(mktemp -d -t makeclean.XXXXXXXXXX)" - main() { - while getopts f:b:m:u:c:x:s:l:n: option - do + while getopts f:b:m:u:c:x:s:l:n: option; do _f="${1}" case "${1}" in -b) : ;; @@ -37,27 +34,21 @@ main() esac shift; project="${OPTARG#src/}"; shift done - [ -z "${_f}" ] && err "flag not specified (-m, -u, -b, -c, -x, -f, -s, -l or -n)" + [ -z "${_f}" ] && err "missing flag (-m/-u/-b/-c/-x/-f/-s/-l/-n)" [ -z "${project}" ] && err "project name not specified" - if [ ! -f "config/${project}/build.list" ]; then - build_projects $@ - else - build_targets $@ - fi + [ -f "config/${project}/build.list" ] && build_targets $@ && return 0 + build_projects $@ } build_projects() { - [ $# -gt 0 ] && x_ ./update project trees ${_f} ${@} + [ $# -gt 0 ] && x_ ./update trees ${_f} ${@} - if [ "${mode}" = "fetch" ]; then - fetch_project_repo - return 0 - fi + [ "${mode}" = "fetch" ] && fetch_project_repo && return 0 codedir="src/${project}" - [ -d "${codedir}" ] || x_ ./update project trees -f "${project}" + [ -d "${codedir}" ] || x_ ./update trees -f "${project}" if [ "${project}" = "uefitool" ]; then ( @@ -87,7 +78,7 @@ build_targets() [ $# -gt 0 ] && target1="${1}" [ "${target1}" = "utils" ] && [ "${project}" = "coreboot" ] && \ shift 1 - targets=$(listitems "${cfgsdir}") || \ + targets=$(items "${cfgsdir}") || \ err "Cannot get options for ${cfgsdir}" [ $# -gt 0 ] && targets=$@ @@ -103,7 +94,7 @@ handle_targets() printf "Running 'make %s' for project '%s, target '%s''\n" \ "${mode}" "${project}" "${target}" [ "${project}" != "coreboot" ] || [ ! -z ${mode} ] || \ - x_ ./update vendor download ${target} + x_ ./vendor download ${target} x_ handle_defconfig done @@ -140,10 +131,7 @@ handle_src_tree() romtype="normal" target_dir="${cfgsdir}/${target}" - if [ "${mode}" = "fetch" ]; then - fetch_project_trees - return 1 - fi + [ "${mode}" = "fetch" ] && fetch_project_trees && return 1 x_ mkdir -p "${elfdir}/${target}" eval "$(setvars "" arch tree)" @@ -151,10 +139,9 @@ handle_src_tree() . "${target_dir}/target.cfg" || \ err "handle_src_tree ${target_dir}: cannot load target.cfg" - [ -z "${tree}" ] && \ - err "handle_src_tree: ${target_dir}: tree undefined" - [ -z "${arch}" ] && \ - err "handle_src_tree: ${target_dir}: undefined cpu type" + for ix in arch tree; do + eval "[ -z \"\${$ix}\" ] && err \"handle_src: $ix undefined\"" + done codedir="src/${project}/${tree}" @@ -165,23 +152,15 @@ handle_src_tree() "${codedir}" 1>&2 return 1 fi - x_ ./update project trees -f "${project}" "${target}" - elif [ "${mode}" = "distclean" ] || \ - [ "${mode}" = "crossgcc-clean" ]; then - [ -f "${tmpclean}/${tree}" ] && return 1 - touch "${tmpclean}/${tree}" + x_ ./update trees -f "${project}" "${target}" fi [ "${target1}" = "utils" ] && [ "${project}" = "coreboot" ] && return 0 + [ "$project" != "coreboot" ] && [ "$project" != "u-boot" ] && return 0 # u-boot and coreboot are both compiled with coreboot's crossgcc - if [ "${project}" = "coreboot" ] || [ "${project}" = "u-boot" ]; then - [ ! -z ${mode} ] || check_cross_compiler || \ - err "handle_src_tree ${project}/${target}: crossgcc" - cbfstool="cbutils/${tree}/cbfstool" - [ -f "${cbfstool}" ] || \ - x_ ./update project trees -b coreboot utils "${tree}" - fi + [ -z ${mode} ] || return 0 + check_cross_compiler } # set up cross-compiler (coreboot crossgcc) for u-boot and coreboot @@ -190,42 +169,35 @@ check_cross_compiler() { [ "${crossgcc_ada}" = "y" ] || [ "${crossgcc_ada}" = "n" ] || \ crossgcc_ada="y" - [ "${crossgcc_ada}" != "y" ] && \ - export BUILD_LANGUAGES=c + [ "${crossgcc_ada}" = "y" ] || export BUILD_LANGUAGES=c cbdir="src/coreboot/${tree}" - [ "${project}" != "coreboot" ] && \ - cbdir="src/coreboot/default" + [ "${project}" != "coreboot" ] && cbdir="src/coreboot/default" # only true if not building coreboot: ctarget="${cbdir#src/coreboot/}" - [ -d "${cbdir}" ] || \ - x_ ./update project trees -f coreboot ${ctarget} + [ -d "${cbdir}" ] || x_ ./update trees -f coreboot ${ctarget} if [ "${arch}" = "x86_32" ] || [ "${arch}" = "x86_64" ]; then [ -d "${cbdir}/util/crossgcc/xgcc/i386-elf/" ] || \ - make -C "${cbdir}" crossgcc-i386 CPUS=$(nproc) || \ - return 1 + x_ make -C "${cbdir}" crossgcc-i386 CPUS=$(nproc) case "$(uname -m)" in x86*|i*86|amd64) : ;; *) export CROSS_COMPILE=i386-elf- ;; esac elif [ "${arch}" = "ARMv7" ]; then [ -d "${cbdir}/util/crossgcc/xgcc/arm-eabi/" ] || \ - make -C "${cbdir}" crossgcc-arm CPUS=$(nproc) || \ - return 1 + x_ make -C "${cbdir}" crossgcc-arm CPUS=$(nproc) case "$(uname -m)" in arm|arm32|armv6*|armv7*) : ;; *) export CROSS_COMPILE=arm-eabi- ;; esac elif [ "${arch}" = "AArch64" ]; then [ -d "${cbdir}/util/crossgcc/xgcc/aarch64-elf/" ] || \ - make -C "${cbdir}" crossgcc-aarch64 CPUS=$(nproc) || \ - return 1 + x_ make -C "${cbdir}" crossgcc-aarch64 CPUS=$(nproc) # aarch64 also needs armv7 toolchain for arm-trusted-firmware [ -d "${cbdir}/util/crossgcc/xgcc/arm-eabi/" ] || \ - make -C "${cbdir}" crossgcc-arm CPUS=$(nproc) || \ - return 1 + x_ make -C "${cbdir}" crossgcc-arm CPUS=$(nproc) case "$(uname -m)" in arm64|aarch64) : ;; *) export CROSS_COMPILE=aarch64-elf- ;; @@ -233,7 +205,7 @@ check_cross_compiler() fi # we *must* ensure that u-boot's build system uses crossgcc first - export PATH="$(pwd)/${cbdir}/util/crossgcc/xgcc/bin:$PATH" + export PATH="${PWD}/${cbdir}/util/crossgcc/xgcc/bin:$PATH" } check_config() @@ -279,6 +251,7 @@ run_make_command() x_ printf "%s\n" "${version%%-*}" >"${codedir}/.coreboot-version" x_ make ${mode} -j$(nproc) -C "${codedir}" + [ "${mode}" != "clean" ] && return 0 make -C "${codedir}" distclean 2>/dev/null || : } diff --git a/script/update/vendor/download b/script/vendor/download index 87e9d3a5..40244fff 100755 --- a/script/update/vendor/download +++ b/script/vendor/download @@ -54,18 +54,17 @@ detect_firmware() build_dependencies() { [ -d ${cbdir} ] || \ - x_ ./update project trees -f coreboot ${cbdir##*/} + x_ ./update trees -f coreboot ${cbdir##*/} for d in uefitool biosutilities bios_extract; do [ -d "src/${d}" ] && continue - x_ ./update project trees -f "${d}" + x_ ./update trees -f "${d}" done [ -f "${uefiextract}" ] || \ - x_ ./update project trees -b uefitool + x_ ./update trees -b uefitool [ -f "${kbc1126_ec_dump}" ] || \ x_ make -C "${cbdir}/util/kbc1126" - if [ ! -f "${cbfstool}" ] || [ ! -f "${ifdtool}" ]; then - x_ ./update project trees -b coreboot utils default - fi + [ -f "${cbfstool}" ] && [ -f "${ifdtool}" ] && return 0 + x_ ./update trees -b coreboot utils default } download_vendorfiles() @@ -85,8 +84,7 @@ download_vendorfiles() "${E6400_VGA_DL_url_bkup}" "${E6400_VGA_DL_hash}" \ "${CONFIG_VGA_BIOS_FILE}" [ -z "${CONFIG_HAVE_MRC}" ] && return 0 - fetch "mrc" "${MRC_url}" "${MRC_url_bkup}" "${MRC_hash}" \ - "${CONFIG_MRC_FILE}" + fetch "mrc" "$MRC_url" "$MRC_url_bkup" "$MRC_hash" "$CONFIG_MRC_FILE" } fetch() @@ -136,7 +134,7 @@ mkdirs() { [ -f "${1}" ] && \ printf "mkdirs ${1} ${2}: already downloaded\n" 1>&2 && return 1 - x_ mkdir -p "${1%/*}" + mkdir -p "${1%/*}" || err "mkdirs: !mkdir -p ${1%/*}" x_ rm -Rf "${appdir}" x_ mkdir -p "${appdir}/" extract_archive "${_dl}" "${appdir}" || \ @@ -192,7 +190,7 @@ extract_kbc1126ec() mv Rompaq/68*.BIN ec.bin || : if [ ! -f ec.bin ]; then unar -D ROM.CAB Rom.bin || unar -D Rom.CAB Rom.bin || \ - x_ unar -D 68*.CAB Rom.bin + unar -D 68*.CAB Rom.bin || err "can't extract Rom.bin" x_ mv Rom.bin ec.bin fi [ -f ec.bin ] || err "extract_kbc1126_ec ${board}: can't extract" @@ -205,7 +203,8 @@ extract_kbc1126ec() done [ "${ec_ex}" = "y" ] || \ err "extract_kbc1126_ec ${board}: didn't extract ecfw1/2.bin" - x_ cp "${appdir}/"ec.bin.fw* "${_dest%/*}/" + cp "${appdir}/"ec.bin.fw* "${_dest%/*}/" || \ + err "extract_kbc1126_ec ${board}: can't copy ec binaries" } extract_e6400vga() @@ -223,7 +222,8 @@ extract_e6400vga() [ -f "${E6400_VGA_romname}" ] || \ err "extract_e6400vga: can't extract vga rom from bios.bin" ) - x_ cp "${appdir}/${E6400_VGA_romname}" "${_dest}" + cp "${appdir}/${E6400_VGA_romname}" "${_dest}" || \ + err "extract_e6400vga ${board}: can't copy vga rom to ${_dest}" } extract_sch5545ec() diff --git a/script/update/vendor/inject b/script/vendor/inject index c4a7f702..923224d0 100755 --- a/script/update/vendor/inject +++ b/script/vendor/inject @@ -15,7 +15,7 @@ main() { [ $# -lt 1 ] && err "No options specified." [ "${1}" = "listboards" ] && \ - listitems config/coreboot && exit 0 + items config/coreboot && exit 0 archive="${1}" @@ -78,7 +78,7 @@ detect_board() _stripped_prefix=${filename#*_} board="${_stripped_prefix%.tar.xz}" ;; *) - err "detect_board: could not detect board type" + err "detect_board $filename: could not detect board type" esac [ -d "${boarddir}/" ] || \ err "detect_board: dir, ${boarddir}, doesn't exist" @@ -87,18 +87,21 @@ detect_board() build_dependencies() { - [ -d "${cbdir}" ] || x_ ./update project trees -f coreboot default + [ -d "${cbdir}" ] || x_ ./update trees -f coreboot default if [ ! -f "${cbfstool}" ] || [ ! -f "${ifdtool}" ]; then - x_ ./update project trees -b coreboot utils default + x_ ./update trees -b coreboot utils default fi [ -z "${new_mac}" ] || [ -f "${nvmutil}" ] || x_ make -C util/nvmutil [ "${nukemode}" = "nuke" ] && return 0 - x_ ./update vendor download ${board} + x_ ./vendor download ${board} } inject_vendorfiles() { - [ "${release}" != "y" ] && x_ patch_rom "${rom}" && return 0 + if [ "${release}" != "y" ]; then + patch_rom "${rom}" + return 0 + fi printf "patching release images\n" patch_release_roms } @@ -108,11 +111,12 @@ patch_release_roms() _tmpdir="tmp/romdir" x_ rm -Rf "${_tmpdir}" x_ mkdir -p "${_tmpdir}" - x_ tar -xf "${archive}" -C "${_tmpdir}" + tar -xf "${archive}" -C "${_tmpdir}" || \ + err "patch_release_roms: !tar -xf \"${archive}\" -C \"${_tmpdir}\"" for x in "${_tmpdir}"/bin/*/*.rom ; do printf "patching rom: %s\n" "$x" - x_ patch_rom "${x}" + patch_rom "${x}" done for x in "${_tmpdir}"/bin/*/*_nomicrocode.rom ; do [ -f "${x}" ] || continue @@ -123,7 +127,7 @@ patch_release_roms() done ( - x_ cd "${_tmpdir}/bin/"* + x_ cd "${_tmpdir}/bin/"* # TODO: very dodgy, re-write accordingly # NOTE: For compatibility with older rom releases, defer to sha1 [ "${nukemode}" = "nuke" ] || \ @@ -211,22 +215,28 @@ inject() if [ "${_t}" = "GbE" ]; then x_ mkdir -p tmp - x_ cp "${_dest}" "tmp/gbe.bin" + cp "${_dest}" "tmp/gbe.bin" || \ + err "inject: !cp \"${_dest}\" \"tmp/gbe.bin\"" _dest="tmp/gbe.bin" - x_ "${nvmutil}" "${_dest}" setmac "${new_mac}" + "${nvmutil}" "${_dest}" setmac "${new_mac}" || \ + err "inject ${_dest}: can't change mac address" fi if [ "${cbfsname}" = "IFD" ]; then if [ "${nukemode}" != "nuke" ]; then - x_ "${ifdtool}" -i ${_t}:${_dest} "${rom}" -O "$rom" + "${ifdtool}" -i ${_t}:${_dest} "${rom}" -O "$rom" || \ + err "inject: can't insert $_t ($dest) into $rom" else - x_ "${ifdtool}" --nuke ${_t} "${rom}" -O "${rom}" + "${ifdtool}" --nuke ${_t} "${rom}" -O "${rom}" || \ + err "inject ${rom}: can't nuke ${_t} in IFD" fi else if [ "${nukemode}" != "nuke" ]; then - x_ "${cbfstool}" "${rom}" add -f "${_dest}" \ - -n "${cbfsname}" -t ${_t} ${_offset} + "${cbfstool}" "${rom}" add -f "${_dest}" \ + -n "${cbfsname}" -t ${_t} ${_offset} || \ + err "inject $rom: can't insert $_t file $_dest" else - x_ "${cbfstool}" "${rom}" remove -n "${cbfsname}" + "${cbfstool}" "${rom}" remove -n "${cbfsname}" || \ + err "inject $rom: can't remove ${cbfsname}" fi fi @@ -235,13 +245,13 @@ inject() usage() { cat <<- EOF - USAGE: ./update vendor inject -r [rom path] -b [boardname] -m [macaddress] - Example: ./update vendor inject -r x230_12mb.rom -b x230_12mb + USAGE: ./vendor inject -r [rom path] -b [boardname] -m [macaddress] + Example: ./vendor inject -r x230_12mb.rom -b x230_12mb Adding a macadress to the gbe is optional. If the [-m] parameter is left blank, the gbe will not be touched. - Type './update vendor inject listboards' to get a list of valid boards + Type './vendor inject listboards' to get a list of valid boards EOF } |