* [Buildroot] [PATCH] linux: Adding customizable linux logo
@ 2016-12-06 19:08 Angelo Compagnucci
2016-12-06 23:51 ` Arnout Vandecappelle
2016-12-11 14:39 ` Thomas Petazzoni
0 siblings, 2 replies; 4+ messages in thread
From: Angelo Compagnucci @ 2016-12-06 19:08 UTC (permalink / raw)
To: buildroot
This patch adds a custom linux logo to the generated kernel image.
Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com>
---
linux/Config.ext.in | 26 ++++++++++++++++++++++++++
linux/linux-ext-customlogo.mk | 19 +++++++++++++++++++
2 files changed, 45 insertions(+)
create mode 100644 linux/linux-ext-customlogo.mk
diff --git a/linux/Config.ext.in b/linux/Config.ext.in
index 011dffb..da63109 100644
--- a/linux/Config.ext.in
+++ b/linux/Config.ext.in
@@ -1,5 +1,31 @@
menu "Linux Kernel Extensions"
+# Custom logo
+config BR2_LINUX_KERNEL_EXT_CUSTOMLOGO
+ bool "Custom logo"
+ select BR2_PACKAGE_CUSTOMLOGO
+ help
+ Change linux boot logo with your own graphics.
+ Can be used as an early bootsplash.
+ The file should be in kernel ppm format if the
+ option BR2_PACKAGE_CUSTOMLOGO_CONVERT is not
+ selected.
+
+config BR2_PACKAGE_CUSTOMLOGO_PATH
+ string "Image file path"
+ depends on BR2_LINUX_KERNEL_EXT_CUSTOMLOGO
+ help
+ This image will be used as custom logo.
+
+config BR2_PACKAGE_CUSTOMLOGO_CONVERT
+ bool "Convert custom logo to kernel format"
+ depends on BR2_LINUX_KERNEL_EXT_CUSTOMLOGO
+ help
+ If checked, the convert command will be run on the source
+ image file to obtain a kernel compatible ppm image file.
+ *REQUIRES* a pre installed imagemagick on the host system
+ to convert the image.
+
#-------------------------------------------------------------------------------
# Xenomai
config BR2_LINUX_KERNEL_EXT_XENOMAI
diff --git a/linux/linux-ext-customlogo.mk b/linux/linux-ext-customlogo.mk
new file mode 100644
index 0000000..99e3ab1
--- /dev/null
+++ b/linux/linux-ext-customlogo.mk
@@ -0,0 +1,19 @@
+################################################################################
+#
+# Custom logo
+#
+################################################################################
+
+LINUX_EXTENSIONS += customlogo
+
+ifeq ($(BR2_PACKAGE_CUSTOMLOGO_CONVERT),)
+define CUSTOMLOGO_PREPARE_KERNEL
+ cp $(BR2_PACKAGE_CUSTOMLOGO_PATH) $(LINUX_DIR)/drivers/video/logo/logo_linux_clut224.ppm
+endef
+else
+define CUSTOMLOGO_PREPARE_KERNEL
+ convert $(BR2_PACKAGE_CUSTOMLOGO_PATH) \
+ -dither None -colors 224 -compress none \
+ $(LINUX_DIR)/drivers/video/logo/logo_linux_clut224.ppm
+endef
+endif
--
2.7.4
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [Buildroot] [PATCH] linux: Adding customizable linux logo
2016-12-06 19:08 [Buildroot] [PATCH] linux: Adding customizable linux logo Angelo Compagnucci
@ 2016-12-06 23:51 ` Arnout Vandecappelle
2016-12-07 6:47 ` Angelo Compagnucci
2016-12-11 14:39 ` Thomas Petazzoni
1 sibling, 1 reply; 4+ messages in thread
From: Arnout Vandecappelle @ 2016-12-06 23:51 UTC (permalink / raw)
To: buildroot
On 06-12-16 20:08, Angelo Compagnucci wrote:
> This patch adds a custom linux logo to the generated kernel image.
>
> Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com>
> ---
> linux/Config.ext.in | 26 ++++++++++++++++++++++++++
> linux/linux-ext-customlogo.mk | 19 +++++++++++++++++++
> 2 files changed, 45 insertions(+)
> create mode 100644 linux/linux-ext-customlogo.mk
>
> diff --git a/linux/Config.ext.in b/linux/Config.ext.in
> index 011dffb..da63109 100644
> --- a/linux/Config.ext.in
> +++ b/linux/Config.ext.in
> @@ -1,5 +1,31 @@
> menu "Linux Kernel Extensions"
>
> +# Custom logo
> +config BR2_LINUX_KERNEL_EXT_CUSTOMLOGO
> + bool "Custom logo"
> + select BR2_PACKAGE_CUSTOMLOGO
> + help
> + Change linux boot logo with your own graphics.
> + Can be used as an early bootsplash.
> + The file should be in kernel ppm format if the
> + option BR2_PACKAGE_CUSTOMLOGO_CONVERT is not
> + selected.
You should wrap at 72 colums (where tab counts as 8, so 62 effective characters).
> +
> +config BR2_PACKAGE_CUSTOMLOGO_PATH
> + string "Image file path"
> + depends on BR2_LINUX_KERNEL_EXT_CUSTOMLOGO
> + help
> + This image will be used as custom logo.
> +
> +config BR2_PACKAGE_CUSTOMLOGO_CONVERT
The feedback in your RFC patch was to remove the convert option.
Regards,
Arnout
> + bool "Convert custom logo to kernel format"
> + depends on BR2_LINUX_KERNEL_EXT_CUSTOMLOGO
> + help
> + If checked, the convert command will be run on the source
> + image file to obtain a kernel compatible ppm image file.
> + *REQUIRES* a pre installed imagemagick on the host system
> + to convert the image.
> +
> #-------------------------------------------------------------------------------
> # Xenomai
> config BR2_LINUX_KERNEL_EXT_XENOMAI
> diff --git a/linux/linux-ext-customlogo.mk b/linux/linux-ext-customlogo.mk
> new file mode 100644
> index 0000000..99e3ab1
> --- /dev/null
> +++ b/linux/linux-ext-customlogo.mk
> @@ -0,0 +1,19 @@
> +################################################################################
> +#
> +# Custom logo
> +#
> +################################################################################
> +
> +LINUX_EXTENSIONS += customlogo
> +
> +ifeq ($(BR2_PACKAGE_CUSTOMLOGO_CONVERT),)
> +define CUSTOMLOGO_PREPARE_KERNEL
> + cp $(BR2_PACKAGE_CUSTOMLOGO_PATH) $(LINUX_DIR)/drivers/video/logo/logo_linux_clut224.ppm
> +endef
> +else
> +define CUSTOMLOGO_PREPARE_KERNEL
> + convert $(BR2_PACKAGE_CUSTOMLOGO_PATH) \
> + -dither None -colors 224 -compress none \
> + $(LINUX_DIR)/drivers/video/logo/logo_linux_clut224.ppm
> +endef
> +endif
>
--
Arnout Vandecappelle arnout at mind be
Senior Embedded Software Architect +32-16-286500
Essensium/Mind http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Buildroot] [PATCH] linux: Adding customizable linux logo
2016-12-06 23:51 ` Arnout Vandecappelle
@ 2016-12-07 6:47 ` Angelo Compagnucci
0 siblings, 0 replies; 4+ messages in thread
From: Angelo Compagnucci @ 2016-12-07 6:47 UTC (permalink / raw)
To: buildroot
Dear Arnout Vandecappelle,
2016-12-07 0:51 GMT+01:00 Arnout Vandecappelle <arnout@mind.be>:
>
>
> On 06-12-16 20:08, Angelo Compagnucci wrote:
> > This patch adds a custom linux logo to the generated kernel image.
> >
> > Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com>
> > ---
> > linux/Config.ext.in | 26 ++++++++++++++++++++++++++
> > linux/linux-ext-customlogo.mk | 19 +++++++++++++++++++
> > 2 files changed, 45 insertions(+)
> > create mode 100644 linux/linux-ext-customlogo.mk
> >
> > diff --git a/linux/Config.ext.in b/linux/Config.ext.in
> > index 011dffb..da63109 100644
> > --- a/linux/Config.ext.in
> > +++ b/linux/Config.ext.in
> > @@ -1,5 +1,31 @@
> > menu "Linux Kernel Extensions"
> >
> > +# Custom logo
> > +config BR2_LINUX_KERNEL_EXT_CUSTOMLOGO
> > + bool "Custom logo"
> > + select BR2_PACKAGE_CUSTOMLOGO
> > + help
> > + Change linux boot logo with your own graphics.
> > + Can be used as an early bootsplash.
> > + The file should be in kernel ppm format if the
> > + option BR2_PACKAGE_CUSTOMLOGO_CONVERT is not
> > + selected.
>
> You should wrap at 72 colums (where tab counts as 8, so 62 effective
> characters).
>
Ok!
>
> > +
> > +config BR2_PACKAGE_CUSTOMLOGO_PATH
> > + string "Image file path"
> > + depends on BR2_LINUX_KERNEL_EXT_CUSTOMLOGO
> > + help
> > + This image will be used as custom logo.
> > +
> > +config BR2_PACKAGE_CUSTOMLOGO_CONVERT
>
> The feedback in your RFC patch was to remove the convert option.
>
Yes I know. Let me explain my point of view. There are a tons of way a
buildroot power user can overwrite the linux boot logo, but my intent here
is not to present something complex to the average user.
This option would cover a simple use case of a user which wants to have a
custom boot logo without too much of a hassle, something like the ethernet
boot options does. It not covers all the corner cases, only a basic and
useful one.
The complex part here is to obtain the ppm file in a correct format and
guessing the correct combo of options requires a bit of trial and error.
If it's not feasible to run a pre-installed executable on the host system,
I will add a dependency on imagemagick, but I think it's a bit overkill to
compile all that stuff only to convert an image for a bunch of milliseconds.
Sincerely, Angelo
>
>
> Regards,
> Arnout
>
> > + bool "Convert custom logo to kernel format"
> > + depends on BR2_LINUX_KERNEL_EXT_CUSTOMLOGO
> > + help
> > + If checked, the convert command will be run on the source
> > + image file to obtain a kernel compatible ppm image file.
> > + *REQUIRES* a pre installed imagemagick on the host system
> > + to convert the image.
> > +
> > #-----------------------------------------------------------
> --------------------
> > # Xenomai
> > config BR2_LINUX_KERNEL_EXT_XENOMAI
> > diff --git a/linux/linux-ext-customlogo.mk b/linux/linux-ext-customlogo.
> mk
> > new file mode 100644
> > index 0000000..99e3ab1
> > --- /dev/null
> > +++ b/linux/linux-ext-customlogo.mk
> > @@ -0,0 +1,19 @@
> > +###########################################################
> #####################
> > +#
> > +# Custom logo
> > +#
> > +###########################################################
> #####################
> > +
> > +LINUX_EXTENSIONS += customlogo
> > +
> > +ifeq ($(BR2_PACKAGE_CUSTOMLOGO_CONVERT),)
> > +define CUSTOMLOGO_PREPARE_KERNEL
> > + cp $(BR2_PACKAGE_CUSTOMLOGO_PATH) $(LINUX_DIR)/drivers/video/
> logo/logo_linux_clut224.ppm
> > +endef
> > +else
> > +define CUSTOMLOGO_PREPARE_KERNEL
> > + convert $(BR2_PACKAGE_CUSTOMLOGO_PATH) \
> > + -dither None -colors 224 -compress none \
> > + $(LINUX_DIR)/drivers/video/
> logo/logo_linux_clut224.ppm
> > +endef
> > +endif
> >
>
> --
> Arnout Vandecappelle arnout at mind be
> Senior Embedded Software Architect +32-16-286500
> Essensium/Mind http://www.mind.be
> G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
> LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
> GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
>
--
Profile: http://it.linkedin.com/in/compagnucciangelo
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20161207/6721e1d4/attachment-0001.html>
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Buildroot] [PATCH] linux: Adding customizable linux logo
2016-12-06 19:08 [Buildroot] [PATCH] linux: Adding customizable linux logo Angelo Compagnucci
2016-12-06 23:51 ` Arnout Vandecappelle
@ 2016-12-11 14:39 ` Thomas Petazzoni
1 sibling, 0 replies; 4+ messages in thread
From: Thomas Petazzoni @ 2016-12-11 14:39 UTC (permalink / raw)
To: buildroot
Hello,
On Tue, 6 Dec 2016 20:08:15 +0100, Angelo Compagnucci wrote:
> This patch adds a custom linux logo to the generated kernel image.
>
> Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com>
> ---
> linux/Config.ext.in | 26 ++++++++++++++++++++++++++
> linux/linux-ext-customlogo.mk | 19 +++++++++++++++++++
> 2 files changed, 45 insertions(+)
> create mode 100644 linux/linux-ext-customlogo.mk
>
> diff --git a/linux/Config.ext.in b/linux/Config.ext.in
> index 011dffb..da63109 100644
> --- a/linux/Config.ext.in
> +++ b/linux/Config.ext.in
> @@ -1,5 +1,31 @@
> menu "Linux Kernel Extensions"
Why is this implemented as a Linux extension? There's no reason for
that, it could just be an option of the Linux package itself.
> +# Custom logo
> +config BR2_LINUX_KERNEL_EXT_CUSTOMLOGO
> + bool "Custom logo"
> + select BR2_PACKAGE_CUSTOMLOGO
> + help
> + Change linux boot logo with your own graphics.
> + Can be used as an early bootsplash.
> + The file should be in kernel ppm format if the
> + option BR2_PACKAGE_CUSTOMLOGO_CONVERT is not
> + selected.
> +
> +config BR2_PACKAGE_CUSTOMLOGO_PATH
> + string "Image file path"
> + depends on BR2_LINUX_KERNEL_EXT_CUSTOMLOGO
> + help
> + This image will be used as custom logo.
> +
> +config BR2_PACKAGE_CUSTOMLOGO_CONVERT
> + bool "Convert custom logo to kernel format"
> + depends on BR2_LINUX_KERNEL_EXT_CUSTOMLOGO
Why do we have this sub-option? Makes more sense to just run "convert"
unconditionally. Of course, as Arnout said, this will require add
host-imagemagick in the dependencies of the linux package.
> +ifeq ($(BR2_PACKAGE_CUSTOMLOGO_CONVERT),)
> +define CUSTOMLOGO_PREPARE_KERNEL
> + cp $(BR2_PACKAGE_CUSTOMLOGO_PATH) $(LINUX_DIR)/drivers/video/logo/logo_linux_clut224.ppm
But there's a more fundamental problem to this: you're simply
generating logo_linux_clut224.ppm, but what tells you that the kernel
is going to use this specific file?
Depending on whether the screen supports 1-bit, 4-bit or 8-bit pixel
depth, and depending on the kernel configuration in
drivers/video/logo/, it's not necessarily logo_linux_clut224.ppm that
will be used.
I think if we want to do this, we want to:
- Enable CONFIG_LOGO_LINUX_MONO, CONFIG_LOGO_LINUX_VGA16 and
CONFIG_LOGO_LINUX_CLUT224
- Install logo_linux_clut224.ppm, logo_linux_mono.pbm and
logo_linux_vga16.ppm.
However, this means the user can no longer disable
CONFIG_LOGO_LINUX_VGA16 and/or CONFIG_LOGO_LINUX_MONO if he only uses
CONFIG_LOGO_LINUX_CLUT224.
Overall, I think the benefit is really not worth the complexity.
Best regards,
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2016-12-11 14:39 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-12-06 19:08 [Buildroot] [PATCH] linux: Adding customizable linux logo Angelo Compagnucci
2016-12-06 23:51 ` Arnout Vandecappelle
2016-12-07 6:47 ` Angelo Compagnucci
2016-12-11 14:39 ` Thomas Petazzoni
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox