* [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>
---
| 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
--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 +++++
| 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
--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 ++++-
| 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
--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