include/option.sh: fix i945 bootblock copy
it wasn't being copied right the roms under elf/ were being copied, but not the ones under bin/ - i need to audit it further for now, i run modify_coreboot_roms from build/roms instead of update/trees so, the ones under elf/ no longer have bootblocks copied. it's only done in bin/ Signed-off-by: Leah Rowe <leah@libreboot.org>btrfsvols
parent
df031d422a
commit
5f6ba01d41
|
@ -70,31 +70,3 @@ handle_coreboot_utils()
|
||||||
[ -z "${mode}" ] || x_ rm -Rf "cbutils/${1}"
|
[ -z "${mode}" ] || x_ rm -Rf "cbutils/${1}"
|
||||||
done
|
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
|
|
||||||
dd if="${rompath}" of="${tmprom}" bs=1 \
|
|
||||||
skip=$(($(stat -c %s "${rompath}") - 0x10000)) \
|
|
||||||
count=64k || err "modrom 1, dd, ${rompath}"
|
|
||||||
dd if="${tmprom}" of="${rompath}" bs=1 \
|
|
||||||
seek=$(($(stat -c %s "${rompath}") - 0x20000)) \
|
|
||||||
count=64k conv=notrunc || err "modrom 2, dd, ${rompath}"
|
|
||||||
fi
|
|
||||||
x_ rm -f "${tmprom}"
|
|
||||||
}
|
|
||||||
|
|
|
@ -388,9 +388,37 @@ moverom() {
|
||||||
|
|
||||||
[ -d "${newrom%/*}" ] || x_ mkdir -p "${newrom%/*}/"
|
[ -d "${newrom%/*}" ] || x_ mkdir -p "${newrom%/*}/"
|
||||||
[ "${vendorfiles}" = "n" ] && newrom="${newrom%.rom}_noblobs.rom"
|
[ "${vendorfiles}" = "n" ] && newrom="${newrom%.rom}_noblobs.rom"
|
||||||
|
|
||||||
|
x_ modify_coreboot_rom
|
||||||
x_ cp "${rompath}" "${newrom}"
|
x_ cp "${rompath}" "${newrom}"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
modify_coreboot_rom()
|
||||||
|
{
|
||||||
|
tmpmvrom="$(mktemp -t rom.XXXXXXXXXX)"
|
||||||
|
x_ rm -f "${tmpmvrom}"
|
||||||
|
|
||||||
|
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 "${tmpmvrom}"
|
||||||
|
for deviceID in "0072" "3050"; do
|
||||||
|
x_ "${cbfstool}" "${rompath}" add -f "${tmpmvrom}" \
|
||||||
|
-n "pci1000,${deviceID}.rom" -t raw
|
||||||
|
done
|
||||||
|
elif [ "${romtype}" = "i945 laptop" ]; then
|
||||||
|
# for bucts-based installation method from factory bios
|
||||||
|
dd if="${rompath}" of="${tmpmvrom}" bs=1 \
|
||||||
|
skip=$(($(stat -c %s "${rompath}") - 0x10000)) \
|
||||||
|
count=64k || err "modrom 1, copy bootblock"
|
||||||
|
dd if="${tmpmvrom}" of="${rompath}" bs=1 \
|
||||||
|
seek=$(($(stat -c %s "${rompath}") - 0x20000)) count=64k \
|
||||||
|
conv=notrunc || err "modrom 2, insert new bootblock"
|
||||||
|
x_ rm -f "${tmpmvrom}"
|
||||||
|
fi
|
||||||
|
x_ rm -f "${tmpmvrom}"
|
||||||
|
}
|
||||||
|
|
||||||
usage()
|
usage()
|
||||||
{
|
{
|
||||||
cat <<- EOF
|
cat <<- EOF
|
||||||
|
|
|
@ -263,7 +263,6 @@ run_make_command()
|
||||||
|
|
||||||
copy_elf()
|
copy_elf()
|
||||||
{
|
{
|
||||||
[ "${project}" != "coreboot" ] || x_ modify_coreboot_rom
|
|
||||||
while read f; do
|
while read f; do
|
||||||
[ ! -f "${codedir}/$f" ] || \
|
[ ! -f "${codedir}/$f" ] || \
|
||||||
x_ cp "${codedir}/${f}" "${dest_dir}/"
|
x_ cp "${codedir}/${f}" "${dest_dir}/"
|
||||||
|
|
Loading…
Reference in New Issue