xref: /OK3568_Linux_fs/buildroot/support/scripts/genimage.sh (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun#!/usr/bin/env bash
2*4882a593Smuzhiyun
3*4882a593Smuzhiyundie() {
4*4882a593Smuzhiyun  cat <<EOF >&2
5*4882a593SmuzhiyunError: $@
6*4882a593Smuzhiyun
7*4882a593SmuzhiyunUsage: ${0} -c GENIMAGE_CONFIG_FILE
8*4882a593SmuzhiyunEOF
9*4882a593Smuzhiyun  exit 1
10*4882a593Smuzhiyun}
11*4882a593Smuzhiyun
12*4882a593Smuzhiyun# Parse arguments and put into argument list of the script
13*4882a593Smuzhiyunopts="$(getopt -n "${0##*/}" -o c: -- "$@")" || exit $?
14*4882a593Smuzhiyuneval set -- "$opts"
15*4882a593Smuzhiyun
16*4882a593SmuzhiyunGENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
17*4882a593Smuzhiyun
18*4882a593Smuzhiyunwhile true ; do
19*4882a593Smuzhiyun	case "$1" in
20*4882a593Smuzhiyun	-c)
21*4882a593Smuzhiyun	  GENIMAGE_CFG="${2}";
22*4882a593Smuzhiyun	  shift 2 ;;
23*4882a593Smuzhiyun	--) # Discard all non-option parameters
24*4882a593Smuzhiyun	  shift 1;
25*4882a593Smuzhiyun	  break ;;
26*4882a593Smuzhiyun	*)
27*4882a593Smuzhiyun	  die "unknown option '${1}'" ;;
28*4882a593Smuzhiyun	esac
29*4882a593Smuzhiyundone
30*4882a593Smuzhiyun
31*4882a593Smuzhiyun[ -n "${GENIMAGE_CFG}" ] || die "Missing argument"
32*4882a593Smuzhiyun
33*4882a593Smuzhiyun# Pass an empty rootpath. genimage makes a full copy of the given rootpath to
34*4882a593Smuzhiyun# ${GENIMAGE_TMP}/root so passing TARGET_DIR would be a waste of time and disk
35*4882a593Smuzhiyun# space. We don't rely on genimage to build the rootfs image, just to insert a
36*4882a593Smuzhiyun# pre-built one in the disk image.
37*4882a593Smuzhiyun
38*4882a593Smuzhiyuntrap 'rm -rf "${ROOTPATH_TMP}"' EXIT
39*4882a593SmuzhiyunROOTPATH_TMP="$(mktemp -d)"
40*4882a593Smuzhiyun
41*4882a593Smuzhiyunrm -rf "${GENIMAGE_TMP}"
42*4882a593Smuzhiyun
43*4882a593Smuzhiyungenimage \
44*4882a593Smuzhiyun	--rootpath "${ROOTPATH_TMP}"     \
45*4882a593Smuzhiyun	--tmppath "${GENIMAGE_TMP}"    \
46*4882a593Smuzhiyun	--inputpath "${BINARIES_DIR}"  \
47*4882a593Smuzhiyun	--outputpath "${BINARIES_DIR}" \
48*4882a593Smuzhiyun	--config "${GENIMAGE_CFG}"
49