mirror of
https://github.com/hamishcoleman/thinkpad-ec
synced 2024-11-16 06:12:48 +00:00
37 lines
666 B
Bash
Executable File
37 lines
666 B
Bash
Executable File
#!/bin/bash
|
|
#
|
|
# Quick and dirty script to insert a slice into a binary file
|
|
# Copyright (C) 2016 Hamish Coleman
|
|
#
|
|
# TODO:
|
|
# - a tool that is portable to Windows
|
|
# - should output dependancy information
|
|
|
|
INFOFILE="$1"
|
|
if [ ! -r "$INFOFILE" ]; then
|
|
echo Need file with source and offset info
|
|
exit 1
|
|
fi
|
|
shift
|
|
|
|
INPUT="$1"
|
|
if [ -z "$INPUT" ]; then
|
|
echo Need input filename
|
|
exit 1
|
|
fi
|
|
shift
|
|
|
|
OUT="$1"
|
|
if [ -z "$OUT" ]; then
|
|
echo Need output filename
|
|
exit 1
|
|
fi
|
|
|
|
read SOURCE OFFSET LENGTH <"$INFOFILE"
|
|
|
|
set -x
|
|
|
|
cp --reflink=auto $SOURCE $OUT
|
|
dd status=none if=$INPUT bs=$[$LENGTH] count=1 | dd status=none conv=notrunc bs=$[$OFFSET] seek=1 of="$OUT"
|
|
|