From ebc669e78efc42b6cbf20d0950b11fdcf2ec533b Mon Sep 17 00:00:00 2001 From: j1nx Date: Tue, 30 Mar 2021 13:52:18 +0200 Subject: [PATCH] Prepare and add to be able to update the eeprom on boot. --- buildroot-external/Config.in | 1 + .../configs/rpi4_64-gui_defconfig | 1 + .../package/rpi-eeprom/Config.in | 6 +++++ .../package/rpi-eeprom/rpi-eeprom.mk | 26 +++++++++++++++++++ 4 files changed, 34 insertions(+) create mode 100644 buildroot-external/package/rpi-eeprom/Config.in create mode 100644 buildroot-external/package/rpi-eeprom/rpi-eeprom.mk diff --git a/buildroot-external/Config.in b/buildroot-external/Config.in index abdc1da7..60eb671f 100644 --- a/buildroot-external/Config.in +++ b/buildroot-external/Config.in @@ -83,6 +83,7 @@ endmenu source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/ovos-splash/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/qt5ct/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/respeaker/Config.in" + source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/rpi-eeprom/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/snapcast/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/spotifyd/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/userland-tools/Config.in" diff --git a/buildroot-external/configs/rpi4_64-gui_defconfig b/buildroot-external/configs/rpi4_64-gui_defconfig index 96f169d8..ebad5810 100644 --- a/buildroot-external/configs/rpi4_64-gui_defconfig +++ b/buildroot-external/configs/rpi4_64-gui_defconfig @@ -532,6 +532,7 @@ BR2_PACKAGE_NCPAMIXER=y BR2_PACKAGE_OVOS_SPLASH=y BR2_PACKAGE_QT5CT=y BR2_PACKAGE_RESPEAKER=y +BR2_PACKAGE_RPI_EEPROM=y BR2_PACKAGE_SNAPCAST=y BR2_PACKAGE_SNAPCAST_SERVER=y BR2_PACKAGE_SPOTIFYD=y diff --git a/buildroot-external/package/rpi-eeprom/Config.in b/buildroot-external/package/rpi-eeprom/Config.in new file mode 100644 index 00000000..08f6987d --- /dev/null +++ b/buildroot-external/package/rpi-eeprom/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_RPI_EEPROM + bool "rpi-eeprom" + help + EEPROM bootloader firmware for Raspberry Pi 4 + + https://github.com/raspberrypi/rpi-eeprom diff --git a/buildroot-external/package/rpi-eeprom/rpi-eeprom.mk b/buildroot-external/package/rpi-eeprom/rpi-eeprom.mk new file mode 100644 index 00000000..ad248e95 --- /dev/null +++ b/buildroot-external/package/rpi-eeprom/rpi-eeprom.mk @@ -0,0 +1,26 @@ +############################################################# +# +# rpi-eeprom +# +############################################################# +RPI_EEPROM_VERSION = 16bb29427f96dc8276a7102c0526154a1084bffd +RPI_EEPROM_SITE = $(call github,raspberrypi,rpi-eeprom,$(RPI_EEPROM_VERSION)) +RPI_EEPROM_LICENSE = BSD-3-Clause +RPI_EEPROM_LICENSE_FILES = LICENSE +RPI_EEPROM_INSTALL_IMAGES = YES +RPI_EEPROM_FIRMWARE_PATH = firmware/beta/pieeprom-2020-10-28.bin + +define RPI_EEPROM_BUILD_CMDS + $(@D)/rpi-eeprom-config $(@D)/$(RPI_EEPROM_FIRMWARE_PATH) --out $(@D)/default.conf + (cat $(@D)/default.conf | grep -v ^$$; echo HDMI_DELAY=0) > $(@D)/boot.conf + $(@D)/rpi-eeprom-config $(@D)/$(RPI_EEPROM_FIRMWARE_PATH) --config $(@D)/boot.conf --out $(@D)/pieeprom.upd + sha256sum $(@D)/pieeprom.upd | awk '{ print $$1 }' > $(@D)/pieeprom.sig + echo "ts: $$(date -u +%s)" >> $(@D)/pieeprom.sig +endef + +define RPI_EEPROM_INSTALL_IMAGES_CMDS + $(INSTALL) -D -m 0644 $(@D)/pieeprom.sig $(BINARIES_DIR)/rpi-eeprom/pieeprom.sig + $(INSTALL) -D -m 0644 $(@D)/pieeprom.upd $(BINARIES_DIR)/rpi-eeprom/pieeprom.upd +endef + +$(eval $(generic-package))