Skip to contentSkip to conversation

syslinux: Allow to build multiple flavors simultaneously

PATCH New Benoît Allard 4 participants 7 messages Mar 17, 2016 – Apr 18, 2016

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 syslinux: Allow to build multiple flavors simultaneously

This becomes handy when building hybrid images that needs to be able to boot in MBR and GPT mode.

---
Changed v1 -> v2
- Always select at least isolinux (Suggested by Arnoud and Thomas)
- Update the labels to read "install xxx"

---
 boot/syslinux/Config.in   | 17 +++++++++--------
 boot/syslinux/syslinux.mk |  4 ++--
 2 files changed, 11 insertions(+), 10 deletions(-)
boot/syslinux/Config.in +9 -8
index f4b9870..5705d8f 100644
@@ -2,6 +2,11 @@ config BR2_TARGET_SYSLINUX
 	bool "syslinux"
 	depends on BR2_i386 || BR2_x86_64
 	select BR2_HOSTARCH_NEEDS_IA32_COMPILER
+	# Make sure at least one of the flavor is installed
+	select BR2_TARGET_SYSLINUX_ISOLINUX \
+		if !BR2_TARGET_SYSLINUX_PXELINUX && \
+		   !BR2_TARGET_SYSLINUX_MBR && \
+		   !BR2_TARGET_SYSLINUX_EFI
 	help
 	  The syslinux bootloader for x86 systems.
 	  This includes: syslinux, pxelinux, extlinux.
@@ -13,25 +18,22 @@ if BR2_TARGET_SYSLINUX
 config BR2_TARGET_SYSLINUX_LEGACY_BIOS
 	bool
 
-choice
-	bool "Image to install"
-
 config BR2_TARGET_SYSLINUX_ISOLINUX
-	bool "isolinux"
+	bool "install isolinux"
 	select BR2_TARGET_SYSLINUX_LEGACY_BIOS
 	help
 	  Install the legacy-BIOS 'isolinux' image, to boot off
 	  optical media (CDROM, DVD.)
 
 config BR2_TARGET_SYSLINUX_PXELINUX
-	bool "pxelinux"
+	bool "install pxelinux"
 	select BR2_TARGET_SYSLINUX_LEGACY_BIOS
 	help
 	  Install the legacy-BIOS 'pxelinux' image, to boot off
 	  the network using PXE.
 
 config BR2_TARGET_SYSLINUX_MBR
-	bool "mbr"
+	bool "install mbr"
 	select BR2_TARGET_SYSLINUX_LEGACY_BIOS
 	help
 	  Install the legacy-BIOS 'mbr' image, to boot off a
@@ -39,12 +41,11 @@ config BR2_TARGET_SYSLINUX_MBR
 	  or 'syslinux').
 
 config BR2_TARGET_SYSLINUX_EFI
-	bool "efi"
+	bool "install efi"
 	select BR2_PACKAGE_GNU_EFI
 	help
 	  Install the 'efi' image, to boot from an EFI environment.
 
-endchoice
 
 if BR2_TARGET_SYSLINUX_LEGACY_BIOS
 
boot/syslinux/syslinux.mk +2 -2
index 0868896..82890c5 100644
@@ -16,7 +16,7 @@ SYSLINUX_INSTALL_IMAGES = YES
 SYSLINUX_DEPENDENCIES = host-nasm host-util-linux host-upx
 
 ifeq ($(BR2_TARGET_SYSLINUX_LEGACY_BIOS),y)
-SYSLINUX_TARGET = bios
+SYSLINUX_TARGET += bios
 endif
 
 # The syslinux build system must be forced to use Buildroot's gnu-efi
@@ -30,7 +30,7 @@ else
 SYSLINUX_EFI_BITS = efi32
 endif # 64-bit
 SYSLINUX_DEPENDENCIES += gnu-efi
-SYSLINUX_TARGET = $(SYSLINUX_EFI_BITS)
+SYSLINUX_TARGET += $(SYSLINUX_EFI_BITS)
 SYSLINUX_EFI_ARGS = \
 	EFIINC=$(STAGING_DIR)/usr/include/efi \
 	LIBDIR=$(STAGING_DIR)/usr/lib \
Signature · 1 line
2.1.4
#1 lore raw

PATCH 1/1 syslinux: Allow to build multiple flavors simultaneously

Benoit,

Quoted 4 lines · Beno?t Allard

This becomes handy when building hybrid images that needs to be able to boot in MBR and GPT mode.

I built a qemu x86 target and verified that after selecting both iso and mbr they were installed. This update will come in handy on at least one of my projects where we build two types of media sets from the output and need iso/mbr options without creating separate builds or a post image script that extracts the other bin file from the build/syslinux folder.

Tested-by Matt Weber <[email protected]>
Reviewed-by Matt Weber <[email protected]>

Signature · 2 lines
Thanks,
Matt
#2 lore raw

PATCH 1/1 syslinux: Allow to build multiple flavors simultaneously

Benoit,

Quoted 16 lines · Matthew Weber

Benoit,

Quoted 4 lines · Beno?t Allard

This becomes handy when building hybrid images that needs to be able to boot in MBR and GPT mode.

I built a qemu x86 target and verified that after selecting both iso and mbr they were installed. This update will come in handy on at least one of my projects where we build two types of media sets from the output and need iso/mbr options without creating separate builds or a post image script that extracts the other bin file from the build/syslinux folder.

Quoted 6 lines

Tested-by Matt Weber <[email protected]>
Reviewed-by Matt Weber <[email protected]>

--
Thanks,
Matt

Doesn't look like patchworks is tracking this revision of the patch. Maybe send as a version 2?
(end of section 21.5.4)
https://buildroot.org/downloads/manual/manual.html#submitting-patches

Signature · 2 lines
Thanks,
Matt
#3 lore raw

PATCH 1/1 syslinux: Allow to build multiple flavors simultaneously

All,

Quoted 23 lines · On Sat, 2 Apr 2016 08:05:21 -0500 Matthew Weber <[email protected]> wrote:

Benoit,

Quoted 19 lines · Matthew Weber

Benoit,

Quoted 4 lines · Beno?t Allard

This becomes handy when building hybrid images that needs to be able to boot in MBR and GPT mode.

I built a qemu x86 target and verified that after selecting both iso and mbr they were installed. This update will come in handy on at least one of my projects where we build two types of media sets from the output and need iso/mbr options without creating separate builds or a post image script that extracts the other bin file from the build/syslinux folder.

Tested-by Matt Weber <[email protected]>
Reviewed-by Matt Weber <[email protected]>

Quoted 9 lines
Quoted 3 lines

--
Thanks,
Matt

Doesn't look like patchworks is tracking this revision of the patch. Maybe send as a version 2?
(end of section 21.5.4)
https://buildroot.org/downloads/manual/manual.html#submitting-patches

At this point, I'm not sure what action is needed from me to make progress on that. Are we just all set, and waiting for more review / integration, or is some kind of patchwork-magic expected from me there ?

Regards,
Ben
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 473 bytes
Desc: OpenPGP digital signature
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20160408/52d65452/attachment.asc>

#4 lore raw

PATCH 1/1 syslinux: Allow to build multiple flavors simultaneously

Quoted 38 lines · Beno?t Allard

All,

Quoted 23 lines · On Sat, 2 Apr 2016 08:05:21 -0500 Matthew Weber <[email protected]> wrote:

Benoit,

Quoted 19 lines · Matthew Weber

Benoit,

Quoted 4 lines · Beno?t Allard

This becomes handy when building hybrid images that needs to be able to boot in MBR and GPT mode.

I built a qemu x86 target and verified that after selecting both iso and mbr they were installed. This update will come in handy on at least one of my projects where we build two types of media sets from the output and need iso/mbr options without creating separate builds or a post image script that extracts the other bin file from the build/syslinux folder.

Tested-by Matt Weber <[email protected]>
Reviewed-by Matt Weber <[email protected]>

Quoted 9 lines
Quoted 3 lines

--
Thanks,
Matt

Doesn't look like patchworks is tracking this revision of the patch. Maybe send as a version 2?
(end of section 21.5.4)
https://buildroot.org/downloads/manual/manual.html#submitting-patches

Quoted 3 lines

At this point, I'm not sure what action is needed from me to make progress on that. Are we just all set, and waiting for more review / integration, or is some kind of patchwork-magic expected from me there ?

You don't need to do anything, Matt just forgot to add the : in his tags. I'll
add them here:

Regards,
Arnout

Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
#5 lore raw

PATCH 1/1 syslinux: Allow to build multiple flavors simultaneously

In reply to Benoît Allard
Quoted 18 lines · Beno?t Allard

This becomes handy when building hybrid images that needs to be able to boot in MBR and GPT mode.

---
Changed v1 -> v2
- Always select at least isolinux (Suggested by Arnoud and Thomas)
- Update the labels to read "install xxx"

---
  boot/syslinux/Config.in   | 17 +++++++++--------
  boot/syslinux/syslinux.mk |  4 ++--
  2 files changed, 11 insertions(+), 10 deletions(-)
boot/syslinux/Config.in +0 -0
index f4b9870..5705d8f 100644

boot/syslinux/Config.in config BR2_TARGET_SYSLINUX · line 5

Quoted 4 lines
boot/syslinux/Config.in +1 -0
@@ -2,6 +2,11 @@ config BR2_TARGET_SYSLINUX
  	bool "syslinux"
  	depends on BR2_i386 || BR2_x86_64
  	select BR2_HOSTARCH_NEEDS_IA32_COMPILER
+	# Make sure at least one of the flavor is installed

flavor -> flavors

Otherwise looks good so

Regards,
Arnout

Quoted 73 lines
boot/syslinux/Config.in +8 -8
+	select BR2_TARGET_SYSLINUX_ISOLINUX \
+		if !BR2_TARGET_SYSLINUX_PXELINUX && \
+		   !BR2_TARGET_SYSLINUX_MBR && \
+		   !BR2_TARGET_SYSLINUX_EFI
  	help
  	  The syslinux bootloader for x86 systems.
  	  This includes: syslinux, pxelinux, extlinux.
@@ -13,25 +18,22 @@ if BR2_TARGET_SYSLINUX
  config BR2_TARGET_SYSLINUX_LEGACY_BIOS
  	bool
 
-choice
-	bool "Image to install"
-
  config BR2_TARGET_SYSLINUX_ISOLINUX
-	bool "isolinux"
+	bool "install isolinux"
  	select BR2_TARGET_SYSLINUX_LEGACY_BIOS
  	help
  	  Install the legacy-BIOS 'isolinux' image, to boot off
  	  optical media (CDROM, DVD.)
 
  config BR2_TARGET_SYSLINUX_PXELINUX
-	bool "pxelinux"
+	bool "install pxelinux"
  	select BR2_TARGET_SYSLINUX_LEGACY_BIOS
  	help
  	  Install the legacy-BIOS 'pxelinux' image, to boot off
  	  the network using PXE.
 
  config BR2_TARGET_SYSLINUX_MBR
-	bool "mbr"
+	bool "install mbr"
  	select BR2_TARGET_SYSLINUX_LEGACY_BIOS
  	help
  	  Install the legacy-BIOS 'mbr' image, to boot off a
@@ -39,12 +41,11 @@ config BR2_TARGET_SYSLINUX_MBR
  	  or 'syslinux').
 
  config BR2_TARGET_SYSLINUX_EFI
-	bool "efi"
+	bool "install efi"
  	select BR2_PACKAGE_GNU_EFI
  	help
  	  Install the 'efi' image, to boot from an EFI environment.
 
-endchoice
 
  if BR2_TARGET_SYSLINUX_LEGACY_BIOS
 
boot/syslinux/syslinux.mk +2 -2
index 0868896..82890c5 100644
@@ -16,7 +16,7 @@ SYSLINUX_INSTALL_IMAGES = YES
  SYSLINUX_DEPENDENCIES = host-nasm host-util-linux host-upx
 
  ifeq ($(BR2_TARGET_SYSLINUX_LEGACY_BIOS),y)
-SYSLINUX_TARGET = bios
+SYSLINUX_TARGET += bios
  endif
 
  # The syslinux build system must be forced to use Buildroot's gnu-efi
@@ -30,7 +30,7 @@ else
  SYSLINUX_EFI_BITS = efi32
  endif # 64-bit
  SYSLINUX_DEPENDENCIES += gnu-efi
-SYSLINUX_TARGET = $(SYSLINUX_EFI_BITS)
+SYSLINUX_TARGET += $(SYSLINUX_EFI_BITS)
  SYSLINUX_EFI_ARGS = \
  	EFIINC=$(STAGING_DIR)/usr/include/efi \
  	LIBDIR=$(STAGING_DIR)/usr/lib \
Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
#6 lore raw

PATCH 1/1 syslinux: Allow to build multiple flavors simultaneously

In reply to Benoît Allard

Hello,

Quoted 4 lines · Beno?t Allard

This becomes handy when building hybrid images that needs to be able to boot in MBR and GPT mode.

Quoted 8 lines

---
Changed v1 -> v2
- Always select at least isolinux (Suggested by Arnoud and Thomas)
- Update the labels to read "install xxx"

---
 boot/syslinux/Config.in   | 17 +++++++++--------
 boot/syslinux/syslinux.mk |  4 ++--
 2 files changed, 11 insertions(+), 10 deletions(-)

I've fixed the small typo noticed by Arnout and applied, thanks! Thanks to Matt and Arnout for testing/reviewing!

Best regards,

Thomas

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