diff options
author | Patrick J Volkerding <volkerdi@slackware.com> | 2018-05-28 19:12:29 +0000 |
---|---|---|
committer | Eric Hameleers <alien@slackware.com> | 2018-05-31 23:39:35 +0200 |
commit | 646a5c1cbfd95873950a87b5f75d52073a967023 (patch) | |
tree | b8b8d2ab3b0d432ea69ad1a64d1c789649d65020 /source/a/elilo | |
parent | d31c50870d0bee042ce660e445c9294a59a3a65b (diff) | |
download | current-646a5c1cbfd95873950a87b5f75d52073a967023.tar.gz |
Mon May 28 19:12:29 UTC 201820180528191229
a/pkgtools-15.0-noarch-13.txz: Rebuilt.
installpkg: default line length for --terselength is the number of columns.
removepkg: added --terse mode.
upgradepkg: default line length for --terselength is the number of columns.
upgradepkg: accept -option in addition to --option.
ap/vim-8.1.0026-x86_64-1.txz: Upgraded.
d/bison-3.0.5-x86_64-1.txz: Upgraded.
e/emacs-26.1-x86_64-1.txz: Upgraded.
kde/kopete-4.14.3-x86_64-8.txz: Rebuilt.
Recompiled against libidn-1.35.
n/conntrack-tools-1.4.5-x86_64-1.txz: Upgraded.
n/libnetfilter_conntrack-1.0.7-x86_64-1.txz: Upgraded.
n/libnftnl-1.1.0-x86_64-1.txz: Upgraded.
n/links-2.16-x86_64-2.txz: Rebuilt.
Rebuilt to enable X driver for -g mode.
n/lynx-2.8.9dev.19-x86_64-1.txz: Upgraded.
n/nftables-0.8.5-x86_64-1.txz: Upgraded.
n/p11-kit-0.23.11-x86_64-1.txz: Upgraded.
n/ulogd-2.0.7-x86_64-1.txz: Upgraded.
n/whois-5.3.1-x86_64-1.txz: Upgraded.
xap/network-manager-applet-1.8.12-x86_64-1.txz: Upgraded.
xap/vim-gvim-8.1.0026-x86_64-1.txz: Upgraded.
Diffstat (limited to 'source/a/elilo')
-rwxr-xr-x | source/a/elilo/elilo.SlackBuild | 35 | ||||
-rw-r--r-- | source/a/elilo/elilo.double.kernel.size.limit.diff | 17 | ||||
-rw-r--r-- | source/a/elilo/eliloconfig | 18 | ||||
-rw-r--r-- | source/a/elilo/slack-desc | 10 |
4 files changed, 59 insertions, 21 deletions
diff --git a/source/a/elilo/elilo.SlackBuild b/source/a/elilo/elilo.SlackBuild index 2fa31a7a..1dc1004c 100755 --- a/source/a/elilo/elilo.SlackBuild +++ b/source/a/elilo/elilo.SlackBuild @@ -1,6 +1,6 @@ -#!/bin/sh +#!/bin/bash -# Copyright 2013, 2014, 2016 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2013, 2014, 2016, 2017, 2018 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -20,9 +20,11 @@ # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +cd $(dirname $0) ; CWD=$(pwd) + PKGNAM=elilo VERSION=${VERSION:-$(echo $PKGNAM*.tar.?z* | rev | cut -f 2 -d - | rev)} -BUILD=${BUILD:-2} +BUILD=${BUILD:-6} if [ -z "$ARCH" ]; then case "$( uname -m )" in @@ -32,7 +34,6 @@ if [ -z "$ARCH" ]; then esac fi -CWD=$(pwd) TMP=${TMP:-/tmp} PKG=$TMP/package-$PKGNAM @@ -50,6 +51,14 @@ else LIBDIRSUFFIX="" fi +# If the variable PRINT_PACKAGE_NAME is set, then this script will report what +# the name of the created package would be, and then exit. This information +# could be useful to other scripts. +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz" + exit 0 +fi + rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT cd $TMP @@ -58,11 +67,16 @@ mkdir elilo cd elilo tar xvf $CWD/${PKGNAM}-$VERSION-all.tar.?z* || exit 1 tar xvf elilo-${VERSION}-source.tar.gz || exit 1 -# This is a rebuilt version of the x86_64 elilo (which is really the only -# useful one), fetched from $TMP/elilo/elilo-${VERSION}-source/ after -# running this script. Elilo can be rather fragile, so we don't want to -# rebuild it all the time and risk breaking it. -tar xvf $CWD/elilo.x64.rebuilt.tar.xz || exit 1 + +# The tarball extracted below contains rebuilt versions of the x86_64 and +# ia32 elilo, which were extracted from $TMP/elilo/elilo-${VERSION}-source/ +# after building under both architectures. This approach simplifies making +# changes to other parts of the package without needlessly complicating +# things, as the loaders themselves seldom need to be rebuilt. Besides, +# elilo can be rather fragile, so we don't want to rebuild it without a +# good reason and risk breaking it. +tar xvf $CWD/elilo.loader.binaries.tar.xz || exit 1 + chown -R root:root . chmod -R u+w,go+r-w,a-s . cd elilo-${VERSION}-source || cd elilo || exit @@ -71,6 +85,9 @@ sed -i "s,/usr/lib,/usr/lib${LIBDIRSUFFIX},g" Make.defaults sed -i "s,EFICRT0.*= /usr/lib${LIBDIRSUFFIX},EFICRT0 = /usr/lib${LIBDIRSUFFIX}/gnuefi,g" Make.defaults sed -i "s,dpkg-architecture -qDEB_BUILD_ARCH,uname -m,g" Make.defaults +# Increase kernel size limit from 8MB to 16MB (nobody will ever need more than 640K ;-): +zcat $CWD/elilo.double.kernel.size.limit.diff.gz | patch -p1 --verbose || exit 1 + # We will build this from source. # However, we will package the pre-built EFI binaries, since we would # like to include both 32-bit and 64-bit x86 EFI loaders in the diff --git a/source/a/elilo/elilo.double.kernel.size.limit.diff b/source/a/elilo/elilo.double.kernel.size.limit.diff new file mode 100644 index 00000000..305655ce --- /dev/null +++ b/source/a/elilo/elilo.double.kernel.size.limit.diff @@ -0,0 +1,17 @@ +Nowadays x86_64 bzImage with a lot of built-in drivers may well be over 8 MB and +it will not boot with kernel_size limited at 8 MB. Increase the limit to 16 MB. + +Reading file size at runtime could be a better solution. + +diff -uNr elilo-3.16-source.orig/x86_64/bzimage.c elilo-3.16-source/x86_64/bzimage.c +--- elilo-3.16-source.orig/x86_64/bzimage.c 2012-11-19 22:01:04.000000000 +0100 ++++ elilo-3.16-source/x86_64/bzimage.c 2014-05-14 13:44:00.352004159 +0200 +@@ -34,7 +34,7 @@ + boot_params_t *param_start = NULL; + UINTN param_size = 0; + +-UINTN kernel_size = 0x800000; /* 8M (default x86_64 bzImage size limit) */ ++UINTN kernel_size = 0xFFFFFF; + + static VOID * + bzImage_alloc() diff --git a/source/a/elilo/eliloconfig b/source/a/elilo/eliloconfig index 912d6505..c31d137e 100644 --- a/source/a/elilo/eliloconfig +++ b/source/a/elilo/eliloconfig @@ -1,5 +1,5 @@ #!/bin/sh -# Copyright 2013, 2016 Patrick Volkerding, Sebeka, Minnesota, USA +# Copyright 2013, 2016, 2017 Patrick Volkerding, Sebeka, Minnesota, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -75,9 +75,9 @@ if [ ! -d /sys/firmware/efi ]; then exit fi -# If there's no vfat mounted on /boot/efi or /mnt/boot/efi, forget it: +# If there's no vfat mounted on /boot/efi or $T_PX/boot/efi, forget it: if ! mount | grep vfat | grep -wq /boot/efi ; then - if ! mount | grep vfat | grep -wq /mnt/boot/efi ; then + if ! mount | grep vfat | grep -wq $T_PX/boot/efi ; then if [ "$T_PX" = "/" ]; then echo "ERROR: No EFI System Partition mounted on /boot/efi." fi @@ -86,12 +86,16 @@ if ! mount | grep vfat | grep -wq /boot/efi ; then fi # Figure out the device and partition number of the ESP: +DEVLEN=8 +PARTLEN=9 if mount | grep vfat | grep -wq /boot/efi ; then - EFI_DEVICE=$(mount | grep vfat | grep -w /boot/efi | cut -b 1-8) - EFI_PARTITION=$(mount | grep vfat | grep -w /boot/efi | cut -f 1 -d ' ' | cut -b 9- | tr -d [a-z]) + mount | grep vfat | grep -w /boot/efi | grep -q -e nvme -e mmcblk && DEVLEN=12 && PARTLEN=14 + EFI_DEVICE=$(mount | grep vfat | grep -w /boot/efi | cut -b 1-${DEVLEN}) + EFI_PARTITION=$(mount | grep vfat | grep -w /boot/efi | cut -f 1 -d ' ' | cut -b ${PARTLEN}- | tr -d [a-z]) else - EFI_DEVICE=$(mount | grep vfat | grep -w /mnt/boot/efi | cut -b 1-8) - EFI_PARTITION=$(mount | grep vfat | grep -w /mnt/boot/efi | cut -f 1 -d ' ' | cut -b 9- | tr -d [a-z]) + mount | grep vfat | grep -w $T_PX/boot/efi | grep -q -e nvme -e mmcblk && DEVLEN=12 && PARTLEN=14 + EFI_DEVICE=$(mount | grep vfat | grep -w $T_PX/boot/efi | cut -b 1-${DEVLEN}) + EFI_PARTITION=$(mount | grep vfat | grep -w $T_PX/boot/efi | cut -f 1 -d ' ' | cut -b ${PARTLEN}- | tr -d [a-z]) fi # There better be a kernel: diff --git a/source/a/elilo/slack-desc b/source/a/elilo/slack-desc index acacac07..68e333fc 100644 --- a/source/a/elilo/slack-desc +++ b/source/a/elilo/slack-desc @@ -1,16 +1,16 @@ # HOW TO EDIT THIS FILE: -# The "handy ruler" below makes it easier to edit a package description. Line +# The "handy ruler" below makes it easier to edit a package description. Line # up the first '|' above the ':' following the base package name, and the '|' -# on the right side marks the last column you can put a character in. You must -# make exactly 11 lines for the formatting to be correct. It's also +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also # customary to leave one space after the ':'. |-----handy-ruler-----------------------------------------------------| elilo: elilo (Linux Loader for EFI-based platforms) elilo: elilo: This is elilo, a boot loader originally developed by HP for IA-64 -elilo: systems. This is used to load the kernel and initial ramdisk on -elilo: machines that use UEFI. Since most UEFI implementations are 64-bit, +elilo: systems. This is used to load the kernel and initial ramdisk on +elilo: machines that use UEFI. Since most UEFI implementations are 64-bit, elilo: the 64-bit EFI binary is generally the one to use (even for loading elilo: a 32-bit kernel). elilo: |