2017-09-24 01:30:06 +02:00
|
|
|
#!/bin/bash
|
2015-12-31 14:28:08 +01:00
|
|
|
|
2017-10-21 15:52:14 +02:00
|
|
|
set -e
|
|
|
|
|
2015-12-31 14:28:08 +01:00
|
|
|
BOARD_DIR="$(dirname $0)"
|
|
|
|
BOARD_NAME="$(basename ${BOARD_DIR})"
|
|
|
|
GENIMAGE_CFG="${BOARD_DIR}/genimage-${BOARD_NAME}.cfg"
|
|
|
|
GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
|
|
|
|
|
2023-07-05 18:46:15 +02:00
|
|
|
# generate genimage from template if a board specific variant doesn't exists
|
|
|
|
if [ ! -e "${GENIMAGE_CFG}" ]; then
|
|
|
|
GENIMAGE_CFG="${BINARIES_DIR}/genimage.cfg"
|
|
|
|
FILES=()
|
|
|
|
|
|
|
|
for i in "${BINARIES_DIR}"/*.dtb "${BINARIES_DIR}"/rpi-firmware/*; do
|
|
|
|
FILES+=( "${i#${BINARIES_DIR}/}" )
|
|
|
|
done
|
|
|
|
|
|
|
|
KERNEL=$(sed -n 's/^kernel=//p' "${BINARIES_DIR}/rpi-firmware/config.txt")
|
|
|
|
FILES+=( "${KERNEL}" )
|
|
|
|
|
|
|
|
BOOT_FILES=$(printf '\\t\\t\\t"%s",\\n' "${FILES[@]}")
|
|
|
|
sed "s|#BOOT_FILES#|${BOOT_FILES}|" "${BOARD_DIR}/genimage.cfg.in" \
|
|
|
|
> "${GENIMAGE_CFG}"
|
|
|
|
fi
|
|
|
|
|
2019-10-13 02:22:30 +02:00
|
|
|
# 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)"
|
|
|
|
|
2015-12-31 14:28:08 +01:00
|
|
|
rm -rf "${GENIMAGE_TMP}"
|
|
|
|
|
2019-10-13 02:22:30 +02:00
|
|
|
genimage \
|
|
|
|
--rootpath "${ROOTPATH_TMP}" \
|
2015-12-31 14:28:08 +01:00
|
|
|
--tmppath "${GENIMAGE_TMP}" \
|
|
|
|
--inputpath "${BINARIES_DIR}" \
|
|
|
|
--outputpath "${BINARIES_DIR}" \
|
|
|
|
--config "${GENIMAGE_CFG}"
|
|
|
|
|
|
|
|
exit $?
|