123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- #!/bin/bash
- set -e
- BOARD_DIR="$(dirname $0)"
- BOARD_NAME="$(basename ${BOARD_DIR})"
- GENIMAGE_CFG="${BOARD_DIR}/genimage-${BOARD_NAME}.cfg"
- GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
- for arg in "$@"
- do
- case "${arg}" in
- --add-miniuart-bt-overlay)
- if ! grep -qE '^dtoverlay=' "${BINARIES_DIR}/rpi-firmware/config.txt"; then
- echo "Adding 'dtoverlay=miniuart-bt' to config.txt (fixes ttyAMA0 serial console)."
- cat << __EOF__ >> "${BINARIES_DIR}/rpi-firmware/config.txt"
- # fixes rpi (3B, 3B+, 3A+, 4B and Zero W) ttyAMA0 serial console
- dtoverlay=miniuart-bt
- __EOF__
- fi
- ;;
- --aarch64)
- # Run a 64bits kernel (armv8)
- sed -e '/^kernel=/s,=.*,=Image,' -i "${BINARIES_DIR}/rpi-firmware/config.txt"
- if ! grep -qE '^arm_64bit=1' "${BINARIES_DIR}/rpi-firmware/config.txt"; then
- cat << __EOF__ >> "${BINARIES_DIR}/rpi-firmware/config.txt"
- # enable 64bits support
- arm_64bit=1
- __EOF__
- fi
- ;;
- --gpu_mem_256=*|--gpu_mem_512=*|--gpu_mem_1024=*)
- # Set GPU memory
- gpu_mem="${arg:2}"
- sed -e "/^${gpu_mem%=*}=/s,=.*,=${gpu_mem##*=}," -i "${BINARIES_DIR}/rpi-firmware/config.txt"
- ;;
- esac
- done
- # 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}"
- exit $?
|