diff mbox series

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

Message ID 20220724131202.1364133-1-yann.morin.1998@free.fr
State Accepted
Headers show
Series package/rpi-firmware: add option to use custom cmdline.txt | expand

Commit Message

Yann E. MORIN July 24, 2022, 1:12 p.m. UTC
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 689b9ac439ab (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>
---
 .../rpi-firmware => board/raspberrypi}/cmdline.txt     |  0
 package/rpi-firmware/Config.in                         |  7 +++++++
 package/rpi-firmware/rpi-firmware.mk                   | 10 +++++++++-
 3 files changed, 16 insertions(+), 1 deletion(-)
 rename {package/rpi-firmware => board/raspberrypi}/cmdline.txt (100%)

Comments

Yann E. MORIN Oct. 31, 2022, 12:13 p.m. UTC | #1
All,

On 2022-07-24 15:12 +0200, Yann E. MORIN spake thusly:
> 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 689b9ac439ab (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>

Applied to master, thanks.

Regards,
Yann E. MORIN.

> ---
>  .../rpi-firmware => board/raspberrypi}/cmdline.txt     |  0
>  package/rpi-firmware/Config.in                         |  7 +++++++
>  package/rpi-firmware/rpi-firmware.mk                   | 10 +++++++++-
>  3 files changed, 16 insertions(+), 1 deletion(-)
>  rename {package/rpi-firmware => board/raspberrypi}/cmdline.txt (100%)
> 
> diff --git a/package/rpi-firmware/cmdline.txt b/board/raspberrypi/cmdline.txt
> similarity index 100%
> rename from package/rpi-firmware/cmdline.txt
> rename to board/raspberrypi/cmdline.txt
> diff --git a/package/rpi-firmware/Config.in b/package/rpi-firmware/Config.in
> index 8070dc3019..a9aeaed745 100644
> --- a/package/rpi-firmware/Config.in
> +++ b/package/rpi-firmware/Config.in
> @@ -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
> diff --git a/package/rpi-firmware/rpi-firmware.mk b/package/rpi-firmware/rpi-firmware.mk
> index d4d1d07b3f..6f5902fd52 100644
> --- a/package/rpi-firmware/rpi-firmware.mk
> +++ b/package/rpi-firmware/rpi-firmware.mk
> @@ -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
> -- 
> 2.25.1
> 
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
diff mbox series

Patch

diff --git a/package/rpi-firmware/cmdline.txt b/board/raspberrypi/cmdline.txt
similarity index 100%
rename from package/rpi-firmware/cmdline.txt
rename to board/raspberrypi/cmdline.txt
diff --git a/package/rpi-firmware/Config.in b/package/rpi-firmware/Config.in
index 8070dc3019..a9aeaed745 100644
--- a/package/rpi-firmware/Config.in
+++ b/package/rpi-firmware/Config.in
@@ -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
diff --git a/package/rpi-firmware/rpi-firmware.mk b/package/rpi-firmware/rpi-firmware.mk
index d4d1d07b3f..6f5902fd52 100644
--- a/package/rpi-firmware/rpi-firmware.mk
+++ b/package/rpi-firmware/rpi-firmware.mk
@@ -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