[arch-commits] Commit in syslinux/repos (12 files)

Anatol Pomozov anatolik at archlinux.org
Thu Nov 21 08:18:52 UTC 2019


    Date: Thursday, November 21, 2019 @ 08:18:50
  Author: anatolik
Revision: 369532

archrelease: copy trunk to testing-x86_64

Added:
  syslinux/repos/testing-x86_64/
  syslinux/repos/testing-x86_64/0002-gfxboot-menu-label.patch
    (from rev 369531, syslinux/trunk/0002-gfxboot-menu-label.patch)
  syslinux/repos/testing-x86_64/0004-gnu-efi-from-arch.patch
    (from rev 369531, syslinux/trunk/0004-gnu-efi-from-arch.patch)
  syslinux/repos/testing-x86_64/0005-gnu-efi-version-compatibility.patch
    (from rev 369531, syslinux/trunk/0005-gnu-efi-version-compatibility.patch)
  syslinux/repos/testing-x86_64/0016-strip-gnu-property.patch
    (from rev 369531, syslinux/trunk/0016-strip-gnu-property.patch)
  syslinux/repos/testing-x86_64/0017-single-load-segment.patch
    (from rev 369531, syslinux/trunk/0017-single-load-segment.patch)
  syslinux/repos/testing-x86_64/0018-prevent-pow-optimization.patch
    (from rev 369531, syslinux/trunk/0018-prevent-pow-optimization.patch)
  syslinux/repos/testing-x86_64/0025-reproducible-build.patch
    (from rev 369531, syslinux/trunk/0025-reproducible-build.patch)
  syslinux/repos/testing-x86_64/PKGBUILD
    (from rev 369531, syslinux/trunk/PKGBUILD)
  syslinux/repos/testing-x86_64/syslinux-install_update
    (from rev 369531, syslinux/trunk/syslinux-install_update)
  syslinux/repos/testing-x86_64/syslinux.cfg
    (from rev 369531, syslinux/trunk/syslinux.cfg)
  syslinux/repos/testing-x86_64/syslinux.install
    (from rev 369531, syslinux/trunk/syslinux.install)

------------------------------------------+
 0002-gfxboot-menu-label.patch            |   53 +++
 0004-gnu-efi-from-arch.patch             |   36 ++
 0005-gnu-efi-version-compatibility.patch |   25 +
 0016-strip-gnu-property.patch            |   43 ++
 0017-single-load-segment.patch           |  306 +++++++++++++++++++
 0018-prevent-pow-optimization.patch      |   36 ++
 0025-reproducible-build.patch            |   39 ++
 PKGBUILD                                 |  103 ++++++
 syslinux-install_update                  |  465 +++++++++++++++++++++++++++++
 syslinux.cfg                             |   78 ++++
 syslinux.install                         |   32 +
 11 files changed, 1216 insertions(+)

Copied: syslinux/repos/testing-x86_64/0002-gfxboot-menu-label.patch (from rev 369531, syslinux/trunk/0002-gfxboot-menu-label.patch)
===================================================================
--- testing-x86_64/0002-gfxboot-menu-label.patch	                        (rev 0)
+++ testing-x86_64/0002-gfxboot-menu-label.patch	2019-11-21 08:18:50 UTC (rev 369532)
@@ -0,0 +1,53 @@
+From: Colin Watson <cjwatson at ubuntu.com>
+Date: Wed, 2 Nov 2011 07:57:23 +0100
+Subject: Allow boot entry to start with label instead of menu_label.
+
+menu_ptr->menu_label is human-readable (perhaps even translatable!) text if
+the MENU LABEL command is used, which isn't very convenient at the start of
+a boot entry.  Allow the entry to start with menu_ptr->label (an
+identifier) as an alternative.
+---
+ com32/gfxboot/gfxboot.c | 16 ++++++++++------
+ 1 file changed, 10 insertions(+), 6 deletions(-)
+
+diff --git a/com32/gfxboot/gfxboot.c b/com32/gfxboot/gfxboot.c
+index f67132c..4c76a35 100644
+--- a/com32/gfxboot/gfxboot.c
++++ b/com32/gfxboot/gfxboot.c
+@@ -818,7 +818,7 @@ void boot(int index)
+ {
+   char *arg, *alt_kernel;
+   menu_t *menu_ptr;
+-  int i, label_len;
++  int i, label_len, menu_label_len;
+   unsigned ipapp;
+   const struct syslinux_ipappend_strings *ipappend;
+   char *gfxboot_cwd = (char *) gfx_config.gfxboot_cwd;
+@@ -836,18 +836,22 @@ void boot(int index)
+   if(!menu_ptr || !menu_ptr->menu_label) return;
+ 
+   arg = skipspace(cmdline);
+-  label_len = strlen(menu_ptr->menu_label);
++  label_len = strlen(menu_ptr->label);
++  menu_label_len = strlen(menu_ptr->menu_label);
+ 
+   // if it does not start with label string, assume first word is kernel name
+-  if(strncmp(arg, menu_ptr->menu_label, label_len)) {
++  if(!strncmp(arg, menu_ptr->label, label_len)) {
++    arg += label_len;
++  }
++  else if(!strncmp(arg, menu_ptr->menu_label, menu_label_len)) {
++    arg += menu_label_len;
++  }
++  else {
+     alt_kernel = arg;
+     arg = skip_nonspaces(arg);
+     if(*arg) *arg++ = 0;
+     if(*alt_kernel) menu_ptr->alt_kernel = alt_kernel;
+   }
+-  else {
+-    arg += label_len;
+-  }
+ 
+   arg = skipspace(arg);
+ 

Copied: syslinux/repos/testing-x86_64/0004-gnu-efi-from-arch.patch (from rev 369531, syslinux/trunk/0004-gnu-efi-from-arch.patch)
===================================================================
--- testing-x86_64/0004-gnu-efi-from-arch.patch	                        (rev 0)
+++ testing-x86_64/0004-gnu-efi-from-arch.patch	2019-11-21 08:18:50 UTC (rev 369532)
@@ -0,0 +1,36 @@
+From: Lukas Schwaighofer <lukas at schwaighofer.name>
+Date: Tue, 3 Oct 2017 18:29:13 +0200
+Subject: Link against gnu-efi from Debian
+
+Adjust EFIINC, LIBDIR and LIBEFI variables in mk/efi.mk to point to the
+files installed by Arch's gnu-efi package.
+
+Forwarded: not-needed
+---
+ mk/efi.mk | 13 ++++++++++---
+ 1 file changed, 10 insertions(+), 3 deletions(-)
+
+diff --git a/mk/efi.mk b/mk/efi.mk
+index f097ad2..dc2b708 100644
+--- a/mk/efi.mk
++++ b/mk/efi.mk
+@@ -8,8 +8,8 @@ core = $(topdir)/core
+ # gnuefi sets up architecture specifics in ia32 or x86_64 sub directories
+ # set up the LIBDIR and EFIINC for building for the appropriate architecture
+ GCCOPT := $(call gcc_ok,-fno-stack-protector,)
+-EFIINC = $(objdir)/include/efi
+-LIBDIR  = $(objdir)/lib
++EFIINC = /usr/include/efi
++LIBDIR  = /usr/lib
+ 
+ ifeq ($(ARCH),i386)
+ 	ARCHOPT = -m32 -march=i386
+@@ -44,7 +51,7 @@ SFLAGS     = $(GCCOPT) $(GCCWARN) $(ARCHOPT) \
+ 	     -nostdinc -iwithprefix include \
+ 	     -I$(com32)/libutil/include -I$(com32)/include -I$(com32)/include/sys $(GPLINCLUDE)
+ 
+-LIBEFI = $(objdir)/lib/libefi.a
++LIBEFI = $(LIBDIR)/libefi.a
+ 
+ $(LIBEFI):
+ 	@echo Building gnu-efi for $(EFI_SUBARCH)

Copied: syslinux/repos/testing-x86_64/0005-gnu-efi-version-compatibility.patch (from rev 369531, syslinux/trunk/0005-gnu-efi-version-compatibility.patch)
===================================================================
--- testing-x86_64/0005-gnu-efi-version-compatibility.patch	                        (rev 0)
+++ testing-x86_64/0005-gnu-efi-version-compatibility.patch	2019-11-21 08:18:50 UTC (rev 369532)
@@ -0,0 +1,25 @@
+From: Lukas Schwaighofer <lukas at schwaighofer.name>
+Date: Mon, 3 Dec 2018 22:45:44 +0100
+Subject: Fix compatibility with new gnu-efi version
+
+Allow multiple definitions when linking the syslinux binary so the
+memset and memcpy symbols which are included by gnu-efi since 3.0.8 are
+ignored (we still use the definitions from syslinux) but linking
+succeeds.
+---
+ efi/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/efi/Makefile b/efi/Makefile
+index f4501e7..0d1a673 100644
+--- a/efi/Makefile
++++ b/efi/Makefile
+@@ -71,7 +71,7 @@ $(OBJS): | $(OBJ)/$(ARCH)
+ BTARGET  = syslinux.efi
+ 
+ syslinux.so: $(OBJS) $(CORE_OBJS) $(LIB_OBJS)
+-	$(LD) $(LDFLAGS) --strip-debug -o $@ $^ -lgnuefi -lefi
++	$(LD) $(LDFLAGS) -zmuldefs --strip-debug -o $@ $^ -lgnuefi -lefi
+ 
+ # We need to rename the .hash section because the EFI firmware
+ # linker really doesn't like it.

Copied: syslinux/repos/testing-x86_64/0016-strip-gnu-property.patch (from rev 369531, syslinux/trunk/0016-strip-gnu-property.patch)
===================================================================
--- testing-x86_64/0016-strip-gnu-property.patch	                        (rev 0)
+++ testing-x86_64/0016-strip-gnu-property.patch	2019-11-21 08:18:50 UTC (rev 369532)
@@ -0,0 +1,43 @@
+From: Lukas Schwaighofer <lukas at schwaighofer.name>
+Date: Sat, 18 Aug 2018 12:48:21 +0200
+Subject: Strip the .note.gnu.property section for the mbr
+
+This section is added since binutils Debian version 2.31.1-2 and causes mbr.bin
+to grow in size beyond what can fit into the master boot record.
+
+Forwarded: https://www.syslinux.org/archives/2018-August/026168.html
+---
+ mbr/i386/mbr.ld   | 6 +++++-
+ mbr/x86_64/mbr.ld | 6 +++++-
+ 2 files changed, 10 insertions(+), 2 deletions(-)
+
+diff --git a/mbr/i386/mbr.ld b/mbr/i386/mbr.ld
+index d14ba80..6d48990 100644
+--- a/mbr/i386/mbr.ld
++++ b/mbr/i386/mbr.ld
+@@ -69,5 +69,9 @@ SECTIONS
+   .debug_funcnames 0 : { *(.debug_funcnames) }
+   .debug_typenames 0 : { *(.debug_typenames) }
+   .debug_varnames  0 : { *(.debug_varnames) }
+-  /DISCARD/ : { *(.note.GNU-stack) }
++  /DISCARD/	  :
++  {
++    *(.note.GNU-stack)
++    *(.note.gnu.property)
++  }
+ }
+diff --git a/mbr/x86_64/mbr.ld b/mbr/x86_64/mbr.ld
+index ae27d49..5b46db6 100644
+--- a/mbr/x86_64/mbr.ld
++++ b/mbr/x86_64/mbr.ld
+@@ -68,5 +68,9 @@ SECTIONS
+   .debug_funcnames 0 : { *(.debug_funcnames) }
+   .debug_typenames 0 : { *(.debug_typenames) }
+   .debug_varnames  0 : { *(.debug_varnames) }
+-  /DISCARD/ : { *(.note.GNU-stack) }
++  /DISCARD/	  :
++  {
++    *(.note.GNU-stack)
++    *(.note.gnu.property)
++  }
+ }

Copied: syslinux/repos/testing-x86_64/0017-single-load-segment.patch (from rev 369531, syslinux/trunk/0017-single-load-segment.patch)
===================================================================
--- testing-x86_64/0017-single-load-segment.patch	                        (rev 0)
+++ testing-x86_64/0017-single-load-segment.patch	2019-11-21 08:18:50 UTC (rev 369532)
@@ -0,0 +1,306 @@
+From: Lukas Schwaighofer <lukas at schwaighofer.name>
+Date: Sat, 18 Aug 2018 16:56:35 +0200
+Subject: Force the linker to put all sections into a single PT_LOAD segment
+
+This is required when using binutils >= 2.31 which writes two PT_LOAD segments
+by default. This is not supported by the wrapper.c script used to convert the
+shared object into an elf binary.
+
+Forwarded: https://www.syslinux.org/archives/2018-August/026167.html
+---
+ efi/i386/syslinux.ld   | 37 +++++++++++++++++++++----------------
+ efi/x86_64/syslinux.ld | 37 +++++++++++++++++++++----------------
+ 2 files changed, 42 insertions(+), 32 deletions(-)
+
+diff --git a/efi/i386/syslinux.ld b/efi/i386/syslinux.ld
+index bab3fc7..19c1647 100644
+--- a/efi/i386/syslinux.ld
++++ b/efi/i386/syslinux.ld
+@@ -19,6 +19,11 @@ OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386")
+ OUTPUT_ARCH(i386)
+ ENTRY(_start)
+ 
++PHDRS
++{
++	all PT_LOAD ;
++}
++
+ SECTIONS
+ {
+ 	. = 0;
+@@ -31,7 +36,7 @@ SECTIONS
+ 		*(.text)
+ 		*(.text.*)
+ 		__text_end = .;
+-	}
++	} :all
+ 
+ 	. = ALIGN(16);
+ 
+@@ -40,7 +45,7 @@ SECTIONS
+ 		*(.rodata)
+ 		*(.rodata.*)
+ 		__rodata_end = .;
+-	}
++	} :all
+ 
+ 	. = ALIGN(4);
+ 
+@@ -49,14 +54,14 @@ SECTIONS
+ 		KEEP (*(SORT(.ctors.*)))
+ 		KEEP (*(.ctors))
+ 		__ctors_end = .;
+-	}
++	} :all
+ 
+ 	.dtors : {
+ 		__dtors_start = .;
+ 		KEEP (*(SORT(.dtors.*)))
+ 		KEEP (*(.dtors))
+ 		__dtors_end = .;
+-	}
++	} :all
+ 
+ 	. = ALIGN(4096);
+ 	.rel : {
+@@ -64,7 +69,7 @@ SECTIONS
+ 		*(.rel.data)
+ 		*(.rel.data.*)
+ 		*(.rel.ctors)
+-	}
++	} :all
+ 
+ 	. = ALIGN(4);
+ 
+@@ -72,14 +77,14 @@ SECTIONS
+ 		__gnu_hash_start = .;
+ 		*(.gnu.hash)
+ 		__gnu_hash_end = .;
+-	}
++	} :all
+ 
+ 
+ 	.dynsym : {
+ 		__dynsym_start = .;
+ 		*(.dynsym)
+ 		__dynsym_end = .;
+-	}
++	} :all
+ 
+ 	. = ALIGN(4);
+ 
+@@ -87,7 +92,7 @@ SECTIONS
+ 		__dynstr_start = .;
+ 		*(.dynstr)
+ 		__dynstr_end = .;
+-	}
++	} :all
+ 
+ 	. = ALIGN(4);
+ 
+@@ -104,7 +109,7 @@ SECTIONS
+ 		KEEP (*(.got.plt))
+ 		KEEP (*(.got))
+ 		__got_end = .;
+-	}
++	} :all
+ 
+ 	. = ALIGN(4);
+ 
+@@ -112,7 +117,7 @@ SECTIONS
+ 		__dynamic_start = .;
+ 		*(.dynamic)
+ 		__dynamic_end = .;
+-	}
++	} :all
+ 
+ 	. = ALIGN(16);
+ 
+@@ -122,19 +127,19 @@ SECTIONS
+ 		*(.data.*)
+ 		*(.lowmem)
+ 		__data_end = .;
+-	}
++	} :all
+ 
+ 	.reloc : {
+ 		*(.reloc)
+-	}
++	} :all
+ 
+ 	.symtab : {
+ 		*(.symtab)
+-	}
++	} :all
+ 
+ 	.strtab : {
+ 		*(.strtab)
+-	}
++	} :all
+ 
+ 	.bss (NOLOAD) : {
+ 		/* the EFI loader doesn't seem to like a .bss section,
+@@ -148,7 +153,7 @@ SECTIONS
+ 		__bss_end = .;
+ 		*(.sbss)
+ 		*(.scommon)
+-	}
++	} :all
+ 	__bss_len = ABSOLUTE(__bss_end) - ABSOLUTE(__bss_start);
+ 	__bss_dwords = (__bss_len + 3) >> 2;
+ 
+@@ -161,7 +166,7 @@ SECTIONS
+ 		*(.hugebss)
+ 		*(.hugebss.*)
+ 		__hugebss_end = .;
+-	}
++	} :all
+ 
+ 	_end = .;
+ 
+diff --git a/efi/x86_64/syslinux.ld b/efi/x86_64/syslinux.ld
+index 450641c..a2c124f 100644
+--- a/efi/x86_64/syslinux.ld
++++ b/efi/x86_64/syslinux.ld
+@@ -19,6 +19,11 @@ OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64", "elf64-x86-64")
+ OUTPUT_ARCH(i386:x86-64)
+ ENTRY(_start)
+ 
++PHDRS
++{
++	all PT_LOAD ;
++}
++
+ SECTIONS
+ {
+ 	. = 0;
+@@ -31,7 +36,7 @@ SECTIONS
+ 		*(.text)
+ 		*(.text.*)
+ 		__text_end = .;
+-	}
++	} :all
+ 
+ 	. = ALIGN(16);
+ 
+@@ -40,7 +45,7 @@ SECTIONS
+ 		*(.rodata)
+ 		*(.rodata.*)
+ 		__rodata_end = .;
+-	}
++	} :all
+ 
+ 	. = ALIGN(4);
+ 
+@@ -49,14 +54,14 @@ SECTIONS
+ 		KEEP (*(SORT(.ctors.*)))
+ 		KEEP (*(.ctors))
+ 		__ctors_end = .;
+-	}
++	} :all
+ 
+ 	.dtors : {
+ 		__dtors_start = .;
+ 		KEEP (*(SORT(.dtors.*)))
+ 		KEEP (*(.dtors))
+ 		__dtors_end = .;
+-	}
++	} :all
+ 
+ 	. = ALIGN(4096);
+ 	.rel : {
+@@ -64,7 +69,7 @@ SECTIONS
+ 		*(.rel.data)
+ 		*(.rel.data.*)
+ 		*(.rel.ctors)
+-	}
++	} :all
+ 
+ 	. = ALIGN(4);
+ 
+@@ -72,14 +77,14 @@ SECTIONS
+ 		__gnu_hash_start = .;
+ 		*(.gnu.hash)
+ 		__gnu_hash_end = .;
+-	}
++	} :all
+ 
+ 
+ 	.dynsym : {
+ 		__dynsym_start = .;
+ 		*(.dynsym)
+ 		__dynsym_end = .;
+-	}
++	} :all
+ 
+ 	. = ALIGN(4);
+ 
+@@ -87,7 +92,7 @@ SECTIONS
+ 		__dynstr_start = .;
+ 		*(.dynstr)
+ 		__dynstr_end = .;
+-	}
++	} :all
+ 
+ 	. = ALIGN(4);
+ 
+@@ -104,7 +109,7 @@ SECTIONS
+ 		KEEP (*(.got.plt))
+ 		KEEP (*(.got))
+ 		__got_end = .;
+-	}
++	} :all
+ 
+ 	. = ALIGN(4);
+ 
+@@ -112,7 +117,7 @@ SECTIONS
+ 		__dynamic_start = .;
+ 		*(.dynamic)
+ 		__dynamic_end = .;
+-	}
++	} :all
+ 
+ 	. = ALIGN(16);
+ 
+@@ -122,19 +127,19 @@ SECTIONS
+ 		*(.data.*)
+ 		*(.lowmem)
+ 		__data_end = .;
+-	}
++	} :all
+ 
+ 	.reloc : {
+ 		*(.reloc)
+-	}
++	} :all
+ 
+ 	.symtab : {
+ 		*(.symtab)
+-	}
++	} :all
+ 
+ 	.strtab : {
+ 		*(.strtab)
+-	}
++	} :all
+ 
+ 	.bss (NOLOAD) : {
+ 		/* the EFI loader doesn't seem to like a .bss section,
+@@ -148,7 +153,7 @@ SECTIONS
+ 		__bss_end = .;
+ 		*(.sbss)
+ 		*(.scommon)
+-	}
++	} :all
+ 	__bss_len = ABSOLUTE(__bss_end) - ABSOLUTE(__bss_start);
+ 	__bss_dwords = (__bss_len + 3) >> 2;
+ 
+@@ -161,7 +166,7 @@ SECTIONS
+ 		*(.hugebss)
+ 		*(.hugebss.*)
+ 		__hugebss_end = .;
+-	}
++	} :all
+ 
+ 	_end = .;
+ 

Copied: syslinux/repos/testing-x86_64/0018-prevent-pow-optimization.patch (from rev 369531, syslinux/trunk/0018-prevent-pow-optimization.patch)
===================================================================
--- testing-x86_64/0018-prevent-pow-optimization.patch	                        (rev 0)
+++ testing-x86_64/0018-prevent-pow-optimization.patch	2019-11-21 08:18:50 UTC (rev 369532)
@@ -0,0 +1,36 @@
+From: Lukas Schwaighofer <lukas at schwaighofer.name>
+Date: Tue, 26 Feb 2019 23:13:58 +0100
+Subject: Prevent optimizing the pow() function
+
+With the current GCC 8.2.0 from Debian, a section of code calling pow() in
+zzjson_parse.c is turned into a sequence calling exp(). Since no exp()
+implementation is available in syslinux those optimizations need to be
+disabled.
+---
+ com32/gpllib/zzjson/zzjson_parse.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/com32/gpllib/zzjson/zzjson_parse.c b/com32/gpllib/zzjson/zzjson_parse.c
+index ecb6f61..e66a9d8 100644
+--- a/com32/gpllib/zzjson/zzjson_parse.c
++++ b/com32/gpllib/zzjson/zzjson_parse.c
+@@ -138,6 +138,10 @@ static ZZJSON *parse_string2(ZZJSON_CONFIG *config) {
+     return zzjson;
+ }
+ 
++static double __attribute__((optimize("O0"))) pow_noopt(double x, double y) {
++	return pow(x, y);
++}
++
+ static ZZJSON *parse_number(ZZJSON_CONFIG *config) {
+     ZZJSON *zzjson;
+     unsigned long long ival = 0, expo = 0;
+@@ -213,7 +217,7 @@ skipexpo:
+     if (dbl) {
+         dval = sign * (long long) ival;
+         dval += sign * frac;
+-        dval *= pow(10.0, (double) signexpo * expo);
++        dval *= pow_noopt(10.0, (double) signexpo * expo);
+     }
+ 
+     zzjson = config->calloc(1, sizeof(ZZJSON));

Copied: syslinux/repos/testing-x86_64/0025-reproducible-build.patch (from rev 369531, syslinux/trunk/0025-reproducible-build.patch)
===================================================================
--- testing-x86_64/0025-reproducible-build.patch	                        (rev 0)
+++ testing-x86_64/0025-reproducible-build.patch	2019-11-21 08:18:50 UTC (rev 369532)
@@ -0,0 +1,39 @@
+diff --git a/core/Makefile b/core/Makefile
+index 50ff35af..f1af71b7 100644
+--- a/core/Makefile
++++ b/core/Makefile
+@@ -112,7 +112,7 @@ CFLAGS += -D__SYSLINUX_CORE__ -D__FIRMWARE_$(FIRMWARE)__ \
+ # official release.  Otherwise, substitute a hex string that is pretty much
+ # guaranteed to be unique to be unique from build to build.
+ ifndef HEXDATE
+-HEXDATE := $(shell $(PERL) $(SRC)/../now.pl $(SRCS))
++HEXDATE := $(shell printf '0x%x\n' $(git log -1 --format=%ct)) # make the build more predictable
+ endif
+ ifndef DATE
+ DATE    := $(shell sh $(SRC)/../gen-id.sh $(VERSION) $(HEXDATE))
+diff --git a/mk/lib.mk b/mk/lib.mk
+index f3fb07c7..bece24a0 100644
+--- a/mk/lib.mk
++++ b/mk/lib.mk
+@@ -58,8 +58,8 @@ CFLAGS += -mregparm=3 -DREGPARM=3
+ endif
+ 
+ ARCH_MATH_OBJS = \
+-	$(patsubst $(com32)/lib/%.c,%.o,$(wildcard $(com32)/lib/$(ARCH)/math/*.c)) \
+-	$(patsubst $(com32)/lib/%.S,%.o,$(wildcard $(com32)/lib/$(ARCH)/math/*.S))
++	$(patsubst $(com32)/lib/%.c,%.o,$(sort $(wildcard $(com32)/lib/$(ARCH)/math/*.c))) \
++	$(patsubst $(com32)/lib/%.S,%.o,$(sort $(wildcard $(com32)/lib/$(ARCH)/math/*.S)))
+ 
+ VPATH = $(SRC)
+ LIBOTHER_OBJS = \
+@@ -130,8 +130,8 @@ LIBENTRY_OBJS = \
+ 	exit.o
+ 
+ LIBGCC_OBJS = \
+-	  $(patsubst $(com32)/lib/%.c,%.o,$(wildcard $(com32)/lib/$(ARCH)/libgcc/*.c)) \
+-	  $(patsubst $(com32)/lib/%.S,%.o,$(wildcard $(com32)/lib/$(ARCH)/libgcc/*.S))
++	  $(patsubst $(com32)/lib/%.c,%.o,$(sort $(wildcard $(com32)/lib/$(ARCH)/libgcc/*.c))) \
++	  $(patsubst $(com32)/lib/%.S,%.o,$(sort $(wildcard $(com32)/lib/$(ARCH)/libgcc/*.S)))
+ 
+ LIBCONSOLE_OBJS = \
+ 	\

Copied: syslinux/repos/testing-x86_64/PKGBUILD (from rev 369531, syslinux/trunk/PKGBUILD)
===================================================================
--- testing-x86_64/PKGBUILD	                        (rev 0)
+++ testing-x86_64/PKGBUILD	2019-11-21 08:18:50 UTC (rev 369532)
@@ -0,0 +1,103 @@
+# Maintainer: Tobias Powalowski <tpowa at archlinux.org>
+# Maintainer: Thomas Bächler <thomas at archlinux.org>
+# Maintainer: Anatol Pomozov <anatol.pomozov at gmail.com>
+# Contributor: Keshav Amburay <(the ddoott ridikulus ddoott rat) (aatt) (gemmaeiil) (ddoott) (ccoomm)>
+
+pkgname=syslinux
+pkgver=6.04.pre2.r11.gbf6db5b4
+#_tag=syslinux-$pkgver
+_commit=bf6db5b4
+pkgrel=3
+pkgdesc='Collection of boot loaders that boot from FAT, ext2/3/4 and btrfs filesystems, from CDs and via PXE'
+url='https://www.syslinux.org/'
+arch=(x86_64)
+backup=(boot/syslinux/syslinux.cfg)
+install=syslinux.install
+license=(GPL2)
+# syslinux build system is a mess of submakes that does not work with -jN
+# efi32/com32 do not like Arch cflags/ldflags, though it would be nice to have the flags for userspace tools
+options=(!makeflags !buildflags)
+makedepends=(git python nasm upx asciidoc)
+makedepends_x86_64=(lib32-glibc) # efi32 needs it
+optdepends=('perl-crypt-passwdmd5: For md5pass'
+            'perl-digest-sha1:     For sha1pass'
+            'mtools:               For mkdiskimage and syslinux support'
+            'gptfdisk:             For GPT support'
+            'util-linux:           For isohybrid'
+            'efibootmgr:           For EFI support'
+            'dosfstools:           For EFI support')
+
+# The syslinux-install_update script is maintained at https://gist.github.com/pyther/772138
+# Script not yet updated for syslinux-efi
+source=(git+https://repo.or.cz/syslinux.git#commit=$_commit
+        syslinux.cfg
+        syslinux-install_update
+        0002-gfxboot-menu-label.patch
+        0005-gnu-efi-version-compatibility.patch
+        0017-single-load-segment.patch
+        0004-gnu-efi-from-arch.patch
+        0016-strip-gnu-property.patch
+        0018-prevent-pow-optimization.patch
+        0025-reproducible-build.patch
+)
+sha1sums=('SKIP'
+          '1145f454bd297d373ad123425f93620c3e92f585'
+          'df5160a138ca8c6502d67fe1a64fec78b50e82c2'
+          '69239fda4a3d5a247f0e48c5c683e0124c7d9201'
+          '1e0cd52252622f206d22e84f2a4d358508c902f4'
+          '81d05572b15dc5c55b63489fecdc79a6a332959c'
+          '4c3706e7a5620e450a6abb9238c08d7b39bb6945'
+          'f4a6768c7e5b8d02428ae550e37a7ca445ad1bb8'
+          'c94622eaa14ad9512e4f43b13302ba35d1787cbc'
+          '5b3878a1fff74bbb09ddbc66cc8afa38f34ed05c')
+
+_targets='bios efi64 efi32'
+
+pkgver() {
+  cd syslinux
+  git describe --long | sed 's/^syslinux-//;s/\([^-]*-g\)/r\1/;s/-/./g'
+}
+
+prepare() {
+  cd syslinux
+
+  patch -p1 < ../0002-gfxboot-menu-label.patch
+  patch -p1 < ../0017-single-load-segment.patch
+  patch -p1 < ../0016-strip-gnu-property.patch
+  patch -p1 < ../0018-prevent-pow-optimization.patch
+
+  # TODO: use 'gnu-efi-libs' package instead of embedded sources
+  # patch -p1 < ../0004-gnu-efi-from-arch.patch
+  # patch -p1 < ../0005-gnu-efi-version-compatibility.patch
+
+  patch -p1 < ../0025-reproducible-build.patch
+
+  # do not swallow efi compilation output to make debugging easier
+  sed 's|> /dev/null 2>&1||' -i efi/check-gnu-efi.sh
+
+  # disable debug and development flags to reduce bootloader size
+  truncate --size 0 mk/devel.mk
+}
+
+build() {
+  cd syslinux
+  export LDFLAGS+=--no-dynamic-linker  # workaround for binutils 2.28 http://www.syslinux.org/wiki/index.php?title=Building
+  export EXTRA_CFLAGS=-fno-PIE   # to fix gpxe build
+  make PYTHON=python $_targets
+}
+
+package() {
+  cd syslinux
+  make $_targets install INSTALLROOT="$pkgdir" SBINDIR=/usr/bin MANDIR=/usr/share/man AUXDIR=/usr/lib/syslinux
+
+  rm -r "$pkgdir"/usr/lib/syslinux/{com32,dosutil,syslinux.com}
+  install -D -m644 COPYING "$pkgdir"/usr/share/licenses/syslinux/COPYING
+  install -d "$pkgdir"/usr/share/doc
+  cp -ar doc "$pkgdir"/usr/share/doc/syslinux
+
+  install -d "$pkgdir"/usr/lib/syslinux/bios
+  mv "$pkgdir"/usr/lib/syslinux/{*.bin,*.c32,*.0,memdisk} "$pkgdir"/usr/lib/syslinux/bios 
+
+  install -D -m0644 ../syslinux.cfg "$pkgdir"/boot/syslinux/syslinux.cfg
+  install -D -m0755 ../syslinux-install_update "$pkgdir"/usr/bin/syslinux-install_update
+}

Copied: syslinux/repos/testing-x86_64/syslinux-install_update (from rev 369531, syslinux/trunk/syslinux-install_update)
===================================================================
--- testing-x86_64/syslinux-install_update	                        (rev 0)
+++ testing-x86_64/syslinux-install_update	2019-11-21 08:18:50 UTC (rev 369532)
@@ -0,0 +1,465 @@
+#!/usr/bin/bash
+#
+# Syslinux Installer / Updater Script (for BIOS only)
+# Copyright (C) 2011-2013  Matthew Gyurgyik <pyther at pyther.net>
+# Copyright (C) 2013  Keshav Padram Amburay <(the) (ddoott) (ridikulus) (ddoott) (rat) (aatt) (gemmaeiil) (ddoott) (ccoomm)>
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+#
+#-----------------
+# ChangeLog:
+# 2013-10-23 : Keshav Padram Amburay : Updated script to work with Syslinux 6.02 Arch Linux pkg
+#-----------------
+# Exit Codes:
+#   1 - get_boot_device or other function failed
+#   2 - install/update failed
+#   3 - set_active failed
+#   4 - install_mbr failed
+#-----------------
+
+shopt -s nullglob
+
+bios_libpath="/usr/lib/syslinux/bios"
+bios_bootpath="/boot/syslinux"
+EXTLINUX="/usr/bin/extlinux"
+
+bios_autoupdate_file="/boot/syslinux/SYSLINUX_AUTOUPDATE"
+pciids_file="/usr/share/hwdata/pci.ids"
+
+## Helper functions ##
+# Taken from libui-sh
+# $1 needle
+# $2 set (array) haystack
+check_is_in() {
+    local needle="$1" element
+    shift
+    for element; do
+        [[ $element = $needle ]] && return 0
+    done
+    return 1
+}
+
+get_disk() {
+    local part=$1
+    if [[ ! -b "${part}" ]]; then
+        echo >&2 "error: '$part' is not a valid block device!"
+        exit 1
+    fi
+
+    case "$part" in
+        # catch cases like mmcblk0p1 and loop0p3
+        *[[:digit:]]p[[:digit:]]*)
+            local disk="${part%p[[:digit:]]}" # get everything before p1
+            ;;
+        *)
+            local disk="${part%%[[:digit:]]*}"
+            ;;
+    esac
+    if [[ ! -b "${disk}" ]]; then
+        echo >&2 "error: '$disk' is not a valid block device!"
+        exit 1
+    fi
+    echo $disk
+}
+
+# return true when blockdevice is an md raid, otherwise return a unset value
+# get all devices that are part of raid device $1
+device_is_raid() {
+    [[ $1 && -f /proc/mdstat ]] || return 1
+    local devmajor=$(stat -c %t "$1")
+    (( devmajor == 9 ))
+}
+
+mdraid_all_slaves() {
+    local slave slaves
+    for slave in /sys/class/block/${1##*/}/slaves/*; do
+        source "$slave/uevent"
+        slaves="$slaves/dev/$DEVNAME "
+        unset DEVNAME
+    done
+    echo $slaves
+}
+
+# Check /sys/block to see if device is partitioned
+# If we have a partitioned block device (sda1) /sys/block/sda1/dev will not exist
+# However, if we have an unpartitioned block device (sda) /sys/block/sda/dev will exist
+dev_is_part() {
+    # $1 - blockdevice
+    local dev=$1
+
+    # If block device uevent file should be found
+    # If a partition is passed in path shouldn't exist
+    if [[ $dev = *cciss* ]]; then
+        [[ -f /sys/block/cciss\!${dev##*/}/dev ]] && return 1
+    elif [[ $dev = *ida* ]]; then
+        [[ -f /sys/block/ida\!${dev##*/}/dev ]] && return 1
+    else
+        [[ -f /sys/block/${dev##*/}/dev ]] && return 1
+    fi
+
+    return 0
+}
+
+# If EFI PART is present in the first 8 bytes then it must be a GPT disk
+device_is_gpt() {
+    local partsig=$(dd if="$1" skip=64 bs=8 count=1 2>/dev/null)
+    [[ $partsig = "EFI PART" ]]
+}
+
+clear_gpt_attr2() {
+    # $1 - Block Device, no partitions
+    local disk=$1
+
+    # Special Exception for cciss controllers
+    if [[ $disk = *cciss* ]]; then
+        for part in /dev/cciss/${disk##*/}*p*; do
+            local partnum="${part##*[[:alpha:]]}"
+            sgdisk "$disk" --attributes="$partnum":clear:2 &>/dev/null
+        done
+    # Smart 2 Controllers
+    elif [[ $disk = *ida* ]]; then
+        for part in /dev/ida/${disk##*/}*p*; do
+            local partnum="${part##*[[:alpha:]]}"
+            sgdisk "$disk" --attributes="$partnum":clear:2 &>/dev/null
+        done
+    else
+        for part in  /sys/block/${disk##*/}/${disk##*/}*; do
+            local partnum="${part##*[[:alpha:]]}"
+            sgdisk "$disk" --attributes="$partnum":clear:2 &>/dev/null
+        done
+    fi
+    return 0
+}
+
+usage() {
+cat << EOF
+usage: $0 options
+
+This script will install or upgrade Syslinux (for BIOS only)
+
+OPTIONS:
+  -h    Show this message
+  -i    Install Syslinux
+  -u    Update Syslinux
+  -a    Set Boot flag on boot partiton
+  -m    Install Syslinux MBR
+  -s    Updates Syslinux if /boot/syslinux/SYSLINUX_AUTOUPDATE exists
+
+ Arguments Required:
+  -c    Chroot install (ex: -c /mnt)
+
+Example Usage: $0 -i -a -m     # (install, set boot flag, install mbr)
+               $0 -u           # (update)
+EOF
+}
+
+# Trys to find the partition that /boot resides on
+# This will either be on /boot or / (root)
+getBoot() {
+    if [[ ! -d "$bios_bootpath" ]]; then
+        echo "Could not find $bios_bootpath"
+        echo "Is boot mounted? Is Syslinux installed?"
+        exit 1
+    fi
+
+    syslinux_fs=(ext2 ext3 ext4 btrfs vfat xfs)
+
+    # Use DATA from findmnt see rc.sysint for more info
+    if [[ -f /proc/self/mountinfo ]]; then
+        read rootdev rootfs < <(findmnt -run -t noautofs -o SOURCE,FSTYPE "$CHROOT/")
+        read bootdev bootfs < <(findmnt -run -t noautofs -o SOURCE,FSTYPE "$CHROOT/boot")
+    else
+        echo "Could not find /proc/self/mountinfo"
+        echo "Are you running a kernel greater than 2.6.24?"
+        exit 1
+    fi
+
+    if [[ $bootfs ]]; then
+        if ! check_is_in "$bootfs" "${syslinux_fs[@]}"; then
+            echo "/boot file system is not supported by Syslinux"
+            exit 1
+        fi
+        boot="boot"
+        bootpart="$(readlink -f "$bootdev")"
+    elif [[ $rootfs ]]; then
+        if ! check_is_in "$rootfs" "${syslinux_fs[@]}"; then
+            echo "/ (root) file system is not supported by Syslinux"
+            exit 1
+        fi
+        boot="root"
+        bootpart="$(readlink -f "$rootdev")"
+    else
+        echo "Could not find filesystem on / (root) or /boot."
+        exit 1
+    fi
+}
+
+# We store the partition table type either gpt or mbr in var ptb
+# In rare cases a user could have one raid disk using mbr and another using gpt
+# In such cases we accept that the output may be incomplete
+
+# Calls get_ptb() for $bootpart or for all device in RAID
+declare -A bootdevs
+get_boot_devices() {
+    if device_is_raid "$bootpart"; then
+        slaves=$(mdraid_all_slaves "$bootpart")
+
+        for slave in ${slaves[@]}; do
+            local disk=$(get_disk "$slave")
+            device_is_gpt "$disk" && local ptb="GPT" || local ptb="MBR"
+            bootdevs[$slave]="$ptb"
+        done
+    else
+        local disk=$(get_disk "$bootpart")
+        device_is_gpt "$disk" && local ptb="GPT" || local ptb="MBR"
+        bootdevs[$bootpart]="$ptb"
+    fi
+}
+
+# Function Assumes the boot partition should be marked as active
+# All other partitions should not have the boot flag set
+set_active() {
+    # If any bootdev is a block device without partitions bail
+    # we want to set the boot flag on partitioned disk
+    for dev in "${!bootdevs[@]}"; do
+        dev_is_part $dev || { echo "$dev does not contain partition table. Aborting set_active!"; return 1; }
+    done
+
+    # Clear BIOS Bootable Legacy Attribute for GPT drives
+    # In rare cases where a RAID device has slaves on the same block device
+    # Attribute 2 will be cleared for each partition multiple times
+    for dev in "${!bootdevs[@]}"; do
+        local ptb="${bootdevs[$dev]}"
+        if [[ "$ptb" = GPT ]]; then
+            local disk=$(get_disk "$dev")
+            clear_gpt_attr2 "$disk"
+        fi
+    done
+
+    # Set the boot flag on bootdevs (generated from get_boot_devices)
+    for part in "${!bootdevs[@]}"; do
+        local ptb="${bootdevs[$part]}"
+        local partnum="${part##*[[:alpha:]]}"
+        local disk=$(get_disk "$part")
+
+        if [[ "$ptb" = MBR ]]; then
+            if sfdisk "$disk" --activate "$partnum" &>/dev/null; then
+                echo "Boot Flag Set - $part"
+            else
+                echo "FAILED to Set the boot flag on $part"
+                exit 3
+            fi
+        elif [[ "$ptb" = GPT ]]; then
+            if [[ ! -e /usr/bin/sgdisk ]]; then
+                echo "FAILED to set attribute Legacy BIOS Bootable. sgdisk is not found - please install 'gptfdisk' package."
+                exit 3
+            fi
+
+            if sgdisk "$disk" --attributes="$partnum":set:2 &>/dev/null; then
+                echo "Attribute Legacy Bios Bootable Set - $part"
+            else
+                echo "FAILED to set attribute Legacy BIOS Bootable on $part"
+                exit 3
+            fi
+        fi
+    done
+    return 0
+}
+
+install_mbr() {
+    # If any bootdev is a block device without partitions bail
+    # we want to install the mbr to a partitioned disk
+    for dev in "${!bootdevs[@]}"; do
+        dev_is_part "$dev" || { echo "$dev does not contain partition table. Aborting MBR install."; return 1; }
+    done
+
+    for part in "${!bootdevs[@]}"; do
+        local partnum="${part##*[[:alpha:]]}"
+        local disk=$(get_disk "$part")
+        local ptb="${bootdevs[$part]}"
+
+        # We want to install to the root of the block device
+        # If the device is a partition - ABORT!
+        dev_is_part "$disk" && \
+        { echo "ABORT! MBR installation to partition ($disk)!"; exit 4;}
+
+        if [[ "$ptb" = MBR ]]; then
+            mbrfile="$bios_libpath/mbr.bin"
+        elif [[ "$ptb" = GPT ]]; then
+            mbrfile="$bios_libpath/gptmbr.bin"
+        fi
+
+        if dd bs=440 count=1 conv=notrunc if="$mbrfile" of="$disk" &> /dev/null; then
+            echo "Installed MBR ($mbrfile) to $disk"
+        else
+            echo "Error Installing MBR ($mbrfile) to $disk"
+            exit 4
+        fi
+    done
+    return 0
+}
+
+install_modules() {
+    # Copy all syslinux *.c32 modules to /boot
+    rm "$bios_bootpath"/*.c32 &> /dev/null
+    cp "$bios_libpath"/*.c32 "$bios_bootpath"/ &> /dev/null
+
+    # Copy / Symlink pci.ids if pci.ids exists on the FS
+    if [[ -f "$pciids_file" ]]; then
+        rm "$bios_bootpath/pci.ids" &> /dev/null
+        cp "$pciids_file" "$bios_bootpath/pci.ids" &> /dev/null
+    fi
+}
+
+_install() {
+    install_modules
+
+    if device_is_raid "$bootpart" ; then
+        echo "Detected RAID on /boot - installing Syslinux with --raid"
+        "$EXTLINUX" --install "$bios_bootpath" --raid &> /dev/null
+    else
+        "$EXTLINUX" --install "$bios_bootpath" &> /dev/null
+    fi
+
+    if (( $? )); then
+        echo "Syslinux BIOS install failed"
+        exit 2
+    else
+        echo "Syslinux BIOS install successful"
+    fi
+
+    touch "$CHROOT/$bios_autoupdate_file"
+}
+
+update() {
+    install_modules
+
+    if device_is_raid "$bootpart" ; then
+        echo "Detected RAID on /boot - updating Syslinux with --raid"
+        "$EXTLINUX" --update "$bios_bootpath" --raid &> /dev/null
+    else
+        "$EXTLINUX" --update "$bios_bootpath" &> /dev/null
+    fi
+
+    if (($?)); then
+        echo "Syslinux BIOS update failed"
+        exit 2
+    else
+        echo "Syslinux BIOS update successful"
+    fi
+}
+
+if (( $# == 0 )); then
+    usage
+    exit 1
+fi
+
+while getopts "c:uihmas" opt; do
+    case $opt in
+        c)
+            CHROOT=$(readlink -e "$OPTARG")
+            if [[ -z $CHROOT ]]; then
+                echo "error: chroot path ``$OPTARG does not exist";
+                exit 1
+            fi
+            ;;
+        h)
+            USAGE="True"
+            ;;
+        i)
+            INSTALL="True"
+            ;;
+        u)
+            UPDATE="True"
+            ;;
+        m)
+            MBR="True"
+            ;;
+        a)
+            SET_ACTIVE="True"
+            ;;
+        s)
+            # If AUTOUPDATE_FILE does not exist exit the script
+            if [[ -f $bios_autoupdate_file ]]; then
+                UPDATE="True"
+            else
+                exit 0
+            fi
+            ;;
+        *)
+            usage
+            exit 1
+            ;;
+    esac
+done
+
+if [[ $USAGE ]]; then
+    usage
+    exit 0
+fi
+
+# Display Usage Information if both Install and Update are passed
+if [[ $INSTALL && $UPDATE ]]; then
+    usage
+    exit 1
+fi
+
+# Make sure only root can run our script
+if (( $(id -u) != 0 )); then
+    echo "This script must be run as root" 1>&2
+    exit 1
+fi
+
+# If a chroot dir is path set variables to reflect chroot
+if [[ "$CHROOT" ]]; then
+    bios_libpath="$CHROOT$bios_libpath"
+    bios_bootpath="$CHROOT$bios_bootpath"
+    EXTLINUX="$CHROOT$EXTLINUX"
+fi
+
+# Exit if no /boot path exists
+if ( f=("$bios_bootpath"/*); (( ! ${#f[@]} )) ); then
+    echo "Error: $bios_bootpath is empty!"
+    echo "Is /boot mounted?"
+    exit 1
+fi
+
+# Get the boot device if any of these options are passed
+if [[ $INSTALL || $UPDATE || $SET_ACTIVE || $MBR ]]; then
+    getBoot
+fi
+
+# Install or Update
+if [[ $INSTALL ]]; then
+    _install || exit
+elif [[ $UPDATE ]]; then
+    update || exit
+fi
+
+
+# SET_ACTIVE and MBR
+if [[ $SET_ACTIVE ]] || [[ $MBR ]]; then
+    get_boot_devices
+
+    if [[ $SET_ACTIVE ]]; then
+        set_active || exit
+    fi
+
+    if [[ $MBR ]]; then
+        install_mbr || exit
+    fi
+fi
+
+exit 0

Copied: syslinux/repos/testing-x86_64/syslinux.cfg (from rev 369531, syslinux/trunk/syslinux.cfg)
===================================================================
--- testing-x86_64/syslinux.cfg	                        (rev 0)
+++ testing-x86_64/syslinux.cfg	2019-11-21 08:18:50 UTC (rev 369532)
@@ -0,0 +1,78 @@
+# Config file for Syslinux -
+# /boot/syslinux/syslinux.cfg
+#
+# Comboot modules:
+#   * menu.c32 - provides a text menu
+#   * vesamenu.c32 - provides a graphical menu
+#   * chain.c32 - chainload MBRs, partition boot sectors, Windows bootloaders
+#   * hdt.c32 - hardware detection tool
+#   * reboot.c32 - reboots the system
+#
+# To Use: Copy the respective files from /usr/lib/syslinux to /boot/syslinux.
+# If /usr and /boot are on the same file system, symlink the files instead
+# of copying them.
+#
+# If you do not use a menu, a 'boot:' prompt will be shown and the system
+# will boot automatically after 5 seconds.
+#
+# Please review the wiki: https://wiki.archlinux.org/index.php/Syslinux
+# The wiki provides further configuration examples
+
+DEFAULT arch
+PROMPT 0        # Set to 1 if you always want to display the boot: prompt
+TIMEOUT 50
+# You can create syslinux keymaps with the keytab-lilo tool
+#KBDMAP de.ktl
+
+# Menu Configuration
+# Either menu.c32 or vesamenu32.c32 must be copied to /boot/syslinux
+UI menu.c32
+#UI vesamenu.c32
+
+# Refer to http://syslinux.zytor.com/wiki/index.php/Doc/menu
+MENU TITLE Arch Linux
+#MENU BACKGROUND splash.png
+MENU COLOR border       30;44   #40ffffff #a0000000 std
+MENU COLOR title        1;36;44 #9033ccff #a0000000 std
+MENU COLOR sel          7;37;40 #e0ffffff #20ffffff all
+MENU COLOR unsel        37;44   #50ffffff #a0000000 std
+MENU COLOR help         37;40   #c0ffffff #a0000000 std
+MENU COLOR timeout_msg  37;40   #80ffffff #00000000 std
+MENU COLOR timeout      1;37;40 #c0ffffff #00000000 std
+MENU COLOR msg07        37;40   #90ffffff #a0000000 std
+MENU COLOR tabmsg       31;40   #30ffffff #00000000 std
+
+# boot sections follow
+#
+# TIP: If you want a 1024x768 framebuffer, add "vga=773" to your kernel line.
+#
+#-*
+
+LABEL arch
+    MENU LABEL Arch Linux
+    LINUX ../vmlinuz-linux
+    APPEND root=/dev/sda3 rw
+    INITRD ../initramfs-linux.img
+
+LABEL archfallback
+    MENU LABEL Arch Linux Fallback
+    LINUX ../vmlinuz-linux
+    APPEND root=/dev/sda3 rw
+    INITRD ../initramfs-linux-fallback.img
+
+#LABEL windows
+#        MENU LABEL Windows
+#        COM32 chain.c32
+#        APPEND hd0 1
+
+LABEL hdt
+        MENU LABEL HDT (Hardware Detection Tool)
+        COM32 hdt.c32
+
+LABEL reboot
+        MENU LABEL Reboot
+        COM32 reboot.c32
+
+LABEL poweroff
+        MENU LABEL Poweroff
+        COM32 poweroff.c32

Copied: syslinux/repos/testing-x86_64/syslinux.install (from rev 369531, syslinux/trunk/syslinux.install)
===================================================================
--- testing-x86_64/syslinux.install	                        (rev 0)
+++ testing-x86_64/syslinux.install	2019-11-21 08:18:50 UTC (rev 369532)
@@ -0,0 +1,32 @@
+show_efi_msg() {
+  cat << EOF
+
+==> For setting up Syslinux EFI follow
+    https://wiki.archlinux.org/index.php/Syslinux#UEFI_Systems
+
+==> The syslinux-install_update script does not currently support EFI install
+
+EOF
+}
+
+show_bios_autoupdate_msg() {
+  cat << EOF
+
+==> For setting up Syslinux BIOS using the syslinux-install_update script follow
+    https://wiki.archlinux.org/index.php/Syslinux#Automatic_Install
+EOF
+}
+
+post_install() {
+  [ -f /boot/syslinux/SYSLINUX_AUTOUPDATE ] || show_bios_autoupdate_msg
+  [ -d /sys/firmware/efi ] && show_efi_msg
+
+  true
+}
+
+post_upgrade() {
+  ## auto-update syslinux if /boot/syslinux/SYSLINUX_AUTOUPDATE exists
+  /usr/bin/syslinux-install_update -s
+
+  post_install
+}



More information about the arch-commits mailing list