47 lines
1.0 KiB
Bash
47 lines
1.0 KiB
Bash
#! @bash@/bin/sh -e
|
|
|
|
shopt -s nullglob
|
|
|
|
export PATH=/empty:@path@
|
|
|
|
usage() {
|
|
echo "usage: $0 -f <firmware-dir> -b <boot-dir> -c <path-to-default-configuration>" >&2
|
|
exit 1
|
|
}
|
|
|
|
default= # Default configuration, needed for extlinux
|
|
# fwtarget=/boot/firmware # firmware target directory
|
|
# boottarget=/boot # boot configuration target directory
|
|
|
|
echo "uefi-builder: $@"
|
|
while getopts "c:b:f:" opt; do
|
|
case "$opt" in
|
|
c) default="$OPTARG" ;;
|
|
b) boottarget="$OPTARG" ;;
|
|
f) fwtarget="$OPTARG" ;;
|
|
\?) usage ;;
|
|
esac
|
|
done
|
|
|
|
if [ -z "$boottarget" ] && [ -z "$fwtarget" ]; then
|
|
echo "Error: at least one of \`-b <boot-dir>\` and \`-f <firmware-dir>\` must be set"
|
|
usage
|
|
fi
|
|
|
|
copyForced() {
|
|
local src="$1"
|
|
local dst="$2"
|
|
cp -r $src $dst.tmp
|
|
mv $dst.tmp $dst
|
|
}
|
|
|
|
if [ -n "$fwtarget" ]; then
|
|
@firmwareBuilder@ -c $default -d $fwtarget
|
|
|
|
echo "copying uefi firmware..."
|
|
for file in @uefi@; do
|
|
copyForced @uefi@/file $fwtarget/
|
|
done
|
|
fi
|
|
|
|
echo "uefi bootloader installed" |