package/rpi-firmware: add option to use custom cmdline.txt

Currently, the cmdline.txt file is installed in $(BINARIES_DIR) by the
rpi-firmware package. Overriding files in there can not be done with an
overlay (which only applies to $(TARGET_DIR)), and thus requires using
either a post-build or post-image script, which is not always very
practical when a custom file must be used.

Like was done in 689b9ac439 (package/rpi-firmware: rework boot/config
file handling) for config.txt, add an option to allow users to specify
the path to a custom cmdline.txt.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
This commit is contained in:
Yann E. MORIN 2022-07-24 15:12:02 +02:00
parent 43c7fda8d6
commit 2702404942
3 changed files with 16 additions and 1 deletions

View File

@ -69,6 +69,13 @@ config BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE
Path to a file stored as config.txt in the boot partiton
of the generated SD card image.
config BR2_PACKAGE_RPI_FIRMWARE_CMDLINE_FILE
string "Path to a file stored as boot/cmdline.txt"
default "board/raspberrypi/cmdline.txt" # legacy
help
Path to a file stored as cmdline.txt in the boot partiton
of the generated SD card image.
config BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTBS
bool "Install Device Tree Blobs (DTBs)"
default y

View File

@ -35,6 +35,14 @@ define RPI_FIRMWARE_INSTALL_CONFIG
endef
endif
RPI_FIRMWARE_CMDLINE_FILE = $(call qstrip,$(BR2_PACKAGE_RPI_FIRMWARE_CMDLINE_FILE))
ifneq ($(RPI_FIRMWARE_CMDLINE_FILE),)
define RPI_FIRMWARE_INSTALL_CMDLINE
$(INSTALL) -D -m 0644 $(RPI_FIRMWARE_CMDLINE_FILE) \
$(BINARIES_DIR)/rpi-firmware/cmdline.txt
endef
endif
ifeq ($(BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTBS),y)
define RPI_FIRMWARE_INSTALL_DTB
$(foreach dtb,$(wildcard $(@D)/boot/*.dtb), \
@ -79,9 +87,9 @@ endef
endif # INSTALL_VCDBG
define RPI_FIRMWARE_INSTALL_IMAGES_CMDS
$(INSTALL) -D -m 0644 package/rpi-firmware/cmdline.txt $(BINARIES_DIR)/rpi-firmware/cmdline.txt
$(RPI_FIRMWARE_INSTALL_BIN)
$(RPI_FIRMWARE_INSTALL_CONFIG)
$(RPI_FIRMWARE_INSTALL_CMDLINE)
$(RPI_FIRMWARE_INSTALL_DTB)
$(RPI_FIRMWARE_INSTALL_DTB_OVERLAYS)
endef