Skip to contentSkip to conversation

syslinux: Allow to build multiple flavors simultaneously

PATCH New Benoît Allard 3 participants 3 messages Mar 16, 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.

---
 boot/syslinux/Config.in   | 3 ---
 boot/syslinux/syslinux.mk | 4 ++--
 2 files changed, 2 insertions(+), 5 deletions(-)
boot/syslinux/Config.in +0 -3
index f4b9870..ea0fb16 100644
@@ -13,8 +13,6 @@ if BR2_TARGET_SYSLINUX
 config BR2_TARGET_SYSLINUX_LEGACY_BIOS
 	bool
 
-choice
-	bool "Image to install"
 
 config BR2_TARGET_SYSLINUX_ISOLINUX
 	bool "isolinux"
@@ -44,7 +42,6 @@ config BR2_TARGET_SYSLINUX_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

Quoted 14 lines · Beno?t Allard

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

---
  boot/syslinux/Config.in   | 3 ---
  boot/syslinux/syslinux.mk | 4 ++--
  2 files changed, 2 insertions(+), 5 deletions(-)
boot/syslinux/Config.in +0 -0
index f4b9870..ea0fb16 100644

boot/syslinux/Config.in if BR2_TARGET_SYSLINUX · line 18

Quoted 8 lines
boot/syslinux/Config.in +0 -2
@@ -13,8 +13,6 @@ if BR2_TARGET_SYSLINUX
  config BR2_TARGET_SYSLINUX_LEGACY_BIOS
  	bool
 
-choice
-	bool "Image to install"
 
  config BR2_TARGET_SYSLINUX_ISOLINUX
  	bool "isolinux"

The menu entries make less sense now. Either keep a comment above, or change
all the prompts into "install isolinux" ...

boot/syslinux/Config.in config BR2_TARGET_SYSLINUX_EFI · line 44

Quoted 4 lines
boot/syslinux/Config.in +0 -0
@@ -44,7 +42,6 @@ config BR2_TARGET_SYSLINUX_EFI
  	help
  	  Install the 'efi' image, to boot from an EFI environment.
 

It is now possible that no image is selected at all. I think this will be
pretty bad for the build - probably, everything will be built but nothing installed. So we either have to force one of the images to be selected, or add a check in the .mk file that at least one of them is selected. I'm not sure what the best solution is here.

Regards,
Arnout

Quoted 27 lines
boot/syslinux/Config.in +0 -1
-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
#2 lore raw

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

Hello,

Quoted 5 lines · Arnout Vandecappelle

It is now possible that no image is selected at all. I think this will be
pretty bad for the build - probably, everything will be built but nothing installed. So we either have to force one of the images to be selected, or add a check in the .mk file that at least one of them is selected. I'm not sure what the best solution is here.

Ensure in Config.in that one of them is enabled, like in the main option:

	select BR2_TARGET_SYSLINUX_ISOLINUX \
		if !BR2_TARGET_SYSLINUX_PXELINUX && \
		   !BR2_TARGET_SYSLINUX_MBR && \
		   !BR2_TARGET_SYSLINUX_EFI

At least, that's my preference.

Thomas

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