All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 01/12] boot/syslinux: needs an ia32-capable compiler
  2014-05-02 17:10 [Buildroot] [PATCH 0/12 v3] Bump and improve syslinux (branch yem/syslinux) Yann E. MORIN
@ 2014-05-02 17:10 ` Yann E. MORIN
  2014-05-03 19:38   ` Peter Korsgaard
  2014-05-02 17:10 ` [Buildroot] [PATCH 02/12] boot/syslinux: prepare to install non-core images Yann E. MORIN
                   ` (10 subsequent siblings)
  11 siblings, 1 reply; 21+ messages in thread
From: Yann E. MORIN @ 2014-05-02 17:10 UTC (permalink / raw)
  To: buildroot

From: "Yann E. MORIN" <yann.morin.1998@free.fr>

The pxelinux and isolionux images are 32-bit binaries, so we need a
compiler that can generate them (ie. a compiler that understands -m32).

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Frank Hunleth <fhunleth@troodon-software.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Tested-by: Frank Hunleth <fhunleth@troodon-software.com>
Tested-by: Romain Naour <romain.naour@openwide.fr>

---
Changes v1 -> v2:
  - explain why we need it  (Arnout)
---
 boot/syslinux/Config.in | 1 +
 1 file changed, 1 insertion(+)

diff --git a/boot/syslinux/Config.in b/boot/syslinux/Config.in
index 2c39e65..5b1122d 100644
--- a/boot/syslinux/Config.in
+++ b/boot/syslinux/Config.in
@@ -1,6 +1,7 @@
 config BR2_TARGET_SYSLINUX
 	bool "syslinux"
 	depends on BR2_i386 || BR2_x86_64
+	select BR2_HOSTARCH_NEEDS_IA32_COMPILER
 	help
 	  The syslinux bootloader for x86 systems.
 	  This includes: syslinux, pxelinux, extlinux.
-- 
1.8.3.2

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

* [Buildroot] [PATCH 02/12] boot/syslinux: prepare to install non-core images
  2014-05-02 17:10 [Buildroot] [PATCH 0/12 v3] Bump and improve syslinux (branch yem/syslinux) Yann E. MORIN
  2014-05-02 17:10 ` [Buildroot] [PATCH 01/12] boot/syslinux: needs an ia32-capable compiler Yann E. MORIN
@ 2014-05-02 17:10 ` Yann E. MORIN
  2014-05-02 17:10 ` [Buildroot] [PATCH 03/12] boot/syslinux: make the sub-options a choice Yann E. MORIN
                   ` (9 subsequent siblings)
  11 siblings, 0 replies; 21+ messages in thread
From: Yann E. MORIN @ 2014-05-02 17:10 UTC (permalink / raw)
  To: buildroot

From: "Yann E. MORIN" <yann.morin.1998@free.fr>

Currently, we hard-code the path to the images we install, and
expect them to be from the core/ sub-dir.

Not all images we can install are located in core/. For example,
the efi boot images (to come later) are not located in core/.

Prepare the upcoming installation of extlinux by not expecting
images be in core/.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Lundquist <lists@zelow.no>
Cc: Frank Hunleth <fhunleth@troodon-software.com>
Tested-by: Frank Hunleth <fhunleth@troodon-software.com>
Tested-by: Romain Naour <romain.naour@openwide.fr>
---
 boot/syslinux/syslinux.mk | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/boot/syslinux/syslinux.mk b/boot/syslinux/syslinux.mk
index 0faa81f..a1eb394 100644
--- a/boot/syslinux/syslinux.mk
+++ b/boot/syslinux/syslinux.mk
@@ -28,12 +28,12 @@ define SYSLINUX_INSTALL_TARGET_CMDS
 	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) INSTALLROOT=$(HOST_DIR) install
 endef
 
-SYSLINUX_IMAGES-$(BR2_TARGET_SYSLINUX_ISOLINUX) += isolinux.bin
-SYSLINUX_IMAGES-$(BR2_TARGET_SYSLINUX_PXELINUX) += pxelinux.bin
+SYSLINUX_IMAGES-$(BR2_TARGET_SYSLINUX_ISOLINUX) += core/isolinux.bin
+SYSLINUX_IMAGES-$(BR2_TARGET_SYSLINUX_PXELINUX) += core/pxelinux.bin
 
 define SYSLINUX_INSTALL_IMAGES_CMDS
 	for i in $(SYSLINUX_IMAGES-y); do \
-		$(INSTALL) -D -m 0755 $(@D)/core/$$i $(BINARIES_DIR)/$$i; \
+		$(INSTALL) -D -m 0755 $(@D)/$$i $(BINARIES_DIR)/$${i##*/}; \
 	done
 endef
 
-- 
1.8.3.2

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

* [Buildroot] [PATCH 03/12] boot/syslinux: make the sub-options a choice
  2014-05-02 17:10 [Buildroot] [PATCH 0/12 v3] Bump and improve syslinux (branch yem/syslinux) Yann E. MORIN
  2014-05-02 17:10 ` [Buildroot] [PATCH 01/12] boot/syslinux: needs an ia32-capable compiler Yann E. MORIN
  2014-05-02 17:10 ` [Buildroot] [PATCH 02/12] boot/syslinux: prepare to install non-core images Yann E. MORIN
@ 2014-05-02 17:10 ` Yann E. MORIN
  2014-05-02 17:10 ` [Buildroot] [PATCH 04/12] boot/syslinux: rewrite options prompts Yann E. MORIN
                   ` (8 subsequent siblings)
  11 siblings, 0 replies; 21+ messages in thread
From: Yann E. MORIN @ 2014-05-02 17:10 UTC (permalink / raw)
  To: buildroot

From: "Yann E. MORIN" <yann.morin.1998@free.fr>

Currently it is possible to choose either, both or none of
the pxelinux or isolinux images.

But it does not make sense to build none or both, as we need
at least one to boot the target, and the target can not use
more than one.

So, we need one and only one image to be selected at once.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Lundquist <thomasez@redpill-linpro.com>
Cc: Frank Hunleth <fhunleth@troodon-software.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Tested-by: Frank Hunleth <fhunleth@troodon-software.com>
Tested-by: Romain Naour <romain.naour@openwide.fr>

---
Changes v1 -> v2:
  - make it a choice, not a forced-bool  (Arnout)
---
 boot/syslinux/Config.in | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/boot/syslinux/Config.in b/boot/syslinux/Config.in
index 5b1122d..f7525b8 100644
--- a/boot/syslinux/Config.in
+++ b/boot/syslinux/Config.in
@@ -10,12 +10,15 @@ config BR2_TARGET_SYSLINUX
 
 if BR2_TARGET_SYSLINUX
 
+choice
+	bool "Image to install"
+
 config BR2_TARGET_SYSLINUX_ISOLINUX
 	bool "Install isolinux"
-	default y
 
 config BR2_TARGET_SYSLINUX_PXELINUX
 	bool "Install pxelinux"
-	default y
+
+endchoice
 
 endif
-- 
1.8.3.2

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

* [Buildroot] [PATCH 04/12] boot/syslinux: rewrite options prompts
  2014-05-02 17:10 [Buildroot] [PATCH 0/12 v3] Bump and improve syslinux (branch yem/syslinux) Yann E. MORIN
                   ` (2 preceding siblings ...)
  2014-05-02 17:10 ` [Buildroot] [PATCH 03/12] boot/syslinux: make the sub-options a choice Yann E. MORIN
@ 2014-05-02 17:10 ` Yann E. MORIN
  2014-05-02 17:10 ` [Buildroot] [PATCH 05/12] boot/syslinux: move comments out of define-block Yann E. MORIN
                   ` (7 subsequent siblings)
  11 siblings, 0 replies; 21+ messages in thread
From: Yann E. MORIN @ 2014-05-02 17:10 UTC (permalink / raw)
  To: buildroot

From: "Yann E. MORIN" <yann.morin.1998@free.fr>

Rewrite the options prompt in preparation to adding a new
type of image to install.

Add help entries to each option, too.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Frank Hunleth <fhunleth@troodon-software.com>
Tested-by: Frank Hunleth <fhunleth@troodon-software.com>
Tested-by: Romain Naour <romain.naour@openwide.fr>

---
Changes v1 -> v2:
  - typo s/medias/media/  (Arnout)
  - s/legacy BIOS/legacy-BIOS/ to remove ambiguity  (Arnout)
---
 boot/syslinux/Config.in | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/boot/syslinux/Config.in b/boot/syslinux/Config.in
index f7525b8..7263128 100644
--- a/boot/syslinux/Config.in
+++ b/boot/syslinux/Config.in
@@ -14,11 +14,17 @@ choice
 	bool "Image to install"
 
 config BR2_TARGET_SYSLINUX_ISOLINUX
-	bool "Install isolinux"
+	bool "isolinux"
+	help
+	  Install the legacy-BIOS 'isolinux' image, to boot off
+	  optical media (CDROM, DVD.)
 
 config BR2_TARGET_SYSLINUX_PXELINUX
-	bool "Install pxelinux"
+	bool "pxelinux"
+	help
+	  Install the legacy-BIOS 'pxelinux' image, to boot off
+	  the network using PXE.
 
 endchoice
 
-endif
+endif # BR2_TARGET_SYSLINUX
-- 
1.8.3.2

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

* [Buildroot] [PATCH 05/12] boot/syslinux: move comments out of define-block
  2014-05-02 17:10 [Buildroot] [PATCH 0/12 v3] Bump and improve syslinux (branch yem/syslinux) Yann E. MORIN
                   ` (3 preceding siblings ...)
  2014-05-02 17:10 ` [Buildroot] [PATCH 04/12] boot/syslinux: rewrite options prompts Yann E. MORIN
@ 2014-05-02 17:10 ` Yann E. MORIN
  2014-05-03 19:39   ` Peter Korsgaard
  2014-05-02 17:10 ` [Buildroot] [PATCH 06/12] package/ucl: new package Yann E. MORIN
                   ` (6 subsequent siblings)
  11 siblings, 1 reply; 21+ messages in thread
From: Yann E. MORIN @ 2014-05-02 17:10 UTC (permalink / raw)
  To: buildroot

From: "Yann E. MORIN" <yann.morin.1998@free.fr>

The comments are mot really part of the command we want to execute,
so move themn out of the define-block. This also cleans up the output,
as they will no longer appear.

Reported-by: Arnout Vandecappelle <arnout@mind.be>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 boot/syslinux/syslinux.mk | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/boot/syslinux/syslinux.mk b/boot/syslinux/syslinux.mk
index a1eb394..ee71a0a 100644
--- a/boot/syslinux/syslinux.mk
+++ b/boot/syslinux/syslinux.mk
@@ -22,9 +22,9 @@ define SYSLINUX_BUILD_CMDS
 	$(TARGET_MAKE_ENV) $(MAKE) CC="$(HOSTCC) -idirafter $(HOST_DIR)/usr/include $(HOST_LDFLAGS)" AR="$(HOSTAR)" -C $(@D)
 endef
 
+# While the actual bootloader is compiled for the target, several
+# utilities for installing the bootloader are meant for the host.
 define SYSLINUX_INSTALL_TARGET_CMDS
-	# While the actual bootloader is compiled for the target, several
-	# utilities for installing the bootloader are meant for the host.
 	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) INSTALLROOT=$(HOST_DIR) install
 endef
 
-- 
1.8.3.2

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

* [Buildroot] [PATCH 06/12] package/ucl: new package
  2014-05-02 17:10 [Buildroot] [PATCH 0/12 v3] Bump and improve syslinux (branch yem/syslinux) Yann E. MORIN
                   ` (4 preceding siblings ...)
  2014-05-02 17:10 ` [Buildroot] [PATCH 05/12] boot/syslinux: move comments out of define-block Yann E. MORIN
@ 2014-05-02 17:10 ` Yann E. MORIN
  2014-05-03 19:48   ` Peter Korsgaard
  2014-05-02 17:10 ` [Buildroot] [PATCH 07/12] package/upx: " Yann E. MORIN
                   ` (5 subsequent siblings)
  11 siblings, 1 reply; 21+ messages in thread
From: Yann E. MORIN @ 2014-05-02 17:10 UTC (permalink / raw)
  To: buildroot

From: Frank Hunleth <fhunleth@troodon-software.com>

UCL implements a number of compression algorithms that achieve an
excellent compression ratio while allowing *very* fast decompression.
Decompression requires no additional memory.

This is needed for UPX, which is needed for syslinux 6.x.

Signed-off-by: Frank Hunleth <fhunleth@troodon-software.com>
[yann.morin.1998 at free.fr: don't add a menuconfig entry, since it
 currently is for internal use only]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Tested-by: Romain Naour <romain.naour@openwide.fr>
---
 package/ucl/ucl.mk | 12 ++++++++++++
 1 file changed, 12 insertions(+)
 create mode 100644 package/ucl/ucl.mk

diff --git a/package/ucl/ucl.mk b/package/ucl/ucl.mk
new file mode 100644
index 0000000..225ad7c
--- /dev/null
+++ b/package/ucl/ucl.mk
@@ -0,0 +1,12 @@
+################################################################################
+#
+# ucl
+#
+################################################################################
+
+UCL_VERSION = 1.03
+UCL_SITE = http://www.oberhumer.com/opensource/ucl/download/
+UCL_LICENSE = GPLv2+
+UCL_LICENSE_FILES = COPYING
+
+$(eval $(host-autotools-package))
-- 
1.8.3.2

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

* [Buildroot] [PATCH 07/12] package/upx: new package
  2014-05-02 17:10 [Buildroot] [PATCH 0/12 v3] Bump and improve syslinux (branch yem/syslinux) Yann E. MORIN
                   ` (5 preceding siblings ...)
  2014-05-02 17:10 ` [Buildroot] [PATCH 06/12] package/ucl: new package Yann E. MORIN
@ 2014-05-02 17:10 ` Yann E. MORIN
  2014-05-03 19:48   ` Peter Korsgaard
  2014-05-02 17:10 ` [Buildroot] [PATCH 08/12] boot/syslinux: bump version Yann E. MORIN
                   ` (4 subsequent siblings)
  11 siblings, 1 reply; 21+ messages in thread
From: Yann E. MORIN @ 2014-05-02 17:10 UTC (permalink / raw)
  To: buildroot

From: Frank Hunleth <fhunleth@troodon-software.com>

UPX is a free, portable, extendable, high-performance executable
packer for several executable formats.

This is needed for syslinux 6.x.

Note: upx is a host-only package. Although it supports quite a few
target architectures, the only use so far will be for use by syslinux,
which already has an x86-on-x86 requirement anyway. So we currently do
not care to have target-dependencies on host-upx.

Signed-off-by: Frank Hunleth <fhunleth@troodon-software.com>
[yann.morin.1998 at free.fr: builds fine in parallel; fix build to
 locate libucl; fix installation; don't add a menuconfig entry]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Tested-by: Romain Naour <romain.naour@openwide.fr>

---
Changes v1 -> v2:
  - slightly improve on the commit log about host <-> target
    architectutre limitations  (Arnout)
---
 package/upx/upx.mk | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)
 create mode 100644 package/upx/upx.mk

diff --git a/package/upx/upx.mk b/package/upx/upx.mk
new file mode 100644
index 0000000..a039376
--- /dev/null
+++ b/package/upx/upx.mk
@@ -0,0 +1,28 @@
+################################################################################
+#
+# upx
+#
+################################################################################
+
+UPX_VERSION = 3.91
+UPX_SITE = http://upx.sourceforge.net/download/
+UPX_SOURCE = upx-$(UPX_VERSION)-src.tar.bz2
+UPX_LICENSE = GPLv2+
+UPX_LICENSE_FILES = COPYING
+
+HOST_UPX_DEPENDENCIES = host-ucl
+
+# We need to specify all, otherwise the default target only prints a message
+# stating to "please choose a target for 'make'"... :-(
+define HOST_UPX_BUILD_CMDS
+	$(HOST_MAKE_ENV) $(MAKE) CPPFLAGS="$(HOST_CPPFLAGS)" \
+	    LDFLAGS="$(HOST_LDFLAGS)" UPX_UCLDIR=$(HOST_DIR)/usr \
+	    -C $(@D) all
+endef
+
+# UPX has no install procedure, so install it manually.
+define HOST_UPX_INSTALL_CMDS
+	$(INSTALL) -D -m 0755 $(@D)/src/upx.out $(HOST_DIR)/usr/bin/upx
+endef
+
+$(eval $(host-generic-package))
-- 
1.8.3.2

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

* [Buildroot] [PATCH 0/12 v3] Bump and improve syslinux (branch yem/syslinux)
@ 2014-05-02 17:10 Yann E. MORIN
  2014-05-02 17:10 ` [Buildroot] [PATCH 01/12] boot/syslinux: needs an ia32-capable compiler Yann E. MORIN
                   ` (11 more replies)
  0 siblings, 12 replies; 21+ messages in thread
From: Yann E. MORIN @ 2014-05-02 17:10 UTC (permalink / raw)
  To: buildroot

From: "Yann E. MORIN" <yann.morin.1998@free.fr>

Hello All!

Here are a few patches to bump and enhance syslinux:
  - patches 1..4: preparatory fixing and cleanup patches
  - patches 5..6: new pacakges, dependency of the new syslinux
  - patch   7   : actual syslinux bump
  - patches 8..9: new options to install new types of blobs

To be noted, the syslinx build system is, well, a bit weird, to say
the least. There is I hope extensive-enough information about this
in the bump-patch. Please pay it a bit of attention, it is really
convoluted, and would benefit from some in-depth review.

Thanks to Frank for his preliminary work on ucl and upx, and to
Thomas L. whose extlinux patch prompted me to look at syslinux. ;-)


Changes v2 -> v3:
  - install syslinux files in sub-dir of images/  (Romain)
  - install syslinux .c32 modules  (Romain)
  - typoes

Changes v1 -> v2:
  - explain the need for an ia32 compiler  (Arnout)
  - make the image selection a choice  (Arnout)
  - improve upx commit log  (Arnout)
  - typoes  (Arnout)
  - improve help entry for the mbr option


Regards,
Yann E. MORIN.


The following changes since commit 26132bac8dc4c2d3130c0d239ab4e174dd8b221c:

  libwebsockets: disable checks for C++ compiler (2014-05-02 15:07:43 +0200)

are available in the git repository at:

  git://gitorious.org/buildroot/buildroot.git yem/syslinux

for you to fetch changes up to fd8cb5b156e73680f07c222dca6a812e47ec8e3c:

  boot/syslinux: install in a sub-dir of $(BINARIES_DIR) (2014-05-02 18:33:53 +0200)

----------------------------------------------------------------
Frank Hunleth (2):
      package/ucl: new package
      package/upx: new package

Yann E. MORIN (10):
      boot/syslinux: needs an ia32-capable compiler
      boot/syslinux: prepare to install non-core images
      boot/syslinux: make the sub-options a choice
      boot/syslinux: rewrite options prompts
      boot/syslinux: move comments out of define-block
      boot/syslinux: bump version
      boot/syslinux: add option to install the EFI image
      boot/syslinux: add an option to install an MBR blob
      boot/syslinux: add option to install c32 modules
      boot/syslinux: install in a sub-dir of $(BINARIES_DIR)

 boot/syslinux/Config.in                            | 49 +++++++++++++++--
 .../syslinux-000-user-headers-from-sysroot.patch   | 37 +++++++++++++
 boot/syslinux/syslinux.mk                          | 63 ++++++++++++++++++----
 package/ucl/ucl.mk                                 | 12 +++++
 package/upx/upx.mk                                 | 28 ++++++++++
 5 files changed, 173 insertions(+), 16 deletions(-)
 create mode 100644 boot/syslinux/syslinux-000-user-headers-from-sysroot.patch
 create mode 100644 package/ucl/ucl.mk
 create mode 100644 package/upx/upx.mk

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

* [Buildroot] [PATCH 08/12] boot/syslinux: bump version
  2014-05-02 17:10 [Buildroot] [PATCH 0/12 v3] Bump and improve syslinux (branch yem/syslinux) Yann E. MORIN
                   ` (6 preceding siblings ...)
  2014-05-02 17:10 ` [Buildroot] [PATCH 07/12] package/upx: " Yann E. MORIN
@ 2014-05-02 17:10 ` Yann E. MORIN
  2014-05-03 20:08   ` Peter Korsgaard
  2014-05-02 17:10 ` [Buildroot] [PATCH 09/12] boot/syslinux: add option to install the EFI image Yann E. MORIN
                   ` (3 subsequent siblings)
  11 siblings, 1 reply; 21+ messages in thread
From: Yann E. MORIN @ 2014-05-02 17:10 UTC (permalink / raw)
  To: buildroot

From: "Yann E. MORIN" <yann.morin.1998@free.fr>

This new version has a very, very weird build system. There are different
images that syslinux can now build:
  - the plain legacy-bios images we already supported previously
  - two new EFI32 and EFI64 applications

To build one or the other, the Makefile accepts one or more of:
    make (bios|efi32|efi64)

Specify all of them, and it builds all. Specify 'install', and it installs
all of them, as one may expect.

Still a regular behaviour, is to build only a subset (down to one):
    make bios           <-- builds just the legacy-bios images
    make efi32 bios     <-- builds just the legacy-bios and efi32 images

Where it gets weird is the install procedure. Can you guess how it's done?
Hint: the syslinux guys have invented the multiple-argument parsing in
pure Makefiles. To build then install only the bios images, one would do:
    make bios
    make bios install

Yep, that's it. make bios install. Two arguments, one action.

That makes for some funky workarounds in our install procedure...

'bios' is the only image we support so far, with efi to come in a future
patch.

Using MAKE1, as there are issues with highly-parallel builds.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Frank Hunleth <fhunleth@troodon-software.com>
Tested-by: Frank Hunleth <fhunleth@troodon-software.com>
Tested-by: Romain Naour <romain.naour@openwide.fr>
---
 boot/syslinux/syslinux.mk | 32 ++++++++++++++++++++++++--------
 1 file changed, 24 insertions(+), 8 deletions(-)

diff --git a/boot/syslinux/syslinux.mk b/boot/syslinux/syslinux.mk
index ee71a0a..2c197df 100644
--- a/boot/syslinux/syslinux.mk
+++ b/boot/syslinux/syslinux.mk
@@ -4,32 +4,48 @@
 #
 ################################################################################
 
-SYSLINUX_VERSION = 4.07
-SYSLINUX_SOURCE  = syslinux-$(SYSLINUX_VERSION).tar.bz2
-SYSLINUX_SITE    = $(BR2_KERNEL_MIRROR)/linux/utils/boot/syslinux/4.xx/
+SYSLINUX_VERSION = 6.02
+SYSLINUX_SOURCE  = syslinux-$(SYSLINUX_VERSION).tar.xz
+SYSLINUX_SITE    = $(BR2_KERNEL_MIRROR)/linux/utils/boot/syslinux/
 
 SYSLINUX_LICENSE = GPLv2+
 SYSLINUX_LICENSE_FILES = COPYING
 
 SYSLINUX_INSTALL_IMAGES = YES
 
-SYSLINUX_DEPENDENCIES = host-nasm host-util-linux
+SYSLINUX_DEPENDENCIES = host-nasm host-util-linux host-upx
+
+# The syslinux tarball comes with pre-compiled binaries.
+# Since timestamps might not be in the correct order, a rebuild is
+# not always triggered for all the different images.
+# Cleanup the mess even before we attempt a build, so we indeed
+# build everything from source.
+define SYSLINUX_CLEANUP
+	rm -rf $(@D)/bios $(@D)/efi32 $(@D)/efi64
+endef
+SYSLINUX_POST_PATCH_HOOKS += SYSLINUX_CLEANUP
 
 # syslinux build system has no convenient way to pass CFLAGS,
 # and the internal zlib should take precedence so -I shouldn't
 # be used.
 define SYSLINUX_BUILD_CMDS
-	$(TARGET_MAKE_ENV) $(MAKE) CC="$(HOSTCC) -idirafter $(HOST_DIR)/usr/include $(HOST_LDFLAGS)" AR="$(HOSTAR)" -C $(@D)
+	$(TARGET_MAKE_ENV) $(MAKE1) CC="$(HOSTCC) -idirafter $(HOST_DIR)/usr/include $(HOST_LDFLAGS)" \
+	    AR="$(HOSTAR)" -C $(@D) bios
 endef
 
 # While the actual bootloader is compiled for the target, several
 # utilities for installing the bootloader are meant for the host.
+# Repeat the target, otherwise syslinux will try to build everything
+# Repeat CC and AR, since syslinux really wants to check them at
+# install time
 define SYSLINUX_INSTALL_TARGET_CMDS
-	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) INSTALLROOT=$(HOST_DIR) install
+	$(TARGET_MAKE_ENV) $(MAKE1) CC="$(HOSTCC) -idirafter $(HOST_DIR)/usr/include $(HOST_LDFLAGS)" \
+	    AR="$(HOSTAR)" INSTALLROOT=$(HOST_DIR) \
+	    -C $(@D) bios install
 endef
 
-SYSLINUX_IMAGES-$(BR2_TARGET_SYSLINUX_ISOLINUX) += core/isolinux.bin
-SYSLINUX_IMAGES-$(BR2_TARGET_SYSLINUX_PXELINUX) += core/pxelinux.bin
+SYSLINUX_IMAGES-$(BR2_TARGET_SYSLINUX_ISOLINUX) += bios/core/isolinux.bin
+SYSLINUX_IMAGES-$(BR2_TARGET_SYSLINUX_PXELINUX) += bios/core/pxelinux.bin
 
 define SYSLINUX_INSTALL_IMAGES_CMDS
 	for i in $(SYSLINUX_IMAGES-y); do \
-- 
1.8.3.2

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

* [Buildroot] [PATCH 09/12] boot/syslinux: add option to install the EFI image
  2014-05-02 17:10 [Buildroot] [PATCH 0/12 v3] Bump and improve syslinux (branch yem/syslinux) Yann E. MORIN
                   ` (7 preceding siblings ...)
  2014-05-02 17:10 ` [Buildroot] [PATCH 08/12] boot/syslinux: bump version Yann E. MORIN
@ 2014-05-02 17:10 ` Yann E. MORIN
  2014-05-02 17:10 ` [Buildroot] [PATCH 10/12] boot/syslinux: add an option to install an MBR blob Yann E. MORIN
                   ` (2 subsequent siblings)
  11 siblings, 0 replies; 21+ messages in thread
From: Yann E. MORIN @ 2014-05-02 17:10 UTC (permalink / raw)
  To: buildroot

From: "Yann E. MORIN" <yann.morin.1998@free.fr>

syslinux can now also build an EFI application.

If the target is 64-bit, we build the 64-bit EFI app,
otherwise we build the 32-bit EFI app.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Frank Hunleth <fhunleth@troodon-software.com>
Tested-by: Frank Hunleth <fhunleth@troodon-software.com>
Tested-by: Romain Naour <romain.naour@openwide.fr>

---
Changes v1 -> v2:
  - move it in the existing choice  (Arnout)
---
 boot/syslinux/Config.in                            | 11 +++++++
 .../syslinux-000-user-headers-from-sysroot.patch   | 37 ++++++++++++++++++++++
 boot/syslinux/syslinux.mk                          | 21 ++++++++++--
 3 files changed, 66 insertions(+), 3 deletions(-)
 create mode 100644 boot/syslinux/syslinux-000-user-headers-from-sysroot.patch

diff --git a/boot/syslinux/Config.in b/boot/syslinux/Config.in
index 7263128..5f0fe97 100644
--- a/boot/syslinux/Config.in
+++ b/boot/syslinux/Config.in
@@ -10,21 +10,32 @@ config BR2_TARGET_SYSLINUX
 
 if BR2_TARGET_SYSLINUX
 
+config BR2_TARGET_SYSLINUX_LEGACY_BIOS
+	bool
+
 choice
 	bool "Image to install"
 
 config BR2_TARGET_SYSLINUX_ISOLINUX
 	bool "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"
+	select BR2_TARGET_SYSLINUX_LEGACY_BIOS
 	help
 	  Install the legacy-BIOS 'pxelinux' image, to boot off
 	  the network using PXE.
 
+config BR2_TARGET_SYSLINUX_EFI
+	bool "efi"
+	select BR2_PACKAGE_GNU_EFI
+	help
+	  Install the 'efi' image, to boot from an EFI environment.
+
 endchoice
 
 endif # BR2_TARGET_SYSLINUX
diff --git a/boot/syslinux/syslinux-000-user-headers-from-sysroot.patch b/boot/syslinux/syslinux-000-user-headers-from-sysroot.patch
new file mode 100644
index 0000000..5edf79f
--- /dev/null
+++ b/boot/syslinux/syslinux-000-user-headers-from-sysroot.patch
@@ -0,0 +1,37 @@
+efi: look for headers and libs in the sysroot
+
+Currently, syslinux hard-codes search paths to /usr/.... directories.
+This does not play well in cross-compilation.
+
+If $SYSROOT is defined, prepend it to the search paths.
+
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+
+diff -durN syslinux-6.02.orig/efi/find-gnu-efi.sh syslinux-6.02/efi/find-gnu-efi.sh
+--- syslinux-6.02.orig/efi/find-gnu-efi.sh	2013-10-13 19:59:03.000000000 +0200
++++ syslinux-6.02/efi/find-gnu-efi.sh	2014-04-22 00:19:23.638483887 +0200
+@@ -9,7 +9,7 @@
+ find_include()
+ {
+     for d in $include_dirs; do
+-	found=`find $d -name efi -type d 2> /dev/null`
++	found=`find $SYSROOT$d -name efi -type d 2> /dev/null`
+ 	if [ "$found"x != "x" ] && [ -e $found/$ARCH/efibind.h ]; then
+ 	    echo $found
+ 	    break;
+@@ -20,12 +20,12 @@
+ find_lib()
+ {
+     for d in $lib_dirs; do
+-	found=`find $d -name libgnuefi.a 2> /dev/null`
++	found=`find $SYSROOT$d -name libgnuefi.a 2> /dev/null`
+ 	if [ "$found"x != "x" ]; then
+ 	    crt_name='crt0-efi-'$ARCH'.o'
+-	    crt=`find $d -name $crt_name 2> /dev/null`
++	    crt=`find $SYSROOT$d -name $crt_name 2> /dev/null`
+ 	    if [ "$crt"x != "x" ]; then
+-		echo $d
++		echo $SYSROOT$d
+ 		break;
+ 	    fi
+ 	fi
diff --git a/boot/syslinux/syslinux.mk b/boot/syslinux/syslinux.mk
index 2c197df..95ece52 100644
--- a/boot/syslinux/syslinux.mk
+++ b/boot/syslinux/syslinux.mk
@@ -15,6 +15,20 @@ SYSLINUX_INSTALL_IMAGES = YES
 
 SYSLINUX_DEPENDENCIES = host-nasm host-util-linux host-upx
 
+ifeq ($(BR2_TARGET_SYSLINUX_LEGACY_BIOS),y)
+SYSLINUX_TARGET = bios
+endif
+
+ifeq ($(BR2_TARGET_SYSLINUX_EFI),y)
+ifeq ($(BR2_ARCH_IS_64),y)
+SYSLINUX_EFI_BITS = efi64
+else
+SYSLINUX_EFI_BITS = efi32
+endif # 64-bit
+SYSLINUX_DEPENDENCIES += gnu-efi
+SYSLINUX_TARGET = $(SYSLINUX_EFI_BITS)
+endif # EFI
+
 # The syslinux tarball comes with pre-compiled binaries.
 # Since timestamps might not be in the correct order, a rebuild is
 # not always triggered for all the different images.
@@ -30,7 +44,7 @@ SYSLINUX_POST_PATCH_HOOKS += SYSLINUX_CLEANUP
 # be used.
 define SYSLINUX_BUILD_CMDS
 	$(TARGET_MAKE_ENV) $(MAKE1) CC="$(HOSTCC) -idirafter $(HOST_DIR)/usr/include $(HOST_LDFLAGS)" \
-	    AR="$(HOSTAR)" -C $(@D) bios
+	    AR="$(HOSTAR)" SYSROOT=$(STAGING_DIR) -C $(@D) $(SYSLINUX_TARGET)
 endef
 
 # While the actual bootloader is compiled for the target, several
@@ -40,12 +54,13 @@ endef
 # install time
 define SYSLINUX_INSTALL_TARGET_CMDS
 	$(TARGET_MAKE_ENV) $(MAKE1) CC="$(HOSTCC) -idirafter $(HOST_DIR)/usr/include $(HOST_LDFLAGS)" \
-	    AR="$(HOSTAR)" INSTALLROOT=$(HOST_DIR) \
-	    -C $(@D) bios install
+	    AR="$(HOSTAR)" SYSROOT=$(STAGING_DIR) INSTALLROOT=$(HOST_DIR) \
+	    -C $(@D) $(SYSLINUX_TARGET) install
 endef
 
 SYSLINUX_IMAGES-$(BR2_TARGET_SYSLINUX_ISOLINUX) += bios/core/isolinux.bin
 SYSLINUX_IMAGES-$(BR2_TARGET_SYSLINUX_PXELINUX) += bios/core/pxelinux.bin
+SYSLINUX_IMAGES-$(BR2_TARGET_SYSLINUX_EFI) += $(SYSLINUX_EFI_BITS)/efi/syslinux.efi
 
 define SYSLINUX_INSTALL_IMAGES_CMDS
 	for i in $(SYSLINUX_IMAGES-y); do \
-- 
1.8.3.2

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

* [Buildroot] [PATCH 10/12] boot/syslinux: add an option to install an MBR blob
  2014-05-02 17:10 [Buildroot] [PATCH 0/12 v3] Bump and improve syslinux (branch yem/syslinux) Yann E. MORIN
                   ` (8 preceding siblings ...)
  2014-05-02 17:10 ` [Buildroot] [PATCH 09/12] boot/syslinux: add option to install the EFI image Yann E. MORIN
@ 2014-05-02 17:10 ` Yann E. MORIN
  2014-05-02 17:10 ` [Buildroot] [PATCH 11/12] boot/syslinux: add option to install c32 modules Yann E. MORIN
  2014-05-02 17:10 ` [Buildroot] [PATCH 12/12] boot/syslinux: install in a sub-dir of $(BINARIES_DIR) Yann E. MORIN
  11 siblings, 0 replies; 21+ messages in thread
From: Yann E. MORIN @ 2014-05-02 17:10 UTC (permalink / raw)
  To: buildroot

From: "Yann E. MORIN" <yann.morin.1998@free.fr>

This MBR blob will look for an active partition, and boot the bootcode
present in that partition. This can be used to boot an extlinux-prepared
partition.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Lundquist <lists@zelow.no>
Cc: Frank Hunleth <fhunleth@troodon-software.com>
Tested-by: Frank Hunleth <fhunleth@troodon-software.com>
Tested-by: Romain Naour <romain.naour@openwide.fr>

---
Changes v2 -> v3:
  - s/legacy BIOS/legacy-BIOS/ to avoid ambiguity

Changes v1 -> v2:
  - slightly expand the help entry
---
 boot/syslinux/Config.in   | 8 ++++++++
 boot/syslinux/syslinux.mk | 1 +
 2 files changed, 9 insertions(+)

diff --git a/boot/syslinux/Config.in b/boot/syslinux/Config.in
index 5f0fe97..28c5329 100644
--- a/boot/syslinux/Config.in
+++ b/boot/syslinux/Config.in
@@ -30,6 +30,14 @@ config BR2_TARGET_SYSLINUX_PXELINUX
 	  Install the legacy-BIOS 'pxelinux' image, to boot off
 	  the network using PXE.
 
+config BR2_TARGET_SYSLINUX_MBR
+	bool "mbr"
+	select BR2_TARGET_SYSLINUX_LEGACY_BIOS
+	help
+	  Install the legacy-BIOS 'mbr' image, to boot off a
+	  local MBR-partition (e.g. prepared with 'extlinux'
+	  or 'syslinux').
+
 config BR2_TARGET_SYSLINUX_EFI
 	bool "efi"
 	select BR2_PACKAGE_GNU_EFI
diff --git a/boot/syslinux/syslinux.mk b/boot/syslinux/syslinux.mk
index 95ece52..5432d0a 100644
--- a/boot/syslinux/syslinux.mk
+++ b/boot/syslinux/syslinux.mk
@@ -60,6 +60,7 @@ endef
 
 SYSLINUX_IMAGES-$(BR2_TARGET_SYSLINUX_ISOLINUX) += bios/core/isolinux.bin
 SYSLINUX_IMAGES-$(BR2_TARGET_SYSLINUX_PXELINUX) += bios/core/pxelinux.bin
+SYSLINUX_IMAGES-$(BR2_TARGET_SYSLINUX_MBR) += bios/mbr/mbr.bin
 SYSLINUX_IMAGES-$(BR2_TARGET_SYSLINUX_EFI) += $(SYSLINUX_EFI_BITS)/efi/syslinux.efi
 
 define SYSLINUX_INSTALL_IMAGES_CMDS
-- 
1.8.3.2

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

* [Buildroot] [PATCH 11/12] boot/syslinux: add option to install c32 modules
  2014-05-02 17:10 [Buildroot] [PATCH 0/12 v3] Bump and improve syslinux (branch yem/syslinux) Yann E. MORIN
                   ` (9 preceding siblings ...)
  2014-05-02 17:10 ` [Buildroot] [PATCH 10/12] boot/syslinux: add an option to install an MBR blob Yann E. MORIN
@ 2014-05-02 17:10 ` Yann E. MORIN
  2014-05-03 20:05   ` Peter Korsgaard
  2014-05-02 17:10 ` [Buildroot] [PATCH 12/12] boot/syslinux: install in a sub-dir of $(BINARIES_DIR) Yann E. MORIN
  11 siblings, 1 reply; 21+ messages in thread
From: Yann E. MORIN @ 2014-05-02 17:10 UTC (permalink / raw)
  To: buildroot

From: "Yann E. MORIN" <yann.morin.1998@free.fr>

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Romain Naour <romain.naour@openwide.fr>
---
 boot/syslinux/Config.in   | 10 ++++++++++
 boot/syslinux/syslinux.mk |  9 +++++++++
 2 files changed, 19 insertions(+)

diff --git a/boot/syslinux/Config.in b/boot/syslinux/Config.in
index 28c5329..f4b9870 100644
--- a/boot/syslinux/Config.in
+++ b/boot/syslinux/Config.in
@@ -46,4 +46,14 @@ config BR2_TARGET_SYSLINUX_EFI
 
 endchoice
 
+if BR2_TARGET_SYSLINUX_LEGACY_BIOS
+
+config BR2_TARGET_SYSLINUX_C32
+	string "modules to install"
+	help
+	  Enter a space-separated list of .c32 modules to install.
+	  Leave empty to install no module.
+
+endif # BR2_TARGET_SYSLINUX_LEGACY_BIOS
+
 endif # BR2_TARGET_SYSLINUX
diff --git a/boot/syslinux/syslinux.mk b/boot/syslinux/syslinux.mk
index 5432d0a..e627f48 100644
--- a/boot/syslinux/syslinux.mk
+++ b/boot/syslinux/syslinux.mk
@@ -63,10 +63,19 @@ SYSLINUX_IMAGES-$(BR2_TARGET_SYSLINUX_PXELINUX) += bios/core/pxelinux.bin
 SYSLINUX_IMAGES-$(BR2_TARGET_SYSLINUX_MBR) += bios/mbr/mbr.bin
 SYSLINUX_IMAGES-$(BR2_TARGET_SYSLINUX_EFI) += $(SYSLINUX_EFI_BITS)/efi/syslinux.efi
 
+SYSLINUX_C32 = $(call qstrip,$(BR2_TARGET_SYSLINUX_C32))
+
+# We install the c32 modules from the host-installed tree, they are all
+# neatly installed in the same location, while they are scaterred around
+# everywhere in the build tree.
 define SYSLINUX_INSTALL_IMAGES_CMDS
 	for i in $(SYSLINUX_IMAGES-y); do \
 		$(INSTALL) -D -m 0755 $(@D)/$$i $(BINARIES_DIR)/$${i##*/}; \
 	done
+	for i in $(SYSLINUX_C32); do \
+		$(INSTALL) -D -m 0755 $(HOST_DIR)/usr/share/syslinux/$${i} \
+				   $(BINARIES_DIR)/$${i}; \
+	done
 endef
 
 $(eval $(generic-package))
-- 
1.8.3.2

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

* [Buildroot] [PATCH 12/12] boot/syslinux: install in a sub-dir of $(BINARIES_DIR)
  2014-05-02 17:10 [Buildroot] [PATCH 0/12 v3] Bump and improve syslinux (branch yem/syslinux) Yann E. MORIN
                   ` (10 preceding siblings ...)
  2014-05-02 17:10 ` [Buildroot] [PATCH 11/12] boot/syslinux: add option to install c32 modules Yann E. MORIN
@ 2014-05-02 17:10 ` Yann E. MORIN
  11 siblings, 0 replies; 21+ messages in thread
From: Yann E. MORIN @ 2014-05-02 17:10 UTC (permalink / raw)
  To: buildroot

From: "Yann E. MORIN" <yann.morin.1998@free.fr>

Since syslinux can now install quite a number of files, install
them in a sub-directory of $(BINARIES_DIR) for clarity.

It also aligns it to rpi-firmware, grub2, gummiboot, that install
all of their files in a sub-dir of $(BINARIES_DIR), too.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Romain Naour <romain.naour@openwide.fr>
---
 boot/syslinux/syslinux.mk | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/boot/syslinux/syslinux.mk b/boot/syslinux/syslinux.mk
index e627f48..c9ad2a8 100644
--- a/boot/syslinux/syslinux.mk
+++ b/boot/syslinux/syslinux.mk
@@ -70,11 +70,11 @@ SYSLINUX_C32 = $(call qstrip,$(BR2_TARGET_SYSLINUX_C32))
 # everywhere in the build tree.
 define SYSLINUX_INSTALL_IMAGES_CMDS
 	for i in $(SYSLINUX_IMAGES-y); do \
-		$(INSTALL) -D -m 0755 $(@D)/$$i $(BINARIES_DIR)/$${i##*/}; \
+		$(INSTALL) -D -m 0755 $(@D)/$$i $(BINARIES_DIR)/syslinux/$${i##*/}; \
 	done
 	for i in $(SYSLINUX_C32); do \
 		$(INSTALL) -D -m 0755 $(HOST_DIR)/usr/share/syslinux/$${i} \
-				   $(BINARIES_DIR)/$${i}; \
+				   $(BINARIES_DIR)/syslinux/$${i}; \
 	done
 endef
 
-- 
1.8.3.2

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

* [Buildroot] [PATCH 01/12] boot/syslinux: needs an ia32-capable compiler
  2014-05-02 17:10 ` [Buildroot] [PATCH 01/12] boot/syslinux: needs an ia32-capable compiler Yann E. MORIN
@ 2014-05-03 19:38   ` Peter Korsgaard
  0 siblings, 0 replies; 21+ messages in thread
From: Peter Korsgaard @ 2014-05-03 19:38 UTC (permalink / raw)
  To: buildroot

>>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes:

 > From: "Yann E. MORIN" <yann.morin.1998@free.fr>
 > The pxelinux and isolionux images are 32-bit binaries, so we need a
 > compiler that can generate them (ie. a compiler that understands -m32).

 > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
 > Cc: Frank Hunleth <fhunleth@troodon-software.com>
 > Cc: Arnout Vandecappelle <arnout@mind.be>
 > Tested-by: Frank Hunleth <fhunleth@troodon-software.com>
 > Tested-by: Romain Naour <romain.naour@openwide.fr>

 > ---
 > Changes v1 -> v2:
 >   - explain why we need it  (Arnout)

Committed patch 1-4, thanks.

-- 
Bye, Peter Korsgaard

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

* [Buildroot] [PATCH 05/12] boot/syslinux: move comments out of define-block
  2014-05-02 17:10 ` [Buildroot] [PATCH 05/12] boot/syslinux: move comments out of define-block Yann E. MORIN
@ 2014-05-03 19:39   ` Peter Korsgaard
  0 siblings, 0 replies; 21+ messages in thread
From: Peter Korsgaard @ 2014-05-03 19:39 UTC (permalink / raw)
  To: buildroot

>>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes:

 > From: "Yann E. MORIN" <yann.morin.1998@free.fr>
 > The comments are mot really part of the command we want to execute,

s/mot/not/


 > so move themn out of the define-block. This also cleans up the output,

s/themn/them/

Committed, thanks.

-- 
Bye, Peter Korsgaard

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

* [Buildroot] [PATCH 06/12] package/ucl: new package
  2014-05-02 17:10 ` [Buildroot] [PATCH 06/12] package/ucl: new package Yann E. MORIN
@ 2014-05-03 19:48   ` Peter Korsgaard
  0 siblings, 0 replies; 21+ messages in thread
From: Peter Korsgaard @ 2014-05-03 19:48 UTC (permalink / raw)
  To: buildroot

>>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes:

 > From: Frank Hunleth <fhunleth@troodon-software.com>
 > UCL implements a number of compression algorithms that achieve an
 > excellent compression ratio while allowing *very* fast decompression.
 > Decompression requires no additional memory.

 > This is needed for UPX, which is needed for syslinux 6.x.

 > Signed-off-by: Frank Hunleth <fhunleth@troodon-software.com>
 > [yann.morin.1998 at free.fr: don't add a menuconfig entry, since it
 >  currently is for internal use only]
 > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
 > Tested-by: Romain Naour <romain.naour@openwide.fr>

Committed, thanks.

-- 
Bye, Peter Korsgaard

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

* [Buildroot] [PATCH 07/12] package/upx: new package
  2014-05-02 17:10 ` [Buildroot] [PATCH 07/12] package/upx: " Yann E. MORIN
@ 2014-05-03 19:48   ` Peter Korsgaard
  0 siblings, 0 replies; 21+ messages in thread
From: Peter Korsgaard @ 2014-05-03 19:48 UTC (permalink / raw)
  To: buildroot

>>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes:

 > From: Frank Hunleth <fhunleth@troodon-software.com>
 > UPX is a free, portable, extendable, high-performance executable
 > packer for several executable formats.

 > This is needed for syslinux 6.x.

 > Note: upx is a host-only package. Although it supports quite a few
 > target architectures, the only use so far will be for use by syslinux,
 > which already has an x86-on-x86 requirement anyway. So we currently do
 > not care to have target-dependencies on host-upx.

 > Signed-off-by: Frank Hunleth <fhunleth@troodon-software.com>
 > [yann.morin.1998 at free.fr: builds fine in parallel; fix build to
 >  locate libucl; fix installation; don't add a menuconfig entry]
 > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
 > Tested-by: Romain Naour <romain.naour@openwide.fr>

 > ---
 > Changes v1 -> v2:
 >   - slightly improve on the commit log about host <-> target
 >     architectutre limitations  (Arnout)

Committed, thanks.

-- 
Bye, Peter Korsgaard

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

* [Buildroot] [PATCH 11/12] boot/syslinux: add option to install c32 modules
  2014-05-02 17:10 ` [Buildroot] [PATCH 11/12] boot/syslinux: add option to install c32 modules Yann E. MORIN
@ 2014-05-03 20:05   ` Peter Korsgaard
  2014-05-03 20:08     ` Yann E. MORIN
  0 siblings, 1 reply; 21+ messages in thread
From: Peter Korsgaard @ 2014-05-03 20:05 UTC (permalink / raw)
  To: buildroot

>>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes:

 > From: "Yann E. MORIN" <yann.morin.1998@free.fr>
 > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
 > Cc: Romain Naour <romain.naour@openwide.fr>
 > ---
 >  boot/syslinux/Config.in   | 10 ++++++++++
 >  boot/syslinux/syslinux.mk |  9 +++++++++
 >  2 files changed, 19 insertions(+)

 > diff --git a/boot/syslinux/Config.in b/boot/syslinux/Config.in
 > index 28c5329..f4b9870 100644
 > --- a/boot/syslinux/Config.in
 > +++ b/boot/syslinux/Config.in
 > @@ -46,4 +46,14 @@ config BR2_TARGET_SYSLINUX_EFI
 
 >  endchoice
 
 > +if BR2_TARGET_SYSLINUX_LEGACY_BIOS
 > +
 > +config BR2_TARGET_SYSLINUX_C32
 > +	string "modules to install"
 > +	help
 > +	  Enter a space-separated list of .c32 modules to install.
 > +	  Leave empty to install no module.

Out of interest, what are those c32 modules? Some kind of loadable
libraries?

 > +# We install the c32 modules from the host-installed tree, they are all
 > +# neatly installed in the same location, while they are scaterred around

s/scaterred/scattered/

Reworded slightly and committed, thanks.

-- 
Bye, Peter Korsgaard

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

* [Buildroot] [PATCH 08/12] boot/syslinux: bump version
  2014-05-02 17:10 ` [Buildroot] [PATCH 08/12] boot/syslinux: bump version Yann E. MORIN
@ 2014-05-03 20:08   ` Peter Korsgaard
  2014-05-03 20:20     ` Yann E. MORIN
  0 siblings, 1 reply; 21+ messages in thread
From: Peter Korsgaard @ 2014-05-03 20:08 UTC (permalink / raw)
  To: buildroot

>>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes:

 > From: "Yann E. MORIN" <yann.morin.1998@free.fr>
 > This new version has a very, very weird build system. There are different
 > images that syslinux can now build:
 >   - the plain legacy-bios images we already supported previously
 >   - two new EFI32 and EFI64 applications

 > To build one or the other, the Makefile accepts one or more of:
 >     make (bios|efi32|efi64)

 > Specify all of them, and it builds all. Specify 'install', and it installs
 > all of them, as one may expect.

 > Still a regular behaviour, is to build only a subset (down to one):
 >     make bios           <-- builds just the legacy-bios images
 >     make efi32 bios     <-- builds just the legacy-bios and efi32 images

 > Where it gets weird is the install procedure. Can you guess how it's done?
 > Hint: the syslinux guys have invented the multiple-argument parsing in
 > pure Makefiles. To build then install only the bios images, one would do:
 >     make bios
 >     make bios install

 > Yep, that's it. make bios install. Two arguments, one action.

 > That makes for some funky workarounds in our install procedure...

Is that so odd? If you don't have an explicit configure step, then there
isn't really anything for the install step to know what configuration
you have built (besides looking for what binaries are available).

Committed this and the rest of the series, thanks.

-- 
Bye, Peter Korsgaard

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

* [Buildroot] [PATCH 11/12] boot/syslinux: add option to install c32 modules
  2014-05-03 20:05   ` Peter Korsgaard
@ 2014-05-03 20:08     ` Yann E. MORIN
  0 siblings, 0 replies; 21+ messages in thread
From: Yann E. MORIN @ 2014-05-03 20:08 UTC (permalink / raw)
  To: buildroot

Peter, All,

On 2014-05-03 22:05 +0200, Peter Korsgaard spake thusly:
> >>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes:
> 
>  > From: "Yann E. MORIN" <yann.morin.1998@free.fr>
>  > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
>  > Cc: Romain Naour <romain.naour@openwide.fr>
>  > ---
>  >  boot/syslinux/Config.in   | 10 ++++++++++
>  >  boot/syslinux/syslinux.mk |  9 +++++++++
>  >  2 files changed, 19 insertions(+)
> 
>  > diff --git a/boot/syslinux/Config.in b/boot/syslinux/Config.in
>  > index 28c5329..f4b9870 100644
>  > --- a/boot/syslinux/Config.in
>  > +++ b/boot/syslinux/Config.in
>  > @@ -46,4 +46,14 @@ config BR2_TARGET_SYSLINUX_EFI
>  
>  >  endchoice
>  
>  > +if BR2_TARGET_SYSLINUX_LEGACY_BIOS
>  > +
>  > +config BR2_TARGET_SYSLINUX_C32
>  > +	string "modules to install"
>  > +	help
>  > +	  Enter a space-separated list of .c32 modules to install.
>  > +	  Leave empty to install no module.
> 
> Out of interest, what are those c32 modules? Some kind of loadable
> libraries?

Yes, a kind of plugin. One provides a graphical (vesa) menu, another
provides a simple shell, and so on...

>  > +# We install the c32 modules from the host-installed tree, they are all
>  > +# neatly installed in the same location, while they are scaterred around
> 
> s/scaterred/scattered/
> 
> Reworded slightly and committed, thanks.

Doh, I really need to do something about my keyboard dislexia... ;-)
Thanks for fixing. :-)

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

* [Buildroot] [PATCH 08/12] boot/syslinux: bump version
  2014-05-03 20:08   ` Peter Korsgaard
@ 2014-05-03 20:20     ` Yann E. MORIN
  0 siblings, 0 replies; 21+ messages in thread
From: Yann E. MORIN @ 2014-05-03 20:20 UTC (permalink / raw)
  To: buildroot

Peter, All,

On 2014-05-03 22:08 +0200, Peter Korsgaard spake thusly:
> >>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes:
> 
>  > From: "Yann E. MORIN" <yann.morin.1998@free.fr>
>  > This new version has a very, very weird build system. There are different
>  > images that syslinux can now build:
>  >   - the plain legacy-bios images we already supported previously
>  >   - two new EFI32 and EFI64 applications
> 
>  > To build one or the other, the Makefile accepts one or more of:
>  >     make (bios|efi32|efi64)
> 
>  > Specify all of them, and it builds all. Specify 'install', and it installs
>  > all of them, as one may expect.
> 
>  > Still a regular behaviour, is to build only a subset (down to one):
>  >     make bios           <-- builds just the legacy-bios images
>  >     make efi32 bios     <-- builds just the legacy-bios and efi32 images
> 
>  > Where it gets weird is the install procedure. Can you guess how it's done?
>  > Hint: the syslinux guys have invented the multiple-argument parsing in
>  > pure Makefiles. To build then install only the bios images, one would do:
>  >     make bios
>  >     make bios install
> 
>  > Yep, that's it. make bios install. Two arguments, one action.
> 
>  > That makes for some funky workarounds in our install procedure...
> 
> Is that so odd? If you don't have an explicit configure step, then there
> isn't really anything for the install step to know what configuration
> you have built (besides looking for what binaries are available).

That's not really the point.

The point is that, to tell what to install, you have to tell it as a
_separate_ make argument.

A bit like if you were doing:
    make bios
    make install-bios

But that last part is in fact spelt:
    make install bios     (or : make bios install)

Then, internally, the Makefile will look at the MAKECMDGOALS to decide
what to do. If none of {bios,efi32,efi64} are specified, it calls itself
back with all on the command line. If one or more are specified, it uses
that list (called FRIMWARE_LIST) to do what it as to do with it (explained
below).

Then, it also look at the other MAKECMDGOALS to see what it has to do:
build or install. If nothing is specified (except the bios/efi32/efi64
targets), then it builds the targets in FIRMWARE_LIST, otherwise it
installs the targets in FIRMWARE_LIST.

But our install command is not so funky, indeed. The first time I wrote
it, it was way funkier. I just forgot to cool down that part in the
commit log.

> Committed this and the rest of the series, thanks.

Thanks! :-)

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

end of thread, other threads:[~2014-05-03 20:20 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-05-02 17:10 [Buildroot] [PATCH 0/12 v3] Bump and improve syslinux (branch yem/syslinux) Yann E. MORIN
2014-05-02 17:10 ` [Buildroot] [PATCH 01/12] boot/syslinux: needs an ia32-capable compiler Yann E. MORIN
2014-05-03 19:38   ` Peter Korsgaard
2014-05-02 17:10 ` [Buildroot] [PATCH 02/12] boot/syslinux: prepare to install non-core images Yann E. MORIN
2014-05-02 17:10 ` [Buildroot] [PATCH 03/12] boot/syslinux: make the sub-options a choice Yann E. MORIN
2014-05-02 17:10 ` [Buildroot] [PATCH 04/12] boot/syslinux: rewrite options prompts Yann E. MORIN
2014-05-02 17:10 ` [Buildroot] [PATCH 05/12] boot/syslinux: move comments out of define-block Yann E. MORIN
2014-05-03 19:39   ` Peter Korsgaard
2014-05-02 17:10 ` [Buildroot] [PATCH 06/12] package/ucl: new package Yann E. MORIN
2014-05-03 19:48   ` Peter Korsgaard
2014-05-02 17:10 ` [Buildroot] [PATCH 07/12] package/upx: " Yann E. MORIN
2014-05-03 19:48   ` Peter Korsgaard
2014-05-02 17:10 ` [Buildroot] [PATCH 08/12] boot/syslinux: bump version Yann E. MORIN
2014-05-03 20:08   ` Peter Korsgaard
2014-05-03 20:20     ` Yann E. MORIN
2014-05-02 17:10 ` [Buildroot] [PATCH 09/12] boot/syslinux: add option to install the EFI image Yann E. MORIN
2014-05-02 17:10 ` [Buildroot] [PATCH 10/12] boot/syslinux: add an option to install an MBR blob Yann E. MORIN
2014-05-02 17:10 ` [Buildroot] [PATCH 11/12] boot/syslinux: add option to install c32 modules Yann E. MORIN
2014-05-03 20:05   ` Peter Korsgaard
2014-05-03 20:08     ` Yann E. MORIN
2014-05-02 17:10 ` [Buildroot] [PATCH 12/12] boot/syslinux: install in a sub-dir of $(BINARIES_DIR) Yann E. MORIN

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.