* [Buildroot] [PATCH 1/1] package/rpi-firmware: add configurable kernel cmdline option
@ 2015-08-09 15:47 Ivo Slanina
2015-08-09 16:22 ` Yann E. MORIN
0 siblings, 1 reply; 5+ messages in thread
From: Ivo Slanina @ 2015-08-09 15:47 UTC (permalink / raw)
To: buildroot
Raspberry Pi expects cmdline.txt file at boot partition, which defines
kernel parameters. Buildroot stores this file in package/rpi-firmware
directory and makes this configuration quite unconfortable. Basicaly
user have to manually edit output/images/rpi-firmware/cmdline.txt for
every build.
This patch adds option to specify content of cmdline.txt and store it
in configuration file. This approach removes need to manually modify
this file for every build and adds posibility to store its value
in configuration file per project.
Signed-off-by: Ivo Slanina <ivo.slanina@gmail.com>
---
package/rpi-firmware/Config.in | 6 ++++++
package/rpi-firmware/cmdline.txt | 1 -
package/rpi-firmware/rpi-firmware.mk | 2 +-
3 files changed, 7 insertions(+), 2 deletions(-)
delete mode 100644 package/rpi-firmware/cmdline.txt
diff --git a/package/rpi-firmware/Config.in b/package/rpi-firmware/Config.in
index 405674f..978ecfd 100644
--- a/package/rpi-firmware/Config.in
+++ b/package/rpi-firmware/Config.in
@@ -39,6 +39,12 @@ config BR2_PACKAGE_RPI_FIRMWARE_CD
endchoice
+config BR2_PACKAGE_RPI_FIRMWARE_CMDLINE
+ string "Kernel cmdline"
+ default "root=/dev/mmcblk0p2 rootwait"
+ help
+ Set this value to customize cmdline.txt file at boot partition.
+
config BR2_PACKAGE_RPI_FIRMWARE_BOOT
string
default "" if BR2_PACKAGE_RPI_FIRMWARE_DEFAULT
diff --git a/package/rpi-firmware/cmdline.txt b/package/rpi-firmware/cmdline.txt
deleted file mode 100644
index 38aa378..0000000
--- a/package/rpi-firmware/cmdline.txt
+++ /dev/null
@@ -1 +0,0 @@
-root=/dev/mmcblk0p2 rootwait
diff --git a/package/rpi-firmware/rpi-firmware.mk b/package/rpi-firmware/rpi-firmware.mk
index 1ef15aa..9d22a69 100644
--- a/package/rpi-firmware/rpi-firmware.mk
+++ b/package/rpi-firmware/rpi-firmware.mk
@@ -41,7 +41,7 @@ define RPI_FIRMWARE_INSTALL_IMAGES_CMDS
$(INSTALL) -D -m 0644 $(@D)/boot/start$(BR2_PACKAGE_RPI_FIRMWARE_BOOT).elf $(BINARIES_DIR)/rpi-firmware/start.elf
$(INSTALL) -D -m 0644 $(@D)/boot/fixup$(BR2_PACKAGE_RPI_FIRMWARE_BOOT).dat $(BINARIES_DIR)/rpi-firmware/fixup.dat
$(INSTALL) -D -m 0644 package/rpi-firmware/config.txt $(BINARIES_DIR)/rpi-firmware/config.txt
- $(INSTALL) -D -m 0644 package/rpi-firmware/cmdline.txt $(BINARIES_DIR)/rpi-firmware/cmdline.txt
+ echo $(BR2_PACKAGE_RPI_FIRMWARE_CMDLINE) > $(BINARIES_DIR)/rpi-firmware/cmdline.txt
$(RPI_FIRMWARE_INSTALL_DTB)
$(RPI_FIRMWARE_INSTALL_DTB_OVERLAYS)
endef
--
2.1.4
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [Buildroot] [PATCH 1/1] package/rpi-firmware: add configurable kernel cmdline option
2015-08-09 15:47 [Buildroot] [PATCH 1/1] package/rpi-firmware: add configurable kernel cmdline option Ivo Slanina
@ 2015-08-09 16:22 ` Yann E. MORIN
2015-08-10 8:12 ` Jeremy Rosen
2015-08-10 13:57 ` Thomas Petazzoni
0 siblings, 2 replies; 5+ messages in thread
From: Yann E. MORIN @ 2015-08-09 16:22 UTC (permalink / raw)
To: buildroot
Ivo, All,
On 2015-08-09 17:47 +0200, Ivo Slanina spake thusly:
> Raspberry Pi expects cmdline.txt file at boot partition, which defines
> kernel parameters. Buildroot stores this file in package/rpi-firmware
> directory and makes this configuration quite unconfortable. Basicaly
> user have to manually edit output/images/rpi-firmware/cmdline.txt for
> every build.
>
> This patch adds option to specify content of cmdline.txt and store it
> in configuration file. This approach removes need to manually modify
> this file for every build and adds posibility to store its value
> in configuration file per project.
>
> Signed-off-by: Ivo Slanina <ivo.slanina@gmail.com>
No. Such tweaking should be left for a post-build script.
And *if* we were to have a mean to set the kernel command line in
Buildroot, it should not be specific to the RPi. It should be a generic
solution, that could be used for all bootloaders. I.e. an entry in the
kernel menu.
But I'm not really a fan of this; post-build scripts have been
introduced just for this kind of local customisation. Others may
disagree, though...
Regards,
Yann E. MORIN.
> ---
> package/rpi-firmware/Config.in | 6 ++++++
> package/rpi-firmware/cmdline.txt | 1 -
> package/rpi-firmware/rpi-firmware.mk | 2 +-
> 3 files changed, 7 insertions(+), 2 deletions(-)
> delete mode 100644 package/rpi-firmware/cmdline.txt
>
> diff --git a/package/rpi-firmware/Config.in b/package/rpi-firmware/Config.in
> index 405674f..978ecfd 100644
> --- a/package/rpi-firmware/Config.in
> +++ b/package/rpi-firmware/Config.in
> @@ -39,6 +39,12 @@ config BR2_PACKAGE_RPI_FIRMWARE_CD
>
> endchoice
>
> +config BR2_PACKAGE_RPI_FIRMWARE_CMDLINE
> + string "Kernel cmdline"
> + default "root=/dev/mmcblk0p2 rootwait"
> + help
> + Set this value to customize cmdline.txt file at boot partition.
> +
> config BR2_PACKAGE_RPI_FIRMWARE_BOOT
> string
> default "" if BR2_PACKAGE_RPI_FIRMWARE_DEFAULT
> diff --git a/package/rpi-firmware/cmdline.txt b/package/rpi-firmware/cmdline.txt
> deleted file mode 100644
> index 38aa378..0000000
> --- a/package/rpi-firmware/cmdline.txt
> +++ /dev/null
> @@ -1 +0,0 @@
> -root=/dev/mmcblk0p2 rootwait
> diff --git a/package/rpi-firmware/rpi-firmware.mk b/package/rpi-firmware/rpi-firmware.mk
> index 1ef15aa..9d22a69 100644
> --- a/package/rpi-firmware/rpi-firmware.mk
> +++ b/package/rpi-firmware/rpi-firmware.mk
> @@ -41,7 +41,7 @@ define RPI_FIRMWARE_INSTALL_IMAGES_CMDS
> $(INSTALL) -D -m 0644 $(@D)/boot/start$(BR2_PACKAGE_RPI_FIRMWARE_BOOT).elf $(BINARIES_DIR)/rpi-firmware/start.elf
> $(INSTALL) -D -m 0644 $(@D)/boot/fixup$(BR2_PACKAGE_RPI_FIRMWARE_BOOT).dat $(BINARIES_DIR)/rpi-firmware/fixup.dat
> $(INSTALL) -D -m 0644 package/rpi-firmware/config.txt $(BINARIES_DIR)/rpi-firmware/config.txt
> - $(INSTALL) -D -m 0644 package/rpi-firmware/cmdline.txt $(BINARIES_DIR)/rpi-firmware/cmdline.txt
> + echo $(BR2_PACKAGE_RPI_FIRMWARE_CMDLINE) > $(BINARIES_DIR)/rpi-firmware/cmdline.txt
> $(RPI_FIRMWARE_INSTALL_DTB)
> $(RPI_FIRMWARE_INSTALL_DTB_OVERLAYS)
> endef
> --
> 2.1.4
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Buildroot] [PATCH 1/1] package/rpi-firmware: add configurable kernel cmdline option
2015-08-09 16:22 ` Yann E. MORIN
@ 2015-08-10 8:12 ` Jeremy Rosen
2015-08-10 14:00 ` Thomas Petazzoni
2015-08-10 13:57 ` Thomas Petazzoni
1 sibling, 1 reply; 5+ messages in thread
From: Jeremy Rosen @ 2015-08-10 8:12 UTC (permalink / raw)
To: buildroot
> >
> > This patch adds option to specify content of cmdline.txt and store
> > it
> > in configuration file.
[...]
> And *if* we were to have a mean to set the kernel command line in
> Buildroot, it should not be specific to the RPi. It should be a
> generic
Completely agreee on this part...
> solution, that could be used for all bootloaders. I.e. an entry in
> the
> kernel menu.
>
> But I'm not really a fan of this; post-build scripts have been
> introduced just for this kind of local customisation. Others may
> disagree, though...
>
I kinda disagree here...
The problem is that the kernel commandline is partly built purely by
buildroot (for instance console=) and partly by the user (depending
on the architecture, the boot partition can be manually specified)
so having a generic way to specify "add this strin at the end of
the kernel command line when you save the commandline wherever
this particular architecture needs it" would be handy
Of course it can always be done with with post-build script, but
it can sometime be tricky when what you need is to modify a string
in a variable place that is half-generated by buildroot.
so yes, it would be handy. Not a huge problem but still handy
Regards
J?r?my Rosen
> Regards,
> Yann E. MORIN.
>
> > ---
> > package/rpi-firmware/Config.in | 6 ++++++
> > package/rpi-firmware/cmdline.txt | 1 -
> > package/rpi-firmware/rpi-firmware.mk | 2 +-
> > 3 files changed, 7 insertions(+), 2 deletions(-)
> > delete mode 100644 package/rpi-firmware/cmdline.txt
> >
> > diff --git a/package/rpi-firmware/Config.in
> > b/package/rpi-firmware/Config.in
> > index 405674f..978ecfd 100644
> > --- a/package/rpi-firmware/Config.in
> > +++ b/package/rpi-firmware/Config.in
> > @@ -39,6 +39,12 @@ config BR2_PACKAGE_RPI_FIRMWARE_CD
> >
> > endchoice
> >
> > +config BR2_PACKAGE_RPI_FIRMWARE_CMDLINE
> > + string "Kernel cmdline"
> > + default "root=/dev/mmcblk0p2 rootwait"
> > + help
> > + Set this value to customize cmdline.txt file at boot partition.
> > +
> > config BR2_PACKAGE_RPI_FIRMWARE_BOOT
> > string
> > default "" if BR2_PACKAGE_RPI_FIRMWARE_DEFAULT
> > diff --git a/package/rpi-firmware/cmdline.txt
> > b/package/rpi-firmware/cmdline.txt
> > deleted file mode 100644
> > index 38aa378..0000000
> > --- a/package/rpi-firmware/cmdline.txt
> > +++ /dev/null
> > @@ -1 +0,0 @@
> > -root=/dev/mmcblk0p2 rootwait
> > diff --git a/package/rpi-firmware/rpi-firmware.mk
> > b/package/rpi-firmware/rpi-firmware.mk
> > index 1ef15aa..9d22a69 100644
> > --- a/package/rpi-firmware/rpi-firmware.mk
> > +++ b/package/rpi-firmware/rpi-firmware.mk
> > @@ -41,7 +41,7 @@ define RPI_FIRMWARE_INSTALL_IMAGES_CMDS
> > $(INSTALL) -D -m 0644
> > $(@D)/boot/start$(BR2_PACKAGE_RPI_FIRMWARE_BOOT).elf
> > $(BINARIES_DIR)/rpi-firmware/start.elf
> > $(INSTALL) -D -m 0644
> > $(@D)/boot/fixup$(BR2_PACKAGE_RPI_FIRMWARE_BOOT).dat
> > $(BINARIES_DIR)/rpi-firmware/fixup.dat
> > $(INSTALL) -D -m 0644 package/rpi-firmware/config.txt
> > $(BINARIES_DIR)/rpi-firmware/config.txt
> > - $(INSTALL) -D -m 0644 package/rpi-firmware/cmdline.txt
> > $(BINARIES_DIR)/rpi-firmware/cmdline.txt
> > + echo $(BR2_PACKAGE_RPI_FIRMWARE_CMDLINE) >
> > $(BINARIES_DIR)/rpi-firmware/cmdline.txt
> > $(RPI_FIRMWARE_INSTALL_DTB)
> > $(RPI_FIRMWARE_INSTALL_DTB_OVERLAYS)
> > endef
> > --
> > 2.1.4
> >
> > _______________________________________________
> > buildroot mailing list
> > buildroot at busybox.net
> > http://lists.busybox.net/mailman/listinfo/buildroot
>
> --
> .-----------------.--------------------.------------------.--------------------.
> | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics'
> | conspiracy: |
> | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___
> | |
> | +33 223 225 172 `------------.-------: X AGAINST | \e/
> | There is no |
> | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v
> | conspiracy. |
> '------------------------------^-------^------------------^--------------------'
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Buildroot] [PATCH 1/1] package/rpi-firmware: add configurable kernel cmdline option
2015-08-09 16:22 ` Yann E. MORIN
2015-08-10 8:12 ` Jeremy Rosen
@ 2015-08-10 13:57 ` Thomas Petazzoni
1 sibling, 0 replies; 5+ messages in thread
From: Thomas Petazzoni @ 2015-08-10 13:57 UTC (permalink / raw)
To: buildroot
Dear Yann E. MORIN,
On Sun, 9 Aug 2015 18:22:40 +0200, Yann E. MORIN wrote:
> No. Such tweaking should be left for a post-build script.
>
> And *if* we were to have a mean to set the kernel command line in
> Buildroot, it should not be specific to the RPi. It should be a generic
> solution, that could be used for all bootloaders. I.e. an entry in the
> kernel menu.
>
> But I'm not really a fan of this; post-build scripts have been
> introduced just for this kind of local customisation. Others may
> disagree, though...
Fully agreed.
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Buildroot] [PATCH 1/1] package/rpi-firmware: add configurable kernel cmdline option
2015-08-10 8:12 ` Jeremy Rosen
@ 2015-08-10 14:00 ` Thomas Petazzoni
0 siblings, 0 replies; 5+ messages in thread
From: Thomas Petazzoni @ 2015-08-10 14:00 UTC (permalink / raw)
To: buildroot
Dear Jeremy Rosen,
On Mon, 10 Aug 2015 10:12:28 +0200 (CEST), Jeremy Rosen wrote:
> > solution, that could be used for all bootloaders. I.e. an entry in
> > the
> > kernel menu.
> >
> > But I'm not really a fan of this; post-build scripts have been
> > introduced just for this kind of local customisation. Others may
> > disagree, though...
> >
>
> I kinda disagree here...
>
> The problem is that the kernel commandline is partly built purely by
> buildroot (for instance console=)
Not at all. Buildroot does not define console= anywhere. It uses the
kernel console as the default tty for getty, but does not anything else
beyond that: it's still up to the user to pass console= on the kernel
command line.
> and partly by the user (depending
> on the architecture, the boot partition can be manually specified)
> so having a generic way to specify "add this strin at the end of
> the kernel command line when you save the commandline wherever
> this particular architecture needs it" would be handy
>
> Of course it can always be done with with post-build script, but
> it can sometime be tricky when what you need is to modify a string
> in a variable place that is half-generated by buildroot.
Except that there is clearly not generic way to specify the kernel
command line. Depending on the bootloader being used, the mechanism is
completely different. Even with the same bootloader (e. U-Boot), there
is typically a specific environment for each board/platform that builds
the kernel command line at runtime from various other bootloader
environment variables.
So just like Yann said: defining the kernel command line is way too
hardware/project specific to be solved by Buildroot, and it is not
something for which Buildroot would provide a lot of useful help anyway.
Best regards,
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2015-08-10 14:00 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-08-09 15:47 [Buildroot] [PATCH 1/1] package/rpi-firmware: add configurable kernel cmdline option Ivo Slanina
2015-08-09 16:22 ` Yann E. MORIN
2015-08-10 8:12 ` Jeremy Rosen
2015-08-10 14:00 ` Thomas Petazzoni
2015-08-10 13:57 ` Thomas Petazzoni
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox