diff options
-rwxr-xr-x | include/option.sh | 41 | ||||
-rwxr-xr-x | script/update/project/build | 41 |
2 files changed, 41 insertions, 41 deletions
diff --git a/include/option.sh b/include/option.sh index ffcc7e94..6ae5f2de 100755 --- a/include/option.sh +++ b/include/option.sh @@ -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}" +} diff --git a/script/update/project/build b/script/update/project/build index 43c38141..57e95953 100755 --- a/script/update/project/build +++ b/script/update/project/build @@ -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 $@ |