49 lines
1.0 KiB
Bash
49 lines
1.0 KiB
Bash
|
#!/usr/bin/env bash
|
||
|
|
||
|
die() {
|
||
|
cat <<EOF >&2
|
||
|
Error: $@
|
||
|
|
||
|
Usage: ${0} -c GENIMAGE_CONFIG_FILE
|
||
|
EOF
|
||
|
exit 1
|
||
|
}
|
||
|
|
||
|
# Parse arguments and put into argument list of the script
|
||
|
opts="$(getopt -n "${0##*/}" -o c: -- "$@")" || exit $?
|
||
|
eval set -- "$opts"
|
||
|
|
||
|
GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
|
||
|
|
||
|
while true ; do
|
||
|
case "$1" in
|
||
|
-c)
|
||
|
GENIMAGE_CFG="${2}";
|
||
|
shift 2 ;;
|
||
|
--) # Discard all non-option parameters
|
||
|
shift 1;
|
||
|
break ;;
|
||
|
*)
|
||
|
die "unknown option '${1}'" ;;
|
||
|
esac
|
||
|
done
|
||
|
|
||
|
[ -n "${GENIMAGE_CFG}" ] || die "Missing argument"
|
||
|
|
||
|
# Pass an empty rootpath. genimage makes a full copy of the given rootpath to
|
||
|
# ${GENIMAGE_TMP}/root so passing TARGET_DIR would be a waste of time and disk
|
||
|
# space. We don't rely on genimage to build the rootfs image, just to insert a
|
||
|
# pre-built one in the disk image.
|
||
|
|
||
|
trap 'rm -rf "${ROOTPATH_TMP}"' EXIT
|
||
|
ROOTPATH_TMP="$(mktemp -d)"
|
||
|
|
||
|
rm -rf "${GENIMAGE_TMP}"
|
||
|
|
||
|
genimage \
|
||
|
--rootpath "${ROOTPATH_TMP}" \
|
||
|
--tmppath "${GENIMAGE_TMP}" \
|
||
|
--inputpath "${BINARIES_DIR}" \
|
||
|
--outputpath "${BINARIES_DIR}" \
|
||
|
--config "${GENIMAGE_CFG}"
|