From b91c432fa879174cf2a3915efb94c857a91ca19f Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Tue, 9 Feb 2021 14:06:13 +0100 Subject: [PATCH] Deploy all variants of the Raspberry Pi firmwares (#947) (#1219) --- .../board/raspberrypi/hassos-hook.sh | 13 +-------- .../package/rpi-firmware/rpi-firmware.mk | 27 +++++++++++++++++++ 2 files changed, 28 insertions(+), 12 deletions(-) create mode 100644 buildroot-external/package/rpi-firmware/rpi-firmware.mk diff --git a/buildroot-external/board/raspberrypi/hassos-hook.sh b/buildroot-external/board/raspberrypi/hassos-hook.sh index 5b320381c..583e70a39 100755 --- a/buildroot-external/board/raspberrypi/hassos-hook.sh +++ b/buildroot-external/board/raspberrypi/hassos-hook.sh @@ -8,20 +8,9 @@ function hassos_pre_image() { "${BINARIES_DIR}/u-boot.bin" \ "${BINARIES_DIR}/boot.scr" cp "${BINARIES_DIR}"/*.dtb "${BOOT_DATA}/" - cp -r "${BINARIES_DIR}/rpi-firmware/overlays" "${BOOT_DATA}/" + cp -r "${BINARIES_DIR}/rpi-firmware/"* "${BOOT_DATA}/" cp "${BOARD_DIR}/../boot-env.txt" "${BOOT_DATA}/config.txt" - # Firmware - if [[ "${BOARD_ID}" =~ "rpi4" ]]; then - cp "${BINARIES_DIR}/rpi-firmware/fixup.dat" "${BOOT_DATA}/fixup4.dat" - cp "${BINARIES_DIR}/rpi-firmware/start.elf" "${BOOT_DATA}/start4.elf" - else - cp -t "${BOOT_DATA}" \ - "${BINARIES_DIR}/rpi-firmware/fixup.dat" \ - "${BINARIES_DIR}/rpi-firmware/start.elf" \ - "${BINARIES_DIR}/rpi-firmware/bootcode.bin" - fi - # EEPROM update for Raspberry Pi 4/Compute Module 4 if grep -Eq "^BR2_PACKAGE_RPI_EEPROM=y$" "${BR2_CONFIG}"; then cp "${BINARIES_DIR}/rpi-eeprom/pieeprom.sig" "${BOOT_DATA}/pieeprom.sig" diff --git a/buildroot-external/package/rpi-firmware/rpi-firmware.mk b/buildroot-external/package/rpi-firmware/rpi-firmware.mk new file mode 100644 index 000000000..c72febbbe --- /dev/null +++ b/buildroot-external/package/rpi-firmware/rpi-firmware.mk @@ -0,0 +1,27 @@ +ifeq ($(BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4),y) +RPI_FIRMWARE_BOOT_FILES = \ + start4.elf \ + start4x.elf \ + start4cd.elf \ + fixup4.dat \ + fixup4x.dat \ + fixup4cd.dat +else +RPI_FIRMWARE_BOOT_FILES = \ + start.elf \ + start_x.elf \ + start_cd.elf \ + fixup.dat \ + fixup_x.dat \ + fixup_cd.dat +endif + +define RPI_FIRMWARE_INSTALL_IMAGES_CMDS + $(foreach firmware,$(RPI_FIRMWARE_BOOT_FILES), \ + $(INSTALL) -D -m 0644 $(@D)/boot/$(firmware) $(BINARIES_DIR)/rpi-firmware/$(firmware) + ) + $(RPI_FIRMWARE_INSTALL_BOOTCODE_BIN) + $(RPI_FIRMWARE_INSTALL_DTB) + $(RPI_FIRMWARE_INSTALL_DTB_OVERLAYS) +endef +