5352a77102
The default setting with miniuart-bt requires hciattach which is a deprecated utility in BlueZ. Setting the krnbt parameter switches to the modern method of using serdev in the kernel removing the need for any userspace configuration to enable the Bluetooth controller. This is documented as applying to all Raspberry Pi variants so just enable it globally. Signed-off-by: John Keeping <john@metanate.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
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,krnbt=on
|
|
__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 $?
|