Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 0/9] iso9660/grub improvements
@ 2013-12-28 14:56 Thomas Petazzoni
  2013-12-28 14:56 ` [Buildroot] [PATCH 1/9] fs/iso9660: put the Buildroot boot entry first in Grub menu.lst Thomas Petazzoni
                   ` (9 more replies)
  0 siblings, 10 replies; 27+ messages in thread
From: Thomas Petazzoni @ 2013-12-28 14:56 UTC (permalink / raw)
  To: buildroot

Hello,

Here is a set of commits that improves the iso9660/grub handling:

 * Ensures that grub is built with the iso9660 support when the
   iso9660 image format has been selected.

 * Add splashscreen support to Grub for the iso9660 image mechanism.

 * Do not include the initrd into the filesystem if it is built into
   the kernel image itself.

 * Related improvements/fixes

Thanks!

Thomas

Thierry Bultel (1):
  fs/iso9660: do not use an initrd in iso image when using initramfs

Thomas Petazzoni (8):
  fs/iso9660: put the Buildroot boot entry first in Grub menu.lst
  grub: enclose network driver options in a sub-menu
  grub: replace string option for filesystem selection by booleans
  fs/iso9660: select ISO9660 support in Grub
  linux: enable initrd/initramfs support when cpio rootfs is chosen
  grub: really disable splash screen support
  fs/iso9660: add Grub splashscreen support
  grub: align splashscreen handling with iso9660 code

 boot/grub/Config.in   | 48 ++++++++++++++++++++++++++++++++++++++++--------
 boot/grub/grub.mk     | 32 +++++++++++++++++++-------------
 boot/grub/menu.lst    | 11 +++++++----
 fs/iso9660/Config.in  |  1 +
 fs/iso9660/iso9660.mk |  9 +++++++++
 fs/iso9660/menu.lst   | 13 ++++++++-----
 linux/linux.mk        |  3 ++-
 7 files changed, 86 insertions(+), 31 deletions(-)

-- 
1.8.3.2

^ permalink raw reply	[flat|nested] 27+ messages in thread

* [Buildroot] [PATCH 1/9] fs/iso9660: put the Buildroot boot entry first in Grub menu.lst
  2013-12-28 14:56 [Buildroot] [PATCH 0/9] iso9660/grub improvements Thomas Petazzoni
@ 2013-12-28 14:56 ` Thomas Petazzoni
  2013-12-28 19:33   ` Yann E. MORIN
  2013-12-28 14:56 ` [Buildroot] [PATCH 2/9] grub: enclose network driver options in a sub-menu Thomas Petazzoni
                   ` (8 subsequent siblings)
  9 siblings, 1 reply; 27+ messages in thread
From: Thomas Petazzoni @ 2013-12-28 14:56 UTC (permalink / raw)
  To: buildroot

The ISO9660-specific Grub menu.lst contains two entries: one entry to
chainload the bootloader available in the first hard drive, and
another entry to boot the Buildroot system.

However, it defaults to booting the first entry, i.e chainloading
what's on the first hard drive. For a Buildroot generated system, this
is quite odd: we're not even booting the system built by Buildroot.

So, switch the two entries, and put the Buildroot boot entry first.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 fs/iso9660/menu.lst | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/fs/iso9660/menu.lst b/fs/iso9660/menu.lst
index d78caeb..ed7836a 100644
--- a/fs/iso9660/menu.lst
+++ b/fs/iso9660/menu.lst
@@ -2,10 +2,10 @@ default		0
 timeout		10
 color cyan/blue white/blue
 
+title		Buildroot ISO9660 image
+kernel		/kernel
+initrd		/initrd
+
 title		Hard Drive (first partition)
 rootnoverify	(hd0)
 chainloader	+1
-
-title		BuildRoot ISO9660 image
-kernel		/kernel
-initrd		/initrd
-- 
1.8.3.2

^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [Buildroot] [PATCH 2/9] grub: enclose network driver options in a sub-menu
  2013-12-28 14:56 [Buildroot] [PATCH 0/9] iso9660/grub improvements Thomas Petazzoni
  2013-12-28 14:56 ` [Buildroot] [PATCH 1/9] fs/iso9660: put the Buildroot boot entry first in Grub menu.lst Thomas Petazzoni
@ 2013-12-28 14:56 ` Thomas Petazzoni
  2013-12-28 19:35   ` Yann E. MORIN
  2013-12-28 14:56 ` [Buildroot] [PATCH 3/9] grub: replace string option for filesystem selection by booleans Thomas Petazzoni
                   ` (7 subsequent siblings)
  9 siblings, 1 reply; 27+ messages in thread
From: Thomas Petazzoni @ 2013-12-28 14:56 UTC (permalink / raw)
  To: buildroot

In preparation to a change to the configuration options of the
supported filesystem in Grub, enclose the network driver options in a
sub-menu.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 boot/grub/Config.in | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/boot/grub/Config.in b/boot/grub/Config.in
index c90770f..c3a729f 100644
--- a/boot/grub/Config.in
+++ b/boot/grub/Config.in
@@ -58,6 +58,8 @@ config BR2_TARGET_GRUB_DISKLESS
 	help
 	  enable diskless support
 
+menu "network drivers"
+
 config BR2_TARGET_GRUB_3c595
 	bool "3Com595 driver"
 	help
@@ -163,4 +165,6 @@ config BR2_TARGET_GRUB_w89c840
 	help
 	  enable Winbond W89c840 driver
 
+endmenu
+
 endif # BR2_TARGET_GRUB
-- 
1.8.3.2

^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [Buildroot] [PATCH 3/9] grub: replace string option for filesystem selection by booleans
  2013-12-28 14:56 [Buildroot] [PATCH 0/9] iso9660/grub improvements Thomas Petazzoni
  2013-12-28 14:56 ` [Buildroot] [PATCH 1/9] fs/iso9660: put the Buildroot boot entry first in Grub menu.lst Thomas Petazzoni
  2013-12-28 14:56 ` [Buildroot] [PATCH 2/9] grub: enclose network driver options in a sub-menu Thomas Petazzoni
@ 2013-12-28 14:56 ` Thomas Petazzoni
  2013-12-28 19:38   ` Yann E. MORIN
  2013-12-28 14:56 ` [Buildroot] [PATCH 4/9] fs/iso9660: select ISO9660 support in Grub Thomas Petazzoni
                   ` (6 subsequent siblings)
  9 siblings, 1 reply; 27+ messages in thread
From: Thomas Petazzoni @ 2013-12-28 14:56 UTC (permalink / raw)
  To: buildroot

In 1cece2813bf635ae29e9a8287322439b9c5992f7 (grub: add option to
configure the list of supported filesystems), we introduced the
BR2_TARGET_GRUB_FS_SUPPORT option which allows to provide a
space-separated list of filesystems that Grub should support.

However, it turns out that this not very practical, because the
iso9660 filesystem logic in Buildroot should force the ISO9660 support
to be enabled in Grub, which is not easy to do with a string option.

Therefore, this patch changes this option from a string option to a
list of boolean option, one per filesystem supported.

A few useful details:

 - Since Grub legacy is dead, the list of filesystem, and therefore
   the number of options, will not grow.

 - We have only added options for filesystems that are likely to be
   used in an embedded Linux context. Filesystems such as VSTAfs,
   Minix, UFS2 or FFS2 are not supported.

 - There is no need to add some Config.in.legacy support for the
   previous option, since it was added after Buildroot 2013.11, and
   was therefore never part of an official Buildroot release.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 boot/grub/Config.in | 44 ++++++++++++++++++++++++++++++++++++--------
 boot/grub/grub.mk   | 24 +++++++++++++-----------
 2 files changed, 49 insertions(+), 19 deletions(-)

diff --git a/boot/grub/Config.in b/boot/grub/Config.in
index c3a729f..3ae8448 100644
--- a/boot/grub/Config.in
+++ b/boot/grub/Config.in
@@ -45,19 +45,47 @@ config BR2_TARGET_GRUB_SPLASH
 	  A splashimage is a 14-color indexed .xpm picture which
 	  is displayed as background for the grub menu.
 
-config BR2_TARGET_GRUB_FS_SUPPORT
-	string "Filesystem to support"
-	default "ext2fs fat"
-	help
-	  Space separated list of filesystems to support. Possible
-	  values are ext2fs, fat, ffs, ufs2, minix, reiserfs, vstafs,
-	  jfs, xfs and iso9660.
-
 config BR2_TARGET_GRUB_DISKLESS
 	bool "diskless support"
 	help
 	  enable diskless support
 
+menu "filesystem drivers"
+
+config BR2_TARGET_GRUB_FS_EXT2
+	bool "ext2"
+	default y
+	help
+	  Enable support for the ext2 filesystem in Grub
+
+config BR2_TARGET_GRUB_FS_FAT
+	bool "FAT"
+	default y
+	help
+	  Enable support for the FAT filesystem in Grub.
+
+config BR2_TARGET_GRUB_FS_ISO9660
+	bool "ISO9660"
+	help
+	  Enable support for the ISO9660 filesystem in Grub.
+
+config BR2_TARGET_GRUB_FS_JFS
+	bool "IBM JFS"
+	help
+	  Enable support for the JFS filesystem in Grub.
+
+config BR2_TARGET_GRUB_FS_REISERFS
+	bool "ReiserFS"
+	help
+	  Enable support for the ReiserFS filesystem in Grub.
+
+config BR2_TARGET_GRUB_FS_XFS
+	bool "SGI XFS"
+	help
+	  Enable support for the XFS filesystem in Grub.
+
+endmenu
+
 menu "network drivers"
 
 config BR2_TARGET_GRUB_3c595
diff --git a/boot/grub/grub.mk b/boot/grub/grub.mk
index eb066af..43121ff 100644
--- a/boot/grub/grub.mk
+++ b/boot/grub/grub.mk
@@ -46,18 +46,20 @@ GRUB_CONFIG-$(BR2_TARGET_GRUB_undi) += --enable-undi
 GRUB_CONFIG-$(BR2_TARGET_GRUB_via_rhine) += --enable-via-rhine
 GRUB_CONFIG-$(BR2_TARGET_GRUB_w89c840) += --enable-w89c840
 
-GRUB_POSSIBLE_FILESYSTEMS = ext2fs fat ffs ufs2 minix \
-	reiserfs vstafs jfs xfs iso9660
-GRUB_SELECTED_FILESYSTEMS = $(call qstrip,$(BR2_TARGET_GRUB_FS_SUPPORT))
+GRUB_CONFIG-y += $(if $(BR2_TARGET_GRUB_FS_EXT2),--enable-ext2fs,--disable-ext2fs)
+GRUB_CONFIG-y += $(if $(BR2_TARGET_GRUB_FS_FAT),--enable-fat,--disable-fat)
+GRUB_CONFIG-y += $(if $(BR2_TARGET_GRUB_FS_ISO9660),--enable-iso9660,--disable-iso9660)
+GRUB_CONFIG-y += $(if $(BR2_TARGET_GRUB_FS_JFS),--enable-jfs,--disable-jfs)
+GRUB_CONFIG-y += $(if $(BR2_TARGET_GRUB_FS_REISERFS),--enable-reiserfs,--disable-reiserfs)
+GRUB_CONFIG-y += $(if $(BR2_TARGET_GRUB_FS_XFS),--enable-xfs,--disable-xfs)
+GRUB_CONFIG-y += --disable-ffs --disable-ufs2 --disable-minix --disable-vstafs
 
-# Calculate the list of stage 1.5 files to install. They are prefixed
-# by the filesystem name, except for ext2fs, where the stage 1.5 is
-# prefixed by e2fs.
-GRUB_STAGE_1_5_TO_INSTALL = $(subst ext2fs,e2fs,$(GRUB_SELECTED_FILESYSTEMS))
-
-GRUB_CONFIG-y = \
-	$(foreach fs,$(GRUB_POSSIBLE_FILESYSTEMS),\
-		$(if $(filter $(fs),$(GRUB_SELECTED_FILESYSTEMS)),--enable-$(fs),--disable-$(fs)))
+GRUB_STAGE_1_5_TO_INSTALL += $(if $(BR2_TARGET_GRUB_FS_EXT2),e2fs)
+GRUB_STAGE_1_5_TO_INSTALL += $(if $(BR2_TARGET_GRUB_FS_FAT),fat)
+GRUB_STAGE_1_5_TO_INSTALL += $(if $(BR2_TARGET_GRUB_FS_ISO9660),iso9660)
+GRUB_STAGE_1_5_TO_INSTALL += $(if $(BR2_TARGET_GRUB_FS_JFS),jfs)
+GRUB_STAGE_1_5_TO_INSTALL += $(if $(BR2_TARGET_GRUB_FS_REISERFS),reiserfs)
+GRUB_STAGE_1_5_TO_INSTALL += $(if $(BR2_TARGET_GRUB_FS_XFS),xfs)
 
 define GRUB_DEBIAN_PATCHES
 	# Apply the patches from the Debian patch
-- 
1.8.3.2

^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [Buildroot] [PATCH 4/9] fs/iso9660: select ISO9660 support in Grub
  2013-12-28 14:56 [Buildroot] [PATCH 0/9] iso9660/grub improvements Thomas Petazzoni
                   ` (2 preceding siblings ...)
  2013-12-28 14:56 ` [Buildroot] [PATCH 3/9] grub: replace string option for filesystem selection by booleans Thomas Petazzoni
@ 2013-12-28 14:56 ` Thomas Petazzoni
  2013-12-28 19:38   ` Yann E. MORIN
  2013-12-28 14:56 ` [Buildroot] [PATCH 5/9] linux: enable initrd/initramfs support when cpio rootfs is chosen Thomas Petazzoni
                   ` (5 subsequent siblings)
  9 siblings, 1 reply; 27+ messages in thread
From: Thomas Petazzoni @ 2013-12-28 14:56 UTC (permalink / raw)
  To: buildroot

The fs/iso9660 logic assumes that the Grub bootloader is
used. Therefore, it should make sure that Grub is configured with the
support for the ISO9660 filesystem.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 fs/iso9660/Config.in | 1 +
 1 file changed, 1 insertion(+)

diff --git a/fs/iso9660/Config.in b/fs/iso9660/Config.in
index 4c200c8..50b4377 100644
--- a/fs/iso9660/Config.in
+++ b/fs/iso9660/Config.in
@@ -4,6 +4,7 @@ config BR2_TARGET_ROOTFS_ISO9660
 	depends on BR2_LINUX_KERNEL
 	select BR2_TARGET_ROOTFS_CPIO
 	select BR2_TARGET_GRUB
+	select BR2_TARGET_GRUB_FS_ISO9660
 	help
 	  Build a bootable iso9660 image
 
-- 
1.8.3.2

^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [Buildroot] [PATCH 5/9] linux: enable initrd/initramfs support when cpio rootfs is chosen
  2013-12-28 14:56 [Buildroot] [PATCH 0/9] iso9660/grub improvements Thomas Petazzoni
                   ` (3 preceding siblings ...)
  2013-12-28 14:56 ` [Buildroot] [PATCH 4/9] fs/iso9660: select ISO9660 support in Grub Thomas Petazzoni
@ 2013-12-28 14:56 ` Thomas Petazzoni
  2013-12-28 19:49   ` Yann E. MORIN
  2013-12-28 14:56 ` [Buildroot] [PATCH 6/9] fs/iso9660: do not use an initrd in iso image when using initramfs Thomas Petazzoni
                   ` (4 subsequent siblings)
  9 siblings, 1 reply; 27+ messages in thread
From: Thomas Petazzoni @ 2013-12-28 14:56 UTC (permalink / raw)
  To: buildroot

When one enables the generation of a cpio archive of the root
filesystem, the most likely usage is as an initramfs for the
kernel. This commit ensures that the kernel has initramfs support when
the rootfs cpio image format is chosen.

This will for example ensure that if the user selects the ISO9660
filesystem format (which uses a cpio initramfs), the kernel will have
proper support to load and use the initramfs.

It is worth mentionning that when BR2_TARGET_ROOTFS_INITRAMFS is
enabled, then BR2_TARGET_ROOTFS_CPIO is always enabled. That's why we
move the enabling of CONFIG_BLK_DEV_INITRD from the initramfs case to
the cpio case.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 linux/linux.mk | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/linux/linux.mk b/linux/linux.mk
index 5af167d..fa8aa0c 100644
--- a/linux/linux.mk
+++ b/linux/linux.mk
@@ -169,13 +169,14 @@ define LINUX_CONFIGURE_CMDS
 	rm $(KERNEL_ARCH_PATH)/configs/buildroot_defconfig
 	$(if $(BR2_arm)$(BR2_armeb),
 		$(call KCONFIG_ENABLE_OPT,CONFIG_AEABI,$(@D)/.config))
+	$(if $(BR2_TARGET_ROOTFS_CPIO),
+		$(call KCONFIG_ENABLE_OPT,CONFIG_BLK_DEV_INITRD,$(@D)/.config))
 	# As the kernel gets compiled before root filesystems are
 	# built, we create a fake cpio file. It'll be
 	# replaced later by the real cpio archive, and the kernel will be
 	# rebuilt using the linux26-rebuild-with-initramfs target.
 	$(if $(BR2_TARGET_ROOTFS_INITRAMFS),
 		touch $(BINARIES_DIR)/rootfs.cpio
-		$(call KCONFIG_ENABLE_OPT,CONFIG_BLK_DEV_INITRD,$(@D)/.config)
 		$(call KCONFIG_SET_OPT,CONFIG_INITRAMFS_SOURCE,\"$(BINARIES_DIR)/rootfs.cpio\",$(@D)/.config)
 		$(call KCONFIG_SET_OPT,CONFIG_INITRAMFS_ROOT_UID,0,$(@D)/.config)
 		$(call KCONFIG_SET_OPT,CONFIG_INITRAMFS_ROOT_GID,0,$(@D)/.config))
-- 
1.8.3.2

^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [Buildroot] [PATCH 6/9] fs/iso9660: do not use an initrd in iso image when using initramfs
  2013-12-28 14:56 [Buildroot] [PATCH 0/9] iso9660/grub improvements Thomas Petazzoni
                   ` (4 preceding siblings ...)
  2013-12-28 14:56 ` [Buildroot] [PATCH 5/9] linux: enable initrd/initramfs support when cpio rootfs is chosen Thomas Petazzoni
@ 2013-12-28 14:56 ` Thomas Petazzoni
  2013-12-28 14:56 ` [Buildroot] [PATCH 7/9] grub: really disable splash screen support Thomas Petazzoni
                   ` (3 subsequent siblings)
  9 siblings, 0 replies; 27+ messages in thread
From: Thomas Petazzoni @ 2013-12-28 14:56 UTC (permalink / raw)
  To: buildroot

From: Thierry Bultel <thierry.bultel@wanadoo.fr>

When using initramfs built into the kernel, it is useless to put an
initrd in the iso image.  This patch makes the image to only contain
the kernel image, and also removes the initrd line from menu.lst

Signed-off-by: Thierry Bultel <thierry.bultel@wanadoo.fr>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 fs/iso9660/iso9660.mk | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/fs/iso9660/iso9660.mk b/fs/iso9660/iso9660.mk
index 979a0b2..56e87bb 100644
--- a/fs/iso9660/iso9660.mk
+++ b/fs/iso9660/iso9660.mk
@@ -17,7 +17,11 @@ $(BINARIES_DIR)/rootfs.iso9660: host-cdrkit host-fakeroot linux rootfs-cpio grub
 	cp $(GRUB_DIR)/stage2/stage2_eltorito $(ISO9660_TARGET_DIR)/boot/grub/
 	cp $(ISO9660_BOOT_MENU) $(ISO9660_TARGET_DIR)/boot/grub/menu.lst
 	cp $(LINUX_IMAGE_PATH) $(ISO9660_TARGET_DIR)/kernel
+ifeq ($(BR2_TARGET_ROOTFS_INITRAMFS),y)
+	$(SED) '/initrd/d'  $(ISO9660_TARGET_DIR)/boot/grub/menu.lst
+else
 	cp $(BINARIES_DIR)/rootfs.cpio$(ROOTFS_CPIO_COMPRESS_EXT) $(ISO9660_TARGET_DIR)/initrd
+endif
 	# Use fakeroot to pretend all target binaries are owned by root
 	rm -f $(FAKEROOT_SCRIPT)
 	echo "chown -R 0:0 $(ISO9660_TARGET_DIR)" >> $(FAKEROOT_SCRIPT)
-- 
1.8.3.2

^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [Buildroot] [PATCH 7/9] grub: really disable splash screen support
  2013-12-28 14:56 [Buildroot] [PATCH 0/9] iso9660/grub improvements Thomas Petazzoni
                   ` (5 preceding siblings ...)
  2013-12-28 14:56 ` [Buildroot] [PATCH 6/9] fs/iso9660: do not use an initrd in iso image when using initramfs Thomas Petazzoni
@ 2013-12-28 14:56 ` Thomas Petazzoni
  2013-12-28 19:50   ` Yann E. MORIN
  2013-12-28 14:56 ` [Buildroot] [PATCH 8/9] fs/iso9660: add Grub splashscreen support Thomas Petazzoni
                   ` (2 subsequent siblings)
  9 siblings, 1 reply; 27+ messages in thread
From: Thomas Petazzoni @ 2013-12-28 14:56 UTC (permalink / raw)
  To: buildroot

When BR2_TARGET_GRUB_SPLASH is enabled, we were passing
--enable-graphics, but when it was disabled, we were not doing
anything. However, in Grub, graphics support is enabled by default,
and you have to pass --disable-graphics to disable it.

Fix this by passing --enable-graphics or --disable-graphics as
appropriate.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 boot/grub/grub.mk | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/boot/grub/grub.mk b/boot/grub/grub.mk
index 43121ff..3be4a74 100644
--- a/boot/grub/grub.mk
+++ b/boot/grub/grub.mk
@@ -22,7 +22,8 @@ GRUB_CFLAGS = \
 	-O0 -Wl,--build-id=none \
 	-fno-stack-protector
 
-GRUB_CONFIG-$(BR2_TARGET_GRUB_SPLASH) += --enable-graphics
+GRUB_CONFIG-y += $(if $(BR2_TARGET_GRUB_SPLASH),--enable-graphics,--disable-graphics)
+
 GRUB_CONFIG-$(BR2_TARGET_GRUB_DISKLESS) += --enable-diskless
 GRUB_CONFIG-$(BR2_TARGET_GRUB_3c595) += --enable-3c595
 GRUB_CONFIG-$(BR2_TARGET_GRUB_3c90x) += --enable-3c90x
-- 
1.8.3.2

^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [Buildroot] [PATCH 8/9] fs/iso9660: add Grub splashscreen support
  2013-12-28 14:56 [Buildroot] [PATCH 0/9] iso9660/grub improvements Thomas Petazzoni
                   ` (6 preceding siblings ...)
  2013-12-28 14:56 ` [Buildroot] [PATCH 7/9] grub: really disable splash screen support Thomas Petazzoni
@ 2013-12-28 14:56 ` Thomas Petazzoni
  2013-12-28 21:09   ` Yann E. MORIN
  2013-12-28 14:56 ` [Buildroot] [PATCH 9/9] grub: align splashscreen handling with iso9660 code Thomas Petazzoni
  2013-12-29 11:19 ` [Buildroot] [PATCH 0/9] iso9660/grub improvements Thomas Petazzoni
  9 siblings, 1 reply; 27+ messages in thread
From: Thomas Petazzoni @ 2013-12-28 14:56 UTC (permalink / raw)
  To: buildroot

When Grub is built with splashscreen support, copy the splashscreen
image to the ISO9660 filesystem. Otherwise, disable the splashscreen
in the grub menu.lst file.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 fs/iso9660/iso9660.mk | 5 +++++
 fs/iso9660/menu.lst   | 5 ++++-
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/fs/iso9660/iso9660.mk b/fs/iso9660/iso9660.mk
index 56e87bb..0260d41 100644
--- a/fs/iso9660/iso9660.mk
+++ b/fs/iso9660/iso9660.mk
@@ -16,6 +16,11 @@ $(BINARIES_DIR)/rootfs.iso9660: host-cdrkit host-fakeroot linux rootfs-cpio grub
 	mkdir -p $(ISO9660_TARGET_DIR)/boot/grub
 	cp $(GRUB_DIR)/stage2/stage2_eltorito $(ISO9660_TARGET_DIR)/boot/grub/
 	cp $(ISO9660_BOOT_MENU) $(ISO9660_TARGET_DIR)/boot/grub/menu.lst
+ifeq ($(BR2_TARGET_GRUB_SPLASH),)
+	$(SED) '/splashimage/d' $(ISO9660_TARGET_DIR)/boot/grub/menu.lst
+else
+	cp boot/grub/splash.xpm.gz $(ISO9660_TARGET_DIR)/
+endif
 	cp $(LINUX_IMAGE_PATH) $(ISO9660_TARGET_DIR)/kernel
 ifeq ($(BR2_TARGET_ROOTFS_INITRAMFS),y)
 	$(SED) '/initrd/d'  $(ISO9660_TARGET_DIR)/boot/grub/menu.lst
diff --git a/fs/iso9660/menu.lst b/fs/iso9660/menu.lst
index ed7836a..b1ba3c9 100644
--- a/fs/iso9660/menu.lst
+++ b/fs/iso9660/menu.lst
@@ -1,6 +1,9 @@
 default		0
 timeout		10
-color cyan/blue white/blue
+color 		cyan/blue white/blue
+splashimage	/splash.xpm.gz
+foreground 	000000
+background 	cccccc
 
 title		Buildroot ISO9660 image
 kernel		/kernel
-- 
1.8.3.2

^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [Buildroot] [PATCH 9/9] grub: align splashscreen handling with iso9660 code
  2013-12-28 14:56 [Buildroot] [PATCH 0/9] iso9660/grub improvements Thomas Petazzoni
                   ` (7 preceding siblings ...)
  2013-12-28 14:56 ` [Buildroot] [PATCH 8/9] fs/iso9660: add Grub splashscreen support Thomas Petazzoni
@ 2013-12-28 14:56 ` Thomas Petazzoni
  2013-12-28 21:14   ` Yann E. MORIN
  2013-12-29 11:19 ` [Buildroot] [PATCH 0/9] iso9660/grub improvements Thomas Petazzoni
  9 siblings, 1 reply; 27+ messages in thread
From: Thomas Petazzoni @ 2013-12-28 14:56 UTC (permalink / raw)
  To: buildroot

This commit aligns the Grub handling of the splash screen with what is
done in the ISO9660 code.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 boot/grub/grub.mk  |  5 ++++-
 boot/grub/menu.lst | 11 +++++++----
 2 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/boot/grub/grub.mk b/boot/grub/grub.mk
index 3be4a74..d22df88 100644
--- a/boot/grub/grub.mk
+++ b/boot/grub/grub.mk
@@ -82,7 +82,10 @@ GRUB_CONF_OPT = \
 ifeq ($(BR2_TARGET_GRUB_SPLASH),y)
 define GRUB_INSTALL_SPLASH
 	cp boot/grub/splash.xpm.gz $(TARGET_DIR)/boot/grub/
-	$(SED) 's/^#splashimage/splashimage/' $(TARGET_DIR)/boot/grub/menu.lst
+endef
+else
+define GRUB_INSTALL_SPLASH
+	$(SED) '/^splashimage/d' $(TARGET_DIR)/boot/grub/menu.lst
 endef
 endif
 
diff --git a/boot/grub/menu.lst b/boot/grub/menu.lst
index 7845fee..09426f2 100644
--- a/boot/grub/menu.lst
+++ b/boot/grub/menu.lst
@@ -1,7 +1,10 @@
-default=0
-timeout=5
-#splashimage=(hd0,0)/boot/grub/splash.xpm.gz
-hiddenmenu
+default		0
+timeout		10
+color 		cyan/blue white/blue
+splashimage	(hd0,0)/boot/grub/splash.xpm.gz
+foreground 	000000
+background 	cccccc
+
 title Buildroot
 	root (hd0,0)
 	kernel /boot/bzImage rw root=/dev/sda1
-- 
1.8.3.2

^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [Buildroot] [PATCH 1/9] fs/iso9660: put the Buildroot boot entry first in Grub menu.lst
  2013-12-28 14:56 ` [Buildroot] [PATCH 1/9] fs/iso9660: put the Buildroot boot entry first in Grub menu.lst Thomas Petazzoni
@ 2013-12-28 19:33   ` Yann E. MORIN
  0 siblings, 0 replies; 27+ messages in thread
From: Yann E. MORIN @ 2013-12-28 19:33 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On 2013-12-28 15:56 +0100, Thomas Petazzoni spake thusly:
> The ISO9660-specific Grub menu.lst contains two entries: one entry to
> chainload the bootloader available in the first hard drive, and
> another entry to boot the Buildroot system.
> 
> However, it defaults to booting the first entry, i.e chainloading
> what's on the first hard drive. For a Buildroot generated system, this
> is quite odd: we're not even booting the system built by Buildroot.
> 
> So, switch the two entries, and put the Buildroot boot entry first.
> 
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  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] 27+ messages in thread

* [Buildroot] [PATCH 2/9] grub: enclose network driver options in a sub-menu
  2013-12-28 14:56 ` [Buildroot] [PATCH 2/9] grub: enclose network driver options in a sub-menu Thomas Petazzoni
@ 2013-12-28 19:35   ` Yann E. MORIN
  0 siblings, 0 replies; 27+ messages in thread
From: Yann E. MORIN @ 2013-12-28 19:35 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On 2013-12-28 15:56 +0100, Thomas Petazzoni spake thusly:
> In preparation to a change to the configuration options of the
> supported filesystem in Grub, enclose the network driver options in a
> sub-menu.
> 
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  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] 27+ messages in thread

* [Buildroot] [PATCH 3/9] grub: replace string option for filesystem selection by booleans
  2013-12-28 14:56 ` [Buildroot] [PATCH 3/9] grub: replace string option for filesystem selection by booleans Thomas Petazzoni
@ 2013-12-28 19:38   ` Yann E. MORIN
  0 siblings, 0 replies; 27+ messages in thread
From: Yann E. MORIN @ 2013-12-28 19:38 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On 2013-12-28 15:56 +0100, Thomas Petazzoni spake thusly:
> In 1cece2813bf635ae29e9a8287322439b9c5992f7 (grub: add option to
> configure the list of supported filesystems), we introduced the
> BR2_TARGET_GRUB_FS_SUPPORT option which allows to provide a
> space-separated list of filesystems that Grub should support.
> 
> However, it turns out that this not very practical, because the
> iso9660 filesystem logic in Buildroot should force the ISO9660 support
> to be enabled in Grub, which is not easy to do with a string option.
> 
> Therefore, this patch changes this option from a string option to a
> list of boolean option, one per filesystem supported.
> 
> A few useful details:
> 
>  - Since Grub legacy is dead, the list of filesystem, and therefore
>    the number of options, will not grow.
> 
>  - We have only added options for filesystems that are likely to be
>    used in an embedded Linux context. Filesystems such as VSTAfs,
>    Minix, UFS2 or FFS2 are not supported.
> 
>  - There is no need to add some Config.in.legacy support for the
>    previous option, since it was added after Buildroot 2013.11, and
>    was therefore never part of an official Buildroot release.
> 
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  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] 27+ messages in thread

* [Buildroot] [PATCH 4/9] fs/iso9660: select ISO9660 support in Grub
  2013-12-28 14:56 ` [Buildroot] [PATCH 4/9] fs/iso9660: select ISO9660 support in Grub Thomas Petazzoni
@ 2013-12-28 19:38   ` Yann E. MORIN
  0 siblings, 0 replies; 27+ messages in thread
From: Yann E. MORIN @ 2013-12-28 19:38 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On 2013-12-28 15:56 +0100, Thomas Petazzoni spake thusly:
> The fs/iso9660 logic assumes that the Grub bootloader is
> used. Therefore, it should make sure that Grub is configured with the
> support for the ISO9660 filesystem.
> 
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  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] 27+ messages in thread

* [Buildroot] [PATCH 5/9] linux: enable initrd/initramfs support when cpio rootfs is chosen
  2013-12-28 14:56 ` [Buildroot] [PATCH 5/9] linux: enable initrd/initramfs support when cpio rootfs is chosen Thomas Petazzoni
@ 2013-12-28 19:49   ` Yann E. MORIN
  2013-12-29 10:13     ` Thomas Petazzoni
  0 siblings, 1 reply; 27+ messages in thread
From: Yann E. MORIN @ 2013-12-28 19:49 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On 2013-12-28 15:56 +0100, Thomas Petazzoni spake thusly:
> When one enables the generation of a cpio archive of the root
> filesystem, the most likely usage is as an initramfs for the
> kernel. This commit ensures that the kernel has initramfs support when
> the rootfs cpio image format is chosen.
> 
> This will for example ensure that if the user selects the ISO9660
> filesystem format (which uses a cpio initramfs), the kernel will have
> proper support to load and use the initramfs.
> 
> It is worth mentionning that when BR2_TARGET_ROOTFS_INITRAMFS is
> enabled, then BR2_TARGET_ROOTFS_CPIO is always enabled. That's why we
> move the enabling of CONFIG_BLK_DEV_INITRD from the initramfs case to
> the cpio case.

Do we even want to expose cpio in the first place?

The way I see it:
  - if someone wants an archive, then a tarball is a more common archive
    type than cpio is, so we need not expose cpio. If the user wants an
    archive, then he should just use a tarball.
  - thus, as cpio is just a requirement for initramfs, there is no
    reason to expose cpio in the menu, and just merge cpio as a internal
    step of initramfs

> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> ---
>  linux/linux.mk | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/linux/linux.mk b/linux/linux.mk
> index 5af167d..fa8aa0c 100644
> --- a/linux/linux.mk
> +++ b/linux/linux.mk
> @@ -169,13 +169,14 @@ define LINUX_CONFIGURE_CMDS
>  	rm $(KERNEL_ARCH_PATH)/configs/buildroot_defconfig
>  	$(if $(BR2_arm)$(BR2_armeb),
>  		$(call KCONFIG_ENABLE_OPT,CONFIG_AEABI,$(@D)/.config))
> +	$(if $(BR2_TARGET_ROOTFS_CPIO),
> +		$(call KCONFIG_ENABLE_OPT,CONFIG_BLK_DEV_INITRD,$(@D)/.config))
>  	# As the kernel gets compiled before root filesystems are
>  	# built, we create a fake cpio file. It'll be
>  	# replaced later by the real cpio archive, and the kernel will be
>  	# rebuilt using the linux26-rebuild-with-initramfs target.
>  	$(if $(BR2_TARGET_ROOTFS_INITRAMFS),
>  		touch $(BINARIES_DIR)/rootfs.cpio
> -		$(call KCONFIG_ENABLE_OPT,CONFIG_BLK_DEV_INITRD,$(@D)/.config)
>  		$(call KCONFIG_SET_OPT,CONFIG_INITRAMFS_SOURCE,\"$(BINARIES_DIR)/rootfs.cpio\",$(@D)/.config)
>  		$(call KCONFIG_SET_OPT,CONFIG_INITRAMFS_ROOT_UID,0,$(@D)/.config)
>  		$(call KCONFIG_SET_OPT,CONFIG_INITRAMFS_ROOT_GID,0,$(@D)/.config))
> -- 
> 1.8.3.2
> 
> _______________________________________________
> 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] 27+ messages in thread

* [Buildroot] [PATCH 7/9] grub: really disable splash screen support
  2013-12-28 14:56 ` [Buildroot] [PATCH 7/9] grub: really disable splash screen support Thomas Petazzoni
@ 2013-12-28 19:50   ` Yann E. MORIN
  0 siblings, 0 replies; 27+ messages in thread
From: Yann E. MORIN @ 2013-12-28 19:50 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On 2013-12-28 15:56 +0100, Thomas Petazzoni spake thusly:
> When BR2_TARGET_GRUB_SPLASH is enabled, we were passing
> --enable-graphics, but when it was disabled, we were not doing
> anything. However, in Grub, graphics support is enabled by default,
> and you have to pass --disable-graphics to disable it.
> 
> Fix this by passing --enable-graphics or --disable-graphics as
> appropriate.
> 
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  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] 27+ messages in thread

* [Buildroot] [PATCH 8/9] fs/iso9660: add Grub splashscreen support
  2013-12-28 14:56 ` [Buildroot] [PATCH 8/9] fs/iso9660: add Grub splashscreen support Thomas Petazzoni
@ 2013-12-28 21:09   ` Yann E. MORIN
  2013-12-29 10:24     ` Thomas Petazzoni
  0 siblings, 1 reply; 27+ messages in thread
From: Yann E. MORIN @ 2013-12-28 21:09 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On 2013-12-28 15:56 +0100, Thomas Petazzoni spake thusly:
> When Grub is built with splashscreen support, copy the splashscreen
> image to the ISO9660 filesystem. Otherwise, disable the splashscreen
> in the grub menu.lst file.
> 
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> ---
>  fs/iso9660/iso9660.mk | 5 +++++
>  fs/iso9660/menu.lst   | 5 ++++-
>  2 files changed, 9 insertions(+), 1 deletion(-)
> 
> diff --git a/fs/iso9660/iso9660.mk b/fs/iso9660/iso9660.mk
> index 56e87bb..0260d41 100644
> --- a/fs/iso9660/iso9660.mk
> +++ b/fs/iso9660/iso9660.mk
> @@ -16,6 +16,11 @@ $(BINARIES_DIR)/rootfs.iso9660: host-cdrkit host-fakeroot linux rootfs-cpio grub
>  	mkdir -p $(ISO9660_TARGET_DIR)/boot/grub
>  	cp $(GRUB_DIR)/stage2/stage2_eltorito $(ISO9660_TARGET_DIR)/boot/grub/
>  	cp $(ISO9660_BOOT_MENU) $(ISO9660_TARGET_DIR)/boot/grub/menu.lst
> +ifeq ($(BR2_TARGET_GRUB_SPLASH),)
> +	$(SED) '/splashimage/d' $(ISO9660_TARGET_DIR)/boot/grub/menu.lst
> +else
> +	cp boot/grub/splash.xpm.gz $(ISO9660_TARGET_DIR)/
> +endif
>  	cp $(LINUX_IMAGE_PATH) $(ISO9660_TARGET_DIR)/kernel
>  ifeq ($(BR2_TARGET_ROOTFS_INITRAMFS),y)
>  	$(SED) '/initrd/d'  $(ISO9660_TARGET_DIR)/boot/grub/menu.lst
> diff --git a/fs/iso9660/menu.lst b/fs/iso9660/menu.lst
> index ed7836a..b1ba3c9 100644
> --- a/fs/iso9660/menu.lst
> +++ b/fs/iso9660/menu.lst
> @@ -1,6 +1,9 @@
>  default		0
>  timeout		10
> -color cyan/blue white/blue
> +color 		cyan/blue white/blue
> +splashimage	/splash.xpm.gz
> +foreground 	000000
> +background 	cccccc

'foreground' and 'background' do not seem to be valid grub-legacy or
grub-2 options, at least according to their respective documentations:
  - grub-legacy (aka grub-0.9x):
    http://www.gnu.org/software/grub/manual/legacy/grub.html#color
  - grub-2:
    http://www.gnu.org/software/grub/manual/grub.html#Theme-File-Manual

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  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] 27+ messages in thread

* [Buildroot] [PATCH 9/9] grub: align splashscreen handling with iso9660 code
  2013-12-28 14:56 ` [Buildroot] [PATCH 9/9] grub: align splashscreen handling with iso9660 code Thomas Petazzoni
@ 2013-12-28 21:14   ` Yann E. MORIN
  2013-12-29 10:25     ` Thomas Petazzoni
  0 siblings, 1 reply; 27+ messages in thread
From: Yann E. MORIN @ 2013-12-28 21:14 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On 2013-12-28 15:56 +0100, Thomas Petazzoni spake thusly:
> This commit aligns the Grub handling of the splash screen with what is
> done in the ISO9660 code.
> 
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> ---
>  boot/grub/grub.mk  |  5 ++++-
>  boot/grub/menu.lst | 11 +++++++----
>  2 files changed, 11 insertions(+), 5 deletions(-)
> 
> diff --git a/boot/grub/grub.mk b/boot/grub/grub.mk
> index 3be4a74..d22df88 100644
> --- a/boot/grub/grub.mk
> +++ b/boot/grub/grub.mk
> @@ -82,7 +82,10 @@ GRUB_CONF_OPT = \
>  ifeq ($(BR2_TARGET_GRUB_SPLASH),y)
>  define GRUB_INSTALL_SPLASH
>  	cp boot/grub/splash.xpm.gz $(TARGET_DIR)/boot/grub/
> -	$(SED) 's/^#splashimage/splashimage/' $(TARGET_DIR)/boot/grub/menu.lst
> +endef
> +else
> +define GRUB_INSTALL_SPLASH
> +	$(SED) '/^splashimage/d' $(TARGET_DIR)/boot/grub/menu.lst
>  endef
>  endif
>  
> diff --git a/boot/grub/menu.lst b/boot/grub/menu.lst
> index 7845fee..09426f2 100644
> --- a/boot/grub/menu.lst
> +++ b/boot/grub/menu.lst
> @@ -1,7 +1,10 @@
> -default=0
> -timeout=5
> -#splashimage=(hd0,0)/boot/grub/splash.xpm.gz
> -hiddenmenu
> +default		0
> +timeout		10
> +color 		cyan/blue white/blue
> +splashimage	(hd0,0)/boot/grub/splash.xpm.gz
> +foreground 	000000
> +background 	cccccc

Ditto, see my reply to the previous patch.

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  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] 27+ messages in thread

* [Buildroot] [PATCH 5/9] linux: enable initrd/initramfs support when cpio rootfs is chosen
  2013-12-28 19:49   ` Yann E. MORIN
@ 2013-12-29 10:13     ` Thomas Petazzoni
  2013-12-29 16:34       ` Yann E. MORIN
  0 siblings, 1 reply; 27+ messages in thread
From: Thomas Petazzoni @ 2013-12-29 10:13 UTC (permalink / raw)
  To: buildroot

Dear Yann E. MORIN,

On Sat, 28 Dec 2013 20:49:24 +0100, Yann E. MORIN wrote:

> Do we even want to expose cpio in the first place?
> 
> The way I see it:
>   - if someone wants an archive, then a tarball is a more common archive
>     type than cpio is, so we need not expose cpio. If the user wants an
>     archive, then he should just use a tarball.
>   - thus, as cpio is just a requirement for initramfs, there is no
>     reason to expose cpio in the menu, and just merge cpio as a internal
>     step of initramfs

I am using the cpio format, exposed by Buildroot, on a daily basis. My
use case is that I do a lot of kernel development. I do use Buildroot
to generate a rootfs.cpio, but I build my kernel separately (because
I'm rebuilding it many 50-100 times a day). And I simply point my
kernel configuration to the Buildroot rootfs.cpio:

~/projets/marvell/mvebu$ grep INITRAMFS_SOURCE .config
CONFIG_INITRAMFS_SOURCE="../rootfs-armv7/images/rootfs.cpio"

So yes, I *really* want to keep the cpio format option :-)

Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 27+ messages in thread

* [Buildroot] [PATCH 8/9] fs/iso9660: add Grub splashscreen support
  2013-12-28 21:09   ` Yann E. MORIN
@ 2013-12-29 10:24     ` Thomas Petazzoni
  2013-12-29 16:45       ` Yann E. MORIN
  0 siblings, 1 reply; 27+ messages in thread
From: Thomas Petazzoni @ 2013-12-29 10:24 UTC (permalink / raw)
  To: buildroot

Dear Yann E. MORIN,

On Sat, 28 Dec 2013 22:09:20 +0100, Yann E. MORIN wrote:

> > diff --git a/fs/iso9660/menu.lst b/fs/iso9660/menu.lst
> > index ed7836a..b1ba3c9 100644
> > --- a/fs/iso9660/menu.lst
> > +++ b/fs/iso9660/menu.lst
> > @@ -1,6 +1,9 @@
> >  default		0
> >  timeout		10
> > -color cyan/blue white/blue
> > +color 		cyan/blue white/blue
> > +splashimage	/splash.xpm.gz
> > +foreground 	000000
> > +background 	cccccc
> 
> 'foreground' and 'background' do not seem to be valid grub-legacy or
> grub-2 options, at least according to their respective documentations:
>   - grub-legacy (aka grub-0.9x):
>     http://www.gnu.org/software/grub/manual/legacy/grub.html#color
>   - grub-2:
>     http://www.gnu.org/software/grub/manual/grub.html#Theme-File-Manual

That's because the documentation is not up-to-date with the Debian
patches additions. Those options are really handled, they really have an
effect (I tested it). I learned about them while reading:

  http://www.katspace.org/computers/Grub_Splash/

This option is added by the Debian specific patch
debian/patches/graphics.diff. Here is the definition of the foreground
option in Debian's patch:

+static struct builtin builtin_foreground =
+{
+  "foreground",
+  foreground_func,
+  BUILTIN_CMDLINE | BUILTIN_MENU | BUILTIN_HELP_LIST,
+  "foreground RRGGBB",
+  "Sets the foreground color when in graphics mode."
+  "RR is red, GG is green, and BB blue. Numbers must be in hexadecimal."
+};

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 27+ messages in thread

* [Buildroot] [PATCH 9/9] grub: align splashscreen handling with iso9660 code
  2013-12-28 21:14   ` Yann E. MORIN
@ 2013-12-29 10:25     ` Thomas Petazzoni
  0 siblings, 0 replies; 27+ messages in thread
From: Thomas Petazzoni @ 2013-12-29 10:25 UTC (permalink / raw)
  To: buildroot

Dear Yann E. MORIN,

On Sat, 28 Dec 2013 22:14:25 +0100, Yann E. MORIN wrote:
> > +foreground 	000000
> > +background 	cccccc
> 
> Ditto, see my reply to the previous patch.

Same answer as patch 8/9 :-)

Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 27+ messages in thread

* [Buildroot] [PATCH 0/9] iso9660/grub improvements
  2013-12-28 14:56 [Buildroot] [PATCH 0/9] iso9660/grub improvements Thomas Petazzoni
                   ` (8 preceding siblings ...)
  2013-12-28 14:56 ` [Buildroot] [PATCH 9/9] grub: align splashscreen handling with iso9660 code Thomas Petazzoni
@ 2013-12-29 11:19 ` Thomas Petazzoni
  2013-12-29 16:59   ` Yann E. MORIN
  9 siblings, 1 reply; 27+ messages in thread
From: Thomas Petazzoni @ 2013-12-29 11:19 UTC (permalink / raw)
  To: buildroot

Hello,

On Sat, 28 Dec 2013 15:56:31 +0100, Thomas Petazzoni wrote:

> Here is a set of commits that improves the iso9660/grub handling:
> 
>  * Ensures that grub is built with the iso9660 support when the
>    iso9660 image format has been selected.
> 
>  * Add splashscreen support to Grub for the iso9660 image mechanism.
> 
>  * Do not include the initrd into the filesystem if it is built into
>    the kernel image itself.
> 
>  * Related improvements/fixes

I have applied patches 1, 2, 3, 4 and 7. For patches 5, 6, 8 and 9, I'm
waiting for Yann's Acked-by, or someone else Acked-by :)

Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 27+ messages in thread

* [Buildroot] [PATCH 5/9] linux: enable initrd/initramfs support when cpio rootfs is chosen
  2013-12-29 10:13     ` Thomas Petazzoni
@ 2013-12-29 16:34       ` Yann E. MORIN
  2013-12-29 17:00         ` Thomas Petazzoni
  0 siblings, 1 reply; 27+ messages in thread
From: Yann E. MORIN @ 2013-12-29 16:34 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On 2013-12-29 11:13 +0100, Thomas Petazzoni spake thusly:
> On Sat, 28 Dec 2013 20:49:24 +0100, Yann E. MORIN wrote:
> 
> > Do we even want to expose cpio in the first place?
> > 
> > The way I see it:
> >   - if someone wants an archive, then a tarball is a more common archive
> >     type than cpio is, so we need not expose cpio. If the user wants an
> >     archive, then he should just use a tarball.
> >   - thus, as cpio is just a requirement for initramfs, there is no
> >     reason to expose cpio in the menu, and just merge cpio as a internal
> >     step of initramfs
> 
> I am using the cpio format, exposed by Buildroot, on a daily basis. My
> use case is that I do a lot of kernel development. I do use Buildroot
> to generate a rootfs.cpio, but I build my kernel separately (because
> I'm rebuilding it many 50-100 times a day). And I simply point my
> kernel configuration to the Buildroot rootfs.cpio:
> 
> ~/projets/marvell/mvebu$ grep INITRAMFS_SOURCE .config
> CONFIG_INITRAMFS_SOURCE="../rootfs-armv7/images/rootfs.cpio"
> 
> So yes, I *really* want to keep the cpio format option :-)

Ah, OK, that's indeed a valid use-case. I had forgotten about
externally-built kernels.

But then, unless you're building without modules, you'd have to rebuild
your rootfs.cpio everytime you rebuild your kernel, no?

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  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] 27+ messages in thread

* [Buildroot] [PATCH 8/9] fs/iso9660: add Grub splashscreen support
  2013-12-29 10:24     ` Thomas Petazzoni
@ 2013-12-29 16:45       ` Yann E. MORIN
  2013-12-29 17:02         ` Thomas Petazzoni
  0 siblings, 1 reply; 27+ messages in thread
From: Yann E. MORIN @ 2013-12-29 16:45 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On 2013-12-29 11:24 +0100, Thomas Petazzoni spake thusly:
> On Sat, 28 Dec 2013 22:09:20 +0100, Yann E. MORIN wrote:
> 
> > > diff --git a/fs/iso9660/menu.lst b/fs/iso9660/menu.lst
> > > index ed7836a..b1ba3c9 100644
> > > --- a/fs/iso9660/menu.lst
> > > +++ b/fs/iso9660/menu.lst
> > > @@ -1,6 +1,9 @@
> > >  default		0
> > >  timeout		10
> > > -color cyan/blue white/blue
> > > +color 		cyan/blue white/blue
> > > +splashimage	/splash.xpm.gz
> > > +foreground 	000000
> > > +background 	cccccc
> > 
> > 'foreground' and 'background' do not seem to be valid grub-legacy or
> > grub-2 options, at least according to their respective documentations:
> >   - grub-legacy (aka grub-0.9x):
> >     http://www.gnu.org/software/grub/manual/legacy/grub.html#color
> >   - grub-2:
> >     http://www.gnu.org/software/grub/manual/grub.html#Theme-File-Manual
> 
> That's because the documentation is not up-to-date with the Debian
> patches additions. Those options are really handled, they really have an
> effect (I tested it). I learned about them while reading:
> 
>   http://www.katspace.org/computers/Grub_Splash/

Hey! Nice ressource! :-)

Maybe we could add a reference to it somewhere in our docs?

> This option is added by the Debian specific patch
> debian/patches/graphics.diff.

Ah right, because we're using a Debian snapshot, not an official
release.

> Here is the definition of the foreground
> option in Debian's patch:
> 
> +static struct builtin builtin_foreground =
> +{
> +  "foreground",
> +  foreground_func,
> +  BUILTIN_CMDLINE | BUILTIN_MENU | BUILTIN_HELP_LIST,
> +  "foreground RRGGBB",
> +  "Sets the foreground color when in graphics mode."
> +  "RR is red, GG is green, and BB blue. Numbers must be in hexadecimal."
> +};

But then, to be clean, maybe we'd want to also get rid of 'foreground'
and 'background' when there's no splashscreen. From the link you quoted:

    The "foreground" and "background" commands seem to only take effect
    when a splash image is used; otherwise grub uses the "color" command.

Granted, this does not seem to be strictly required, but I think it'be
better to just remove it, to avoid the user being puzzled that his
changing foregroud/background has no effect...

Or at least a comment that basically says:
    # {fore,back}ground have no effect without a splashscreen:
    foreground 000000
    background cccccc

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  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] 27+ messages in thread

* [Buildroot] [PATCH 0/9] iso9660/grub improvements
  2013-12-29 11:19 ` [Buildroot] [PATCH 0/9] iso9660/grub improvements Thomas Petazzoni
@ 2013-12-29 16:59   ` Yann E. MORIN
  0 siblings, 0 replies; 27+ messages in thread
From: Yann E. MORIN @ 2013-12-29 16:59 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On 2013-12-29 12:19 +0100, Thomas Petazzoni spake thusly:
> On Sat, 28 Dec 2013 15:56:31 +0100, Thomas Petazzoni wrote:
> 
> > Here is a set of commits that improves the iso9660/grub handling:
> > 
> >  * Ensures that grub is built with the iso9660 support when the
> >    iso9660 image format has been selected.
> > 
> >  * Add splashscreen support to Grub for the iso9660 image mechanism.
> > 
> >  * Do not include the initrd into the filesystem if it is built into
> >    the kernel image itself.
> > 
> >  * Related improvements/fixes
> 
> I have applied patches 1, 2, 3, 4 and 7. For patches 5, 6, 8 and 9, I'm
> waiting for Yann's Acked-by, or someone else Acked-by :)

I guess you can also apply patch 6/9 as I reviewed it.

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  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] 27+ messages in thread

* [Buildroot] [PATCH 5/9] linux: enable initrd/initramfs support when cpio rootfs is chosen
  2013-12-29 16:34       ` Yann E. MORIN
@ 2013-12-29 17:00         ` Thomas Petazzoni
  0 siblings, 0 replies; 27+ messages in thread
From: Thomas Petazzoni @ 2013-12-29 17:00 UTC (permalink / raw)
  To: buildroot

Dear Yann E. MORIN,

On Sun, 29 Dec 2013 17:34:59 +0100, Yann E. MORIN wrote:

> > ~/projets/marvell/mvebu$ grep INITRAMFS_SOURCE .config
> > CONFIG_INITRAMFS_SOURCE="../rootfs-armv7/images/rootfs.cpio"
> > 
> > So yes, I *really* want to keep the cpio format option :-)
> 
> Ah, OK, that's indeed a valid use-case. I had forgotten about
> externally-built kernels.
> 
> But then, unless you're building without modules, you'd have to rebuild
> your rootfs.cpio everytime you rebuild your kernel, no?

I will my kernel without modules, indeed.

Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 27+ messages in thread

* [Buildroot] [PATCH 8/9] fs/iso9660: add Grub splashscreen support
  2013-12-29 16:45       ` Yann E. MORIN
@ 2013-12-29 17:02         ` Thomas Petazzoni
  0 siblings, 0 replies; 27+ messages in thread
From: Thomas Petazzoni @ 2013-12-29 17:02 UTC (permalink / raw)
  To: buildroot

Dear Yann E. MORIN,

On Sun, 29 Dec 2013 17:45:18 +0100, Yann E. MORIN wrote:

> > That's because the documentation is not up-to-date with the Debian
> > patches additions. Those options are really handled, they really have an
> > effect (I tested it). I learned about them while reading:
> > 
> >   http://www.katspace.org/computers/Grub_Splash/
> 
> Hey! Nice ressource! :-)
> 
> Maybe we could add a reference to it somewhere in our docs?

True, I'll add it in the help text of the Splash image support.


> > +static struct builtin builtin_foreground =
> > +{
> > +  "foreground",
> > +  foreground_func,
> > +  BUILTIN_CMDLINE | BUILTIN_MENU | BUILTIN_HELP_LIST,
> > +  "foreground RRGGBB",
> > +  "Sets the foreground color when in graphics mode."
> > +  "RR is red, GG is green, and BB blue. Numbers must be in hexadecimal."
> > +};
> 
> But then, to be clean, maybe we'd want to also get rid of 'foreground'
> and 'background' when there's no splashscreen. From the link you quoted:
> 
>     The "foreground" and "background" commands seem to only take effect
>     when a splash image is used; otherwise grub uses the "color" command.
> 
> Granted, this does not seem to be strictly required, but I think it'be
> better to just remove it, to avoid the user being puzzled that his
> changing foregroud/background has no effect...
> 
> Or at least a comment that basically says:
>     # {fore,back}ground have no effect without a splashscreen:
>     foreground 000000
>     background cccccc

Well, since they have not effect when the splashimage is disabled, I
wanted to avoid adding more code in iso9660.mk/grub.mk. But indeed,
adding a comment might be useful.

I'll respin the series with your comments taken into account, thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 27+ messages in thread

end of thread, other threads:[~2013-12-29 17:02 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-12-28 14:56 [Buildroot] [PATCH 0/9] iso9660/grub improvements Thomas Petazzoni
2013-12-28 14:56 ` [Buildroot] [PATCH 1/9] fs/iso9660: put the Buildroot boot entry first in Grub menu.lst Thomas Petazzoni
2013-12-28 19:33   ` Yann E. MORIN
2013-12-28 14:56 ` [Buildroot] [PATCH 2/9] grub: enclose network driver options in a sub-menu Thomas Petazzoni
2013-12-28 19:35   ` Yann E. MORIN
2013-12-28 14:56 ` [Buildroot] [PATCH 3/9] grub: replace string option for filesystem selection by booleans Thomas Petazzoni
2013-12-28 19:38   ` Yann E. MORIN
2013-12-28 14:56 ` [Buildroot] [PATCH 4/9] fs/iso9660: select ISO9660 support in Grub Thomas Petazzoni
2013-12-28 19:38   ` Yann E. MORIN
2013-12-28 14:56 ` [Buildroot] [PATCH 5/9] linux: enable initrd/initramfs support when cpio rootfs is chosen Thomas Petazzoni
2013-12-28 19:49   ` Yann E. MORIN
2013-12-29 10:13     ` Thomas Petazzoni
2013-12-29 16:34       ` Yann E. MORIN
2013-12-29 17:00         ` Thomas Petazzoni
2013-12-28 14:56 ` [Buildroot] [PATCH 6/9] fs/iso9660: do not use an initrd in iso image when using initramfs Thomas Petazzoni
2013-12-28 14:56 ` [Buildroot] [PATCH 7/9] grub: really disable splash screen support Thomas Petazzoni
2013-12-28 19:50   ` Yann E. MORIN
2013-12-28 14:56 ` [Buildroot] [PATCH 8/9] fs/iso9660: add Grub splashscreen support Thomas Petazzoni
2013-12-28 21:09   ` Yann E. MORIN
2013-12-29 10:24     ` Thomas Petazzoni
2013-12-29 16:45       ` Yann E. MORIN
2013-12-29 17:02         ` Thomas Petazzoni
2013-12-28 14:56 ` [Buildroot] [PATCH 9/9] grub: align splashscreen handling with iso9660 code Thomas Petazzoni
2013-12-28 21:14   ` Yann E. MORIN
2013-12-29 10:25     ` Thomas Petazzoni
2013-12-29 11:19 ` [Buildroot] [PATCH 0/9] iso9660/grub improvements Thomas Petazzoni
2013-12-29 16:59   ` Yann E. MORIN

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox