diff options
author | Keshav Amburay | 2012-12-11 19:14:27 +0530 |
---|---|---|
committer | Keshav Amburay | 2012-12-11 19:14:27 +0530 |
commit | e91661dee663cfdb95885e8d873553c985a94159 (patch) | |
tree | 0c469963da85376e469644b5a5d03affa63f7796 | |
parent | 98d96f9e60cc9e3ef2217b7cf1e56e472c527a4c (diff) | |
download | aur-e91661dee663cfdb95885e8d873553c985a94159.tar.gz |
U
-rw-r--r-- | .SRCINFO | 10 | ||||
-rw-r--r-- | PKGBUILD | 20 | ||||
-rw-r--r-- | syslinux-efi-allow-handover-protocol.patch | 13 | ||||
-rw-r--r-- | syslinux-efi-fix-makefiles.patch | 25 | ||||
-rw-r--r-- | syslinux-efi-search-PATH-EFI-syslinux.patch | 36 | ||||
-rw-r--r-- | syslinux-efi.install | 6 | ||||
-rw-r--r-- | syslinux.cfg | 24 |
7 files changed, 100 insertions, 34 deletions
@@ -1,6 +1,6 @@ pkgbase = syslinux-efi-git pkgdesc = SYSLINUX built for x86_64 and i386 UEFI firmwares - GIT (Alpha) Version - pkgver = 20121116 + pkgver = 20121211 pkgrel = 1 url = http://syslinux.zytor.com/ install = syslinux-efi.install @@ -21,8 +21,12 @@ pkgbase = syslinux-efi-git options = zipman options = !purge options = !makeflags - source = syslinux-efi-fix-makefiles.patch - sha1sums = e81380a09e9522fe83de506ca6ab1c6f9af4389a + source = syslinux-efi-search-PATH-EFI-syslinux.patch + source = syslinux-efi-allow-handover-protocol.patch + source = syslinux.cfg + sha1sums = b02f07dbcf77dd998c94d1a202e082a07f35bd3d + sha1sums = 5252feb1c2d82cc959ac20207b34224477c3eb75 + sha1sums = 7477f166ae0ed26c69f03d95c13078e146b90fe1 pkgname = syslinux-efi-git @@ -6,7 +6,7 @@ __pkgname="syslinux" _pkgname="${__pkgname}-efi" pkgname="${_pkgname}-git" -pkgver=20121116 +pkgver=20121211 pkgrel=1 arch=('any') pkgdesc="SYSLINUX built for x86_64 and i386 UEFI firmwares - GIT (Alpha) Version" @@ -23,9 +23,13 @@ conflicts=("${_pkgname}") options=('!strip' 'docs' '!libtool' 'emptydirs' 'zipman' '!purge' '!makeflags') -source=('syslinux-efi-fix-makefiles.patch') +source=('syslinux-efi-search-PATH-EFI-syslinux.patch' + 'syslinux-efi-allow-handover-protocol.patch' + 'syslinux.cfg') -sha1sums=('e81380a09e9522fe83de506ca6ab1c6f9af4389a') +sha1sums=('b02f07dbcf77dd998c94d1a202e082a07f35bd3d' + '5252feb1c2d82cc959ac20207b34224477c3eb75' + '7477f166ae0ed26c69f03d95c13078e146b90fe1') _gitroot="git://git.kernel.org/pub/scm/boot/syslinux/syslinux.git" _gitname="${__pkgname}" @@ -76,8 +80,12 @@ build() { unset CXXFLAGS unset LDFLAGS - ## Fix UEFI related Makefiles - patch -Np1 -i "${srcdir}/syslinux-efi-fix-makefiles.patch" || true + ## Add /EFI/syslinux to the list of search PATHs + patch -Np1 -i "${srcdir}/syslinux-efi-search-PATH-EFI-syslinux.patch" || true + echo + + ## Fix EFI Handover Protocol + patch -Np1 -i "${srcdir}/syslinux-efi-allow-handover-protocol.patch" || true echo mkdir -p "${srcdir}/${_gitname}_build/BUILD/" @@ -108,4 +116,6 @@ package() { make O="${PWD}/BUILD" INSTALLROOT="${pkgdir}/" AUXDIR="/usr/lib/syslinux" efi32 install echo + install -D -m0644 "${srcdir}/syslinux.cfg" "${pkgdir}/usr/lib/syslinux/syslinux.cfg" + } diff --git a/syslinux-efi-allow-handover-protocol.patch b/syslinux-efi-allow-handover-protocol.patch new file mode 100644 index 000000000000..b181f1e2f0b6 --- /dev/null +++ b/syslinux-efi-allow-handover-protocol.patch @@ -0,0 +1,13 @@ +diff --git a/efi/main.c b/efi/main.c +index 754cbc5..df432d7 100644 +--- a/efi/main.c ++++ b/efi/main.c +@@ -759,7 +759,7 @@ int efi_boot_linux(void *kernel_buf, size_t kernel_size, + printf("bzImage version 0x%x unsupported\n", hdr->version); + goto bail; + } +- if (hdr->version >= 0x20b) { ++ if (hdr->version < 0x20b) { + printf("bzImage version 0x%x handover protocol unimplemented \n", hdr->version); + goto bail; + } diff --git a/syslinux-efi-fix-makefiles.patch b/syslinux-efi-fix-makefiles.patch deleted file mode 100644 index 93760b57bf5b..000000000000 --- a/syslinux-efi-fix-makefiles.patch +++ /dev/null @@ -1,25 +0,0 @@ -diff --git a/efi/find-gnu-efi.sh b/efi/find-gnu-efi.sh -index 9620a4f..80c1bc7 100755 ---- a/efi/find-gnu-efi.sh -+++ b/efi/find-gnu-efi.sh -@@ -4,7 +4,7 @@ - # differs across distributions. - - include_dirs="/usr/include /usr/local/include" --lib_dirs="/usr/lib /usr/lib64 /usr/local/lib" -+lib_dirs="/usr/lib /usr/lib64 /usr/lib32 /usr/local/lib" - - function find_include() - { -diff --git a/mk/efi.mk b/mk/efi.mk -index af25f98..ede2d97 100644 ---- a/mk/efi.mk -+++ b/mk/efi.mk -@@ -36,6 +36,7 @@ FORMAT=efi-app-$(EFI_SUBARCH) - - CFLAGS = -I$(EFIINC) -I$(EFIINC)/$(EFI_SUBARCH) \ - -DEFI_FUNCTION_WRAPPER -fPIC -fshort-wchar -ffreestanding \ -+ -fno-stack-protector -fno-strict-aliasing -mno-red-zone \ - -Wall -I$(com32)/include -I$(com32)/include/sys \ - -I$(core)/include -I$(core)/ $(CARCHOPT) \ - -I$(com32)/lib/ -I$(com32)/libutil/include -std=gnu99 -DELF_DEBUG -DSYSLINUX_EFI \ diff --git a/syslinux-efi-search-PATH-EFI-syslinux.patch b/syslinux-efi-search-PATH-EFI-syslinux.patch new file mode 100644 index 000000000000..6cbc11abfcc9 --- /dev/null +++ b/syslinux-efi-search-PATH-EFI-syslinux.patch @@ -0,0 +1,36 @@ +diff --git a/core/elflink/load_env32.c b/core/elflink/load_env32.c +index 1fa43bd..ad4de96 100644 +--- a/core/elflink/load_env32.c ++++ b/core/elflink/load_env32.c +@@ -112,6 +112,7 @@ void load_env32(com32sys_t * regs __unused) + "/isolinux", + "/boot/syslinux", + "/syslinux", ++ "/EFI/syslinux", + "/", + NULL + }; +diff --git a/core/fs/iso9660/iso9660.c b/core/fs/iso9660/iso9660.c +index fe58a5b..2467bec 100644 +--- a/core/fs/iso9660/iso9660.c ++++ b/core/fs/iso9660/iso9660.c +@@ -234,6 +234,7 @@ static int iso_open_config(struct com32_filedata *filedata) + "/isolinux", + "/boot/syslinux", + "/syslinux", ++ "/EFI/syslinux", + "/", + NULL + }; +diff --git a/core/fs/lib/loadconfig.c b/core/fs/lib/loadconfig.c +index 95e6f3f..1af887f 100644 +--- a/core/fs/lib/loadconfig.c ++++ b/core/fs/lib/loadconfig.c +@@ -17,6 +17,7 @@ int generic_open_config(struct com32_filedata *filedata) + NULL, /* CurrentDirName */ + "/boot/syslinux", + "/syslinux", ++ "/EFI/syslinux", + "/", + NULL + }; diff --git a/syslinux-efi.install b/syslinux-efi.install index 09942482ff43..4deff695f5d0 100644 --- a/syslinux-efi.install +++ b/syslinux-efi.install @@ -1,5 +1,9 @@ post_install() { - echo "syslinux-efi has been installed at /usr/lib/syslinux/{efi64,efi32}/" + echo + echo "syslinux-efi has been installed at /usr/lib/syslinux/{efi64,efi32}/" + echo + echo "An example config file has been installed at /usr/lib/syslinux/syslinux.cfg" + echo } post_upgrade() { diff --git a/syslinux.cfg b/syslinux.cfg new file mode 100644 index 000000000000..813f211ede08 --- /dev/null +++ b/syslinux.cfg @@ -0,0 +1,24 @@ +PATH /EFI/syslinux:/boot/syslinux:/syslinux + +UI vesamenu.c32 +DEFAULT arch-core + +PROMPT 0 +TIMEOUT 30 + +# MENU TITLE Arch Linux +# MENU RESOLUTION 1366 768 + +LABEL arch-core + MENU LABEL Arch Linux + LINUX /EFI/arch/vmlinuz-linux.efi + APPEND root=/dev/sda1 rootfstype=ext4 add_efi_memmap systemd.unit=graphical.target + INITRD /EFI/arch/initramfs-linux.img + +LABEL arch-core-fallback + MENU LABEL Arch Linux Fallback + LINUX /EFI/arch/vmlinuz-linux.efi + APPEND root=/dev/sda1 rootfstype=ext4 add_efi_memmap systemd.unit=graphical.target + INITRD /EFI/arch/initramfs-linux.img + +ONTIMEOUT arch-core |