61 lines
1.6 KiB
Bash
Executable File
61 lines
1.6 KiB
Bash
Executable File
#!/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 $?
|