mirror of
https://git.yoctoproject.org/poky
synced 2026-01-29 21:08:42 +01:00
syslinux: upgrade to 6.04-pre2
For changes in this release, see: http://www.syslinux.org/wiki/index.php?title=Syslinux_6_Changelog Backport a patch to fix compilation failures and remove the patches that are not needed anymore. (From OE-Core rev: faeeb918b01f17197c70e304b1eb7a10caba5ef3) Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
a189a28dc1
commit
6f686a4e51
@@ -0,0 +1,32 @@
|
||||
From bf6db5b48ec25f83939f1fdebb59028bc3c40b00 Mon Sep 17 00:00:00 2001
|
||||
From: "H. Peter Anvin (Intel)" <hpa@zytor.com>
|
||||
Date: Wed, 6 Feb 2019 11:30:51 -0800
|
||||
Subject: [PATCH] install: don't install obsolete file com32.ld
|
||||
|
||||
com32.ld has been obsolete for a long time, and has been removed now;
|
||||
don't install it either.
|
||||
|
||||
Reported-by: Joakim Tjernlund <Joakim.Tjernlund@infinera.com>
|
||||
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
|
||||
|
||||
Upstream-Status: Backport
|
||||
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
|
||||
---
|
||||
com32/lib/Makefile | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/com32/lib/Makefile b/com32/lib/Makefile
|
||||
index 74fff149..6a931492 100644
|
||||
--- a/com32/lib/Makefile
|
||||
+++ b/com32/lib/Makefile
|
||||
@@ -113,7 +113,6 @@ spotless: clean
|
||||
|
||||
install: all
|
||||
mkdir -m 755 -p $(INSTALLROOT)$(COM32DIR)
|
||||
- install -m 644 $(SRC)/com32.ld $(INSTALLROOT)$(COM32DIR)
|
||||
-rm -rf $(INSTALLROOT)$(COM32DIR)/include
|
||||
cp -r $(SRC)/../include $(INSTALLROOT)$(COM32DIR)
|
||||
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
From 78d76b87a4b855e6b661ae457283a63f385c04c9 Mon Sep 17 00:00:00 2001
|
||||
From efce87e5ab98664c57e5f4e3955a2f3747df5737 Mon Sep 17 00:00:00 2001
|
||||
From: Robert Yang <liezhi.yang@windriver.com>
|
||||
Date: Fri, 2 Jan 2015 12:26:46 +0800
|
||||
Subject: [PATCH 8/9] libinstaller/syslinuxext: implement
|
||||
syslinux_patch_bootsect()
|
||||
Subject: [PATCH] libinstaller/syslinuxext: implement syslinux_patch_bootsect()
|
||||
|
||||
Move the related from extlinux/main.c to libinstaller/syslinuxext.c, the
|
||||
syslinux_patch_bootsect() are used by both extlinux/main.c and
|
||||
@@ -12,17 +11,21 @@ Upstream-Status: Submitted
|
||||
|
||||
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
|
||||
Tested-by: Du Dolpher <dolpher.du@intel.com>
|
||||
|
||||
Edited to include sysmacros.h
|
||||
|
||||
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
|
||||
---
|
||||
extlinux/Makefile | 3 +-
|
||||
extlinux/main.c | 167 +-------------------------------------------
|
||||
libinstaller/syslinuxext.c | 170 +++++++++++++++++++++++++++++++++++++++++++++
|
||||
3 files changed, 175 insertions(+), 165 deletions(-)
|
||||
extlinux/main.c | 167 +-----------------------------------
|
||||
libinstaller/syslinuxext.c | 171 +++++++++++++++++++++++++++++++++++++
|
||||
3 files changed, 176 insertions(+), 165 deletions(-)
|
||||
|
||||
diff --git a/extlinux/Makefile b/extlinux/Makefile
|
||||
index 02d1db5..90dd92f 100644
|
||||
index 1721ee54..62a49728 100644
|
||||
--- a/extlinux/Makefile
|
||||
+++ b/extlinux/Makefile
|
||||
@@ -31,7 +31,8 @@ SRCS = main.c \
|
||||
@@ -32,7 +32,8 @@ SRCS = main.c \
|
||||
../libinstaller/advio.c \
|
||||
../libinstaller/bootsect_bin.c \
|
||||
../libinstaller/ldlinuxc32_bin.c \
|
||||
@@ -33,10 +36,10 @@ index 02d1db5..90dd92f 100644
|
||||
|
||||
.SUFFIXES: .c .o .i .s .S
|
||||
diff --git a/extlinux/main.c b/extlinux/main.c
|
||||
index 09740bd..6fe026e 100644
|
||||
index ebff7eae..9add50fb 100644
|
||||
--- a/extlinux/main.c
|
||||
+++ b/extlinux/main.c
|
||||
@@ -60,6 +60,7 @@
|
||||
@@ -62,6 +62,7 @@
|
||||
#include "setadv.h"
|
||||
#include "syslxopt.h" /* unified options */
|
||||
#include "mountinfo.h"
|
||||
@@ -44,7 +47,7 @@ index 09740bd..6fe026e 100644
|
||||
|
||||
#ifdef DEBUG
|
||||
# define dprintf printf
|
||||
@@ -67,10 +68,6 @@
|
||||
@@ -69,10 +70,6 @@
|
||||
# define dprintf(...) ((void)0)
|
||||
#endif
|
||||
|
||||
@@ -55,10 +58,11 @@ index 09740bd..6fe026e 100644
|
||||
/* Since we have unused 2048 bytes in the primary AG of an XFS partition,
|
||||
* we will use the first 0~512 bytes starting from 2048 for the Syslinux
|
||||
* boot sector.
|
||||
@@ -92,136 +89,6 @@ static char subvol[BTRFS_SUBVOL_MAX];
|
||||
@@ -93,136 +90,6 @@ static char subvol[BTRFS_SUBVOL_MAX];
|
||||
#define BTRFS_ADV_OFFSET (BTRFS_BOOT_AREA_A_OFFSET + BTRFS_BOOT_AREA_A_SIZE \
|
||||
- 2*ADV_SIZE)
|
||||
|
||||
/*
|
||||
-/*
|
||||
- * Get the size of a block device
|
||||
- */
|
||||
-static uint64_t get_size(int devfd)
|
||||
@@ -188,11 +192,10 @@ index 09740bd..6fe026e 100644
|
||||
- return rv;
|
||||
-}
|
||||
-
|
||||
-/*
|
||||
/*
|
||||
* Query the device geometry and put it into the boot sector.
|
||||
* Map the file and put the map in the boot sector and file.
|
||||
* Stick the "current directory" inode number into the file.
|
||||
@@ -231,11 +98,8 @@ ok:
|
||||
@@ -233,11 +100,8 @@ ok:
|
||||
static int patch_file_and_bootblock(int fd, const char *dir, int devfd)
|
||||
{
|
||||
struct stat dirst, xdst;
|
||||
@@ -204,7 +207,7 @@ index 09740bd..6fe026e 100644
|
||||
char *dirpath, *subpath, *xdirpath;
|
||||
int rv;
|
||||
|
||||
@@ -279,33 +143,8 @@ static int patch_file_and_bootblock(int fd, const char *dir, int devfd)
|
||||
@@ -281,33 +145,8 @@ static int patch_file_and_bootblock(int fd, const char *dir, int devfd)
|
||||
/* Now subpath should contain the path relative to the fs base */
|
||||
dprintf("subpath = %s\n", subpath);
|
||||
|
||||
@@ -241,14 +244,15 @@ index 09740bd..6fe026e 100644
|
||||
/* Construct the boot file map */
|
||||
|
||||
diff --git a/libinstaller/syslinuxext.c b/libinstaller/syslinuxext.c
|
||||
index bb54cef..5a4423b 100644
|
||||
index bb54cefc..9ae82884 100644
|
||||
--- a/libinstaller/syslinuxext.c
|
||||
+++ b/libinstaller/syslinuxext.c
|
||||
@@ -1,7 +1,177 @@
|
||||
@@ -1,7 +1,178 @@
|
||||
#define _GNU_SOURCE
|
||||
|
||||
+#include <sys/stat.h>
|
||||
+#include <sys/types.h>
|
||||
+#include <sys/sysmacros.h>
|
||||
+#include <getopt.h>
|
||||
+#include <ext2fs/ext2fs.h>
|
||||
+
|
||||
@@ -423,5 +427,5 @@ index bb54cef..5a4423b 100644
|
||||
}
|
||||
|
||||
--
|
||||
1.9.1
|
||||
2.17.1
|
||||
|
||||
|
||||
@@ -1,37 +0,0 @@
|
||||
don't break with old compilers and -DGNU_EFI_USE_MS_ABI
|
||||
It's entirely legitimate to request GNU_EFI_USE_MS_ABI even if the current
|
||||
compiler doesn't support it, and gnu-efi should transparently fall back to
|
||||
using legacy techniques to set the calling convention. We don't get type
|
||||
checking, but at least it will still compile.
|
||||
|
||||
Adapted from gnu-efi
|
||||
|
||||
Author: Steve Langasek <steve.langasek@ubuntu.com>
|
||||
Upstream-Status: Pending
|
||||
|
||||
Index: syslinux-6.03/efi64/include/efi/x86_64/efibind.h
|
||||
===================================================================
|
||||
--- syslinux-6.03.orig/efi64/include/efi/x86_64/efibind.h
|
||||
+++ syslinux-6.03/efi64/include/efi/x86_64/efibind.h
|
||||
@@ -25,8 +25,6 @@ Revision History
|
||||
#if defined(GNU_EFI_USE_MS_ABI)
|
||||
#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7))
|
||||
#define HAVE_USE_MS_ABI 1
|
||||
- #else
|
||||
- #error Compiler is too old for GNU_EFI_USE_MS_ABI
|
||||
#endif
|
||||
#endif
|
||||
|
||||
Index: syslinux-6.03/gnu-efi/gnu-efi-3.0/inc/x86_64/efibind.h
|
||||
===================================================================
|
||||
--- syslinux-6.03.orig/gnu-efi/gnu-efi-3.0/inc/x86_64/efibind.h
|
||||
+++ syslinux-6.03/gnu-efi/gnu-efi-3.0/inc/x86_64/efibind.h
|
||||
@@ -25,8 +25,6 @@ Revision History
|
||||
#if defined(GNU_EFI_USE_MS_ABI)
|
||||
#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7))
|
||||
#define HAVE_USE_MS_ABI 1
|
||||
- #else
|
||||
- #error Compiler is too old for GNU_EFI_USE_MS_ABI
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -1,33 +0,0 @@
|
||||
From 0f3d83c25491951f1fa84c7957358ef3d1bcd8a9 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Wed, 9 Sep 2015 17:39:22 +0000
|
||||
Subject: [PATCH] mk: -MMD does not take any arguments
|
||||
|
||||
Specify -Wp for each option, clang seems to not accept
|
||||
-Wp,-x,y,-a,b
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
Upstream-Status: Pending
|
||||
|
||||
mk/syslinux.mk | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
Index: syslinux-6.03/mk/syslinux.mk
|
||||
===================================================================
|
||||
--- syslinux-6.03.orig/mk/syslinux.mk
|
||||
+++ syslinux-6.03/mk/syslinux.mk
|
||||
@@ -82,11 +82,11 @@ ARCH ?= $(strip $(SUBARCH))
|
||||
GCCWARN = -W -Wall -Wstrict-prototypes $(DEBUGOPT)
|
||||
|
||||
# Common stanza to make gcc generate .*.d dependency files
|
||||
-MAKEDEPS = -Wp,-MT,$@,-MD,$(dir $@).$(notdir $@).d
|
||||
+MAKEDEPS = -MT $@ -MD
|
||||
|
||||
# Dependencies that exclude system headers; use whenever we use
|
||||
# header files from the platform.
|
||||
-UMAKEDEPS = -Wp,-MT,$@,-MMD,$(dir $@).$(notdir $@).d
|
||||
+UMAKEDEPS = -MT $@ -MMD
|
||||
|
||||
# Items that are only appropriate during development; this file is
|
||||
# removed when tarballs are generated.
|
||||
@@ -1,45 +0,0 @@
|
||||
https://bugs.gentoo.org/579928
|
||||
|
||||
From d84db34dbe39d55b4d7e868764c056689aa0793b Mon Sep 17 00:00:00 2001
|
||||
From: Mike Frysinger <vapier@gentoo.org>
|
||||
Date: Tue, 19 Apr 2016 01:56:41 -0400
|
||||
Subject: [PATCH] extlinux: pull in sys/sysmacros.h for major/minor/makedev
|
||||
|
||||
These functions are defined in sys/sysmacros.h, so add the include to
|
||||
main.c. This is already handled correctly in mountinfo.c. Otherwise
|
||||
we get build failures like:
|
||||
|
||||
main.o: In function 'find_device_sysfs':
|
||||
extlinux/main.c:1131: undefined reference to 'minor'
|
||||
|
||||
Upstream-Status: Pending
|
||||
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
|
||||
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
||||
|
||||
The first part wasn't enough in OE build, I had to add the same for syslinuxext.c.
|
||||
---
|
||||
extlinux/main.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/extlinux/main.c b/extlinux/main.c
|
||||
index a7ebd49..ebff7ea 100644
|
||||
--- a/extlinux/main.c
|
||||
+++ b/extlinux/main.c
|
||||
@@ -38,6 +38,7 @@
|
||||
#include <sysexits.h>
|
||||
#include <sys/ioctl.h>
|
||||
#include <sys/stat.h>
|
||||
+#include <sys/sysmacros.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/mount.h>
|
||||
#include <sys/vfs.h>
|
||||
--- a/libinstaller/syslinuxext.c 2017-02-22 20:17:05.336869181 +0100
|
||||
+++ b/libinstaller/syslinuxext.c 2017-02-22 20:16:47.500868751 +0100
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
#include <sys/stat.h>
|
||||
#include <sys/types.h>
|
||||
+#include <sys/sysmacros.h>
|
||||
#include <getopt.h>
|
||||
#include <ext2fs/ext2fs.h>
|
||||
|
||||
@@ -1,35 +0,0 @@
|
||||
syslinux-native: fix parallel building issue
|
||||
|
||||
There might be an error when parallel build:
|
||||
|
||||
[snip]
|
||||
cp: cannot create directory `tmp/sysroots/x86_64-linux/usr/share/
|
||||
syslinux/com32/include/gplinclude': No such file or directory
|
||||
make[4]: *** [install] Error 1
|
||||
make[3]: *** [gpllib] Error 2
|
||||
[snip]
|
||||
|
||||
This is a potential issue. In ${S}/com32/gpllib/Makefile file,
|
||||
install target wants to copy $(SRC)/../gplinclude to
|
||||
$(INSTALLROOT)$(COM32DIR)/include/ directory, but in ${S}/com32/lib/Makefile
|
||||
file, the install target will remove $(INSTALLROOT)$(COM32DIR)/include
|
||||
directory. We need to do com32/lib first.
|
||||
|
||||
The patch make com32/gpllib depends on com32/lib to fix this issue.
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
|
||||
---
|
||||
com32/Makefile | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
Index: syslinux-6.03/com32/Makefile
|
||||
===================================================================
|
||||
--- syslinux-6.03.orig/com32/Makefile
|
||||
+++ syslinux-6.03/com32/Makefile
|
||||
@@ -21,3 +21,4 @@ rosh: lib libutil
|
||||
samples: libutil elflink/ldlinux
|
||||
sysdump: lib libutil libupload gpllib
|
||||
lua/src: cmenu modules
|
||||
+gpllib: lib
|
||||
@@ -1,31 +0,0 @@
|
||||
From 490fc3bbd65c2c252c1fdf3da0fac9898aa9eea6 Mon Sep 17 00:00:00 2001
|
||||
From: Robert Yang <liezhi.yang@windriver.com>
|
||||
Date: Fri, 15 Aug 2014 21:09:16 -0700
|
||||
Subject: [PATCH] com32/Makefile: fix parallel issue
|
||||
|
||||
Fixed:
|
||||
cp -r syslinux-6.01/com32/libupload/*.h image/usr/share/syslinux/com32/include/
|
||||
[snip]
|
||||
rm -rf image/usr/share/syslinux/com32/include
|
||||
[snip]
|
||||
cp: cannot create regular file `image/usr/share/syslinux/com32/include/serial.h': No such file or directory
|
||||
|
||||
The cp is happened in the "libupload" dir, while "rm -fr" is happend in
|
||||
"lib" dir, let "libupload" depend "lib" will fix the problem.
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
|
||||
---
|
||||
com32/Makefile | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
Index: syslinux-6.03/com32/Makefile
|
||||
===================================================================
|
||||
--- syslinux-6.03.orig/com32/Makefile
|
||||
+++ syslinux-6.03/com32/Makefile
|
||||
@@ -22,3 +22,4 @@ samples: libutil elflink/ldlinux
|
||||
sysdump: lib libutil libupload gpllib
|
||||
lua/src: cmenu modules
|
||||
gpllib: lib
|
||||
+libupload: lib
|
||||
@@ -7,10 +7,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \
|
||||
# If you really want to run syslinux, you need mtools. We just want the
|
||||
# ldlinux.* stuff for now, so skip mtools-native
|
||||
DEPENDS = "nasm-native util-linux e2fsprogs"
|
||||
PV = "6.04-pre2"
|
||||
|
||||
SRC_URI = "${KERNELORG_MIRROR}/linux/utils/boot/syslinux/syslinux-${PV}.tar.xz \
|
||||
file://syslinux-fix-parallel-building-issue.patch \
|
||||
file://syslinux-libupload-depend-lib.patch \
|
||||
SRC_URI = "https://www.zytor.com/pub/syslinux/Testing/6.04/syslinux-${PV}.tar.xz \
|
||||
file://syslinux-remove-clean-script.patch \
|
||||
file://0001-linux-syslinux-support-ext2-3-4-device.patch \
|
||||
file://0002-linux-syslinux-implement-open_ext2_fs.patch \
|
||||
@@ -21,13 +20,11 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/boot/syslinux/syslinux-${PV}.tar.xz \
|
||||
file://0007-linux-syslinux-implement-ext_construct_sectmap_fs.patch \
|
||||
file://0008-libinstaller-syslinuxext-implement-syslinux_patch_bo.patch \
|
||||
file://0009-linux-syslinux-implement-install_bootblock.patch \
|
||||
file://0010-gcc46-compatibility.patch \
|
||||
file://0011-mk-MMD-does-not-take-any-arguments.patch \
|
||||
file://syslinux-6.03-sysmacros.patch \
|
||||
file://0001-install-don-t-install-obsolete-file-com32.ld.patch \
|
||||
"
|
||||
|
||||
SRC_URI[md5sum] = "92a253df9211e9c20172796ecf388f13"
|
||||
SRC_URI[sha256sum] = "26d3986d2bea109d5dc0e4f8c4822a459276cf021125e8c9f23c3cca5d8c850e"
|
||||
SRC_URI[md5sum] = "2b31c78f087f99179feb357da312d7ec"
|
||||
SRC_URI[sha256sum] = "4441a5d593f85bb6e8d578cf6653fb4ec30f9e8f4a2315a3d8f2d0a8b3fadf94"
|
||||
|
||||
COMPATIBLE_HOST = '(x86_64|i.86).*-(linux|freebsd.*)'
|
||||
# Don't let the sanity checker trip on the 32 bit real mode BIOS binaries
|
||||
@@ -62,7 +59,7 @@ do_compile() {
|
||||
}
|
||||
|
||||
do_install() {
|
||||
oe_runmake CC="${CC} ${CFLAGS}" LD="${LD}" install INSTALLROOT="${D}" firmware="bios"
|
||||
oe_runmake CC="${CC} ${CFLAGS}" LD="${LD}" firmware="bios" install INSTALLROOT="${D}"
|
||||
|
||||
install -d ${D}${datadir}/syslinux/
|
||||
install -m 644 ${S}/bios/core/ldlinux.sys ${D}${datadir}/syslinux/
|
||||
Reference in New Issue
Block a user