hc
2023-02-13 e440ec23c5a540cdd3f7464e8779219be6fd3d95
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#!/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-pi3-miniuart-bt-overlay)
       if ! grep -qE '^dtoverlay=' "${BINARIES_DIR}/rpi-firmware/config.txt"; then
           echo "Adding 'dtoverlay=pi3-miniuart-bt' to config.txt (fixes ttyAMA0 serial console)."
           cat << __EOF__ >> "${BINARIES_DIR}/rpi-firmware/config.txt"
 
# fixes rpi3 ttyAMA0 serial console
dtoverlay=pi3-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_control=0x200' "${BINARIES_DIR}/rpi-firmware/config.txt"; then
           cat << __EOF__ >> "${BINARIES_DIR}/rpi-firmware/config.txt"
 
# enable 64bits support
arm_control=0x200
__EOF__
       fi
 
       # Enable uart console
       if ! grep -qE '^enable_uart=1' "${BINARIES_DIR}/rpi-firmware/config.txt"; then
           cat << __EOF__ >> "${BINARIES_DIR}/rpi-firmware/config.txt"
 
# enable rpi3 ttyS0 serial console
enable_uart=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
 
rm -rf "${GENIMAGE_TMP}"
 
genimage                           \
   --rootpath "${TARGET_DIR}"     \
   --tmppath "${GENIMAGE_TMP}"    \
   --inputpath "${BINARIES_DIR}"  \
   --outputpath "${BINARIES_DIR}" \
   --config "${GENIMAGE_CFG}"
 
exit $?