post-image.sh 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #!/bin/bash
  2. set -e
  3. BOARD_DIR="$(dirname $0)"
  4. BOARD_NAME="$(basename ${BOARD_DIR})"
  5. GENIMAGE_CFG="${BOARD_DIR}/genimage-${BOARD_NAME}.cfg"
  6. GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
  7. for arg in "$@"
  8. do
  9. case "${arg}" in
  10. --add-pi3-miniuart-bt-overlay)
  11. if ! grep -qE '^dtoverlay=' "${BINARIES_DIR}/rpi-firmware/config.txt"; then
  12. echo "Adding 'dtoverlay=pi3-miniuart-bt' to config.txt (fixes ttyAMA0 serial console)."
  13. cat << __EOF__ >> "${BINARIES_DIR}/rpi-firmware/config.txt"
  14. # fixes rpi3 ttyAMA0 serial console
  15. dtoverlay=pi3-miniuart-bt
  16. __EOF__
  17. fi
  18. ;;
  19. --aarch64)
  20. # Run a 64bits kernel (armv8)
  21. sed -e '/^kernel=/s,=.*,=Image,' -i "${BINARIES_DIR}/rpi-firmware/config.txt"
  22. if ! grep -qE '^arm_64bit=1' "${BINARIES_DIR}/rpi-firmware/config.txt"; then
  23. cat << __EOF__ >> "${BINARIES_DIR}/rpi-firmware/config.txt"
  24. # enable 64bits support
  25. arm_64bit=1
  26. __EOF__
  27. fi
  28. # Enable uart console
  29. if ! grep -qE '^enable_uart=1' "${BINARIES_DIR}/rpi-firmware/config.txt"; then
  30. cat << __EOF__ >> "${BINARIES_DIR}/rpi-firmware/config.txt"
  31. # enable rpi3 ttyS0 serial console
  32. enable_uart=1
  33. __EOF__
  34. fi
  35. ;;
  36. --gpu_mem_256=*|--gpu_mem_512=*|--gpu_mem_1024=*)
  37. # Set GPU memory
  38. gpu_mem="${arg:2}"
  39. sed -e "/^${gpu_mem%=*}=/s,=.*,=${gpu_mem##*=}," -i "${BINARIES_DIR}/rpi-firmware/config.txt"
  40. ;;
  41. esac
  42. done
  43. rm -rf "${GENIMAGE_TMP}"
  44. genimage \
  45. --rootpath "${TARGET_DIR}" \
  46. --tmppath "${GENIMAGE_TMP}" \
  47. --inputpath "${BINARIES_DIR}" \
  48. --outputpath "${BINARIES_DIR}" \
  49. --config "${GENIMAGE_CFG}"
  50. exit $?