summaryrefslogtreecommitdiff
path: root/include/lib.sh
diff options
context:
space:
mode:
Diffstat (limited to 'include/lib.sh')
-rw-r--r--include/lib.sh18
1 files changed, 18 insertions, 0 deletions
diff --git a/include/lib.sh b/include/lib.sh
index 911d9c4d..6fc3bd1e 100644
--- a/include/lib.sh
+++ b/include/lib.sh
@@ -95,6 +95,24 @@ findpath()
done
}
+pad_one_byte()
+{
+ paddedfile="`mktemp`" || err "mktemp pad_one_byte"
+ x_ cp "$1" "$paddedfile"
+ cat "$paddedfile" config/data/coreboot/0 > "$1" || err "!pad $1"; :
+ x_ rm "$paddedfile"
+}
+
+unpad_one_byte()
+{
+ xromsize="$(expr $(stat -c '%s' "$1") - 1)" || err "!int"
+ [ $xromsize -lt 524288 ] && err "too small, $xromsize: $1"
+
+ unpaddedfile="`mktemp`" || err "mktemp unpad_one_byte"
+ x_ dd if="$1" of="$unpaddedfile" bs=$xromsize count=1
+ x_ mv "$unpaddedfile" "$1"
+}
+
fx_()
{
fd="`mktemp`" && x_ rm -f "$fd" && x_ touch "$fd"