update/project/build: move helpers to option.sh

certain functions are better placed there, rather than
in the main script

Signed-off-by: Leah Rowe <leah@libreboot.org>
btrfsvols
Leah Rowe 2023-10-07 05:16:46 +01:00
parent 0ed2ec294b
commit ea27c92842
2 changed files with 41 additions and 41 deletions

View File

@ -36,3 +36,44 @@ scan_config()
EOF
rm -f "${revfile}" || "${_fail}" "scan_config: Cannot remove tmpfile"
}
handle_coreboot_utils()
{
for util in cbfstool ifdtool; do
x_ ./update project build ${_f} "src/coreboot/${1}/util/${util}"
[ -z ${mode} ] && [ ! -f "cbutils/${1}/${util}" ] && \
x_ mkdir -p "cbutils/${1}" && \
x_ cp "src/coreboot/${1}/util/${util}/${util}" \
"cbutils/${1}"
[ -z ${mode} ] || \
x_ rm -Rf "cbutils/${1}"
done
}
modify_coreboot_rom()
{
rompath="${codedir}/build/coreboot.rom"
[ -f "${rompath}" ] || \
err "modify_coreboot_rom: does not exist: ${rompath}"
tmprom="$(mktemp -t rom.XXXXXXXXXX)"
x_ rm -f "${tmprom}"
if [ "${romtype}" = "d8d16sas" ]; then
# pike2008 roms hang seabios. an empty rom will override
# the built-in one, thus disabling all execution of it
x_ touch "${tmprom}"
for deviceID in "0072" "3050"; do
x_ "${cbfstool}" "${rompath}" add -f "${tmprom}" \
-n "pci1000,${deviceID}.rom" -t raw
done
elif [ "${romtype}" = "i945 laptop" ]; then
# for bucts-based installation method from factory bios
x_ dd if="${rompath}" of="${tmprom}" bs=1 \
skip=$(($(stat -c %s "${rompath}") - 0x10000)) \
count=64k
x_ dd if="${tmprom}" of="${rompath}" bs=1 \
seek=$(($(stat -c %s "${rompath}") - 0x20000)) \
count=64k conv=notrunc
fi
x_ rm -f "${tmprom}"
}

View File

@ -124,19 +124,6 @@ handle_defconfig()
done
}
handle_coreboot_utils()
{
for util in cbfstool ifdtool; do
x_ ./update project build ${_f} "src/coreboot/${1}/util/${util}"
[ -z ${mode} ] && [ ! -f "cbutils/${1}/${util}" ] && \
x_ mkdir -p "cbutils/${1}" && \
x_ cp "src/coreboot/${1}/util/${util}/${util}" \
"cbutils/${1}"
[ -z ${mode} ] || \
x_ rm -Rf "cbutils/${1}"
done
}
handle_src_tree()
{
target_dir="${cfgsdir}/${target}"
@ -292,32 +279,4 @@ copy_elf()
x_ make clean -C "${codedir}"
}
modify_coreboot_rom()
{
rompath="${codedir}/build/coreboot.rom"
[ -f "${rompath}" ] || \
err "modify_coreboot_rom: does not exist: ${rompath}"
tmprom="$(mktemp -t rom.XXXXXXXXXX)"
x_ rm -f "${tmprom}"
if [ "${romtype}" = "d8d16sas" ]; then
# pike2008 roms hang seabios. an empty rom will override
# the built-in one, thus disabling all execution of it
x_ touch "${tmprom}"
for deviceID in "0072" "3050"; do
x_ "${cbfstool}" "${rompath}" add -f "${tmprom}" \
-n "pci1000,${deviceID}.rom" -t raw
done
elif [ "${romtype}" = "i945 laptop" ]; then
# for bucts-based installation method from factory bios
x_ dd if="${rompath}" of="${tmprom}" bs=1 \
skip=$(($(stat -c %s "${rompath}") - 0x10000)) \
count=64k
x_ dd if="${tmprom}" of="${rompath}" bs=1 \
seek=$(($(stat -c %s "${rompath}") - 0x20000)) \
count=64k conv=notrunc
fi
x_ rm -f "${tmprom}"
}
main $@