From b1e56d283dfe769dab2d8b9f4cbf9525edb4cd9d Mon Sep 17 00:00:00 2001 From: Karchnu Date: Sat, 24 Apr 2021 00:04:33 +0200 Subject: [PATCH] Syslinux: working. --- .../0018-prevent-pow-optimization.patch | 36 --- wip/syslinux/APKBUILD | 53 ---- wip/syslinux/FIXME | 1 - wip/syslinux/Makefile | 50 ---- wip/syslinux/fix-sysmacros.patch | 12 - wip/syslinux/gcc-10.patch | 109 -------- wip/syslinux/syslinux.post-upgrade | 61 ---- wip/syslinux/syslinux.trigger | 3 - wip/syslinux/update-extlinux | 262 ------------------ wip/syslinux/update-extlinux.conf | 74 ----- 10 files changed, 661 deletions(-) delete mode 100644 wip/syslinux/0018-prevent-pow-optimization.patch delete mode 100644 wip/syslinux/APKBUILD delete mode 100644 wip/syslinux/FIXME delete mode 100644 wip/syslinux/Makefile delete mode 100644 wip/syslinux/fix-sysmacros.patch delete mode 100644 wip/syslinux/gcc-10.patch delete mode 100644 wip/syslinux/syslinux.post-upgrade delete mode 100644 wip/syslinux/syslinux.trigger delete mode 100755 wip/syslinux/update-extlinux delete mode 100644 wip/syslinux/update-extlinux.conf diff --git a/wip/syslinux/0018-prevent-pow-optimization.patch b/wip/syslinux/0018-prevent-pow-optimization.patch deleted file mode 100644 index 0c42c7b..0000000 --- a/wip/syslinux/0018-prevent-pow-optimization.patch +++ /dev/null @@ -1,36 +0,0 @@ -From: Lukas Schwaighofer -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)); diff --git a/wip/syslinux/APKBUILD b/wip/syslinux/APKBUILD deleted file mode 100644 index e02aa5d..0000000 --- a/wip/syslinux/APKBUILD +++ /dev/null @@ -1,53 +0,0 @@ -# Maintainer: Natanael Copa -pkgname=syslinux -pkgver=6.04_pre1 -pkgrel=8 -_ver=${pkgver/_/-} -pkgdesc="Boot loader for the Linux operating system" -url="https://syslinux.org" -arch="x86 x86_64" -license="GPL-2.0-or-later" -makedepends="linux-headers nasm perl util-linux-dev gnu-efi-dev" -depends="mtools blkid mkinitfs" -triggers="syslinux.trigger=/boot" -install="syslinux.post-upgrade" -options="textrels" -ldpath="/usr/share/syslinux" -subpackages="$pkgname-doc $pkgname-dev" -source="https://www.kernel.org/pub/linux/utils/boot/syslinux/Testing/${pkgver%_pre*}/syslinux-$_ver.tar.xz - update-extlinux.conf - update-extlinux - 0018-prevent-pow-optimization.patch - fix-sysmacros.patch - gcc-10.patch - " - -case "$CARCH" in -x86) _loaderarch=efi32;; -x86_64) _loaderarch=efi64;; -esac - -builddir="$srcdir"/$pkgname-$_ver - -build() { - unset LDFLAGS - make $_loaderarch installer -} - -package() { - make -j1 INSTALLROOT="$pkgdir" MANDIR=/usr/share/man \ - bios $_loaderarch install - - mkdir -p "$pkgdir"/etc/update-extlinux.d - cp "$srcdir"/update-extlinux.conf "$pkgdir"/etc/ - sed "/^version=/s/=.*/=$pkgver-r$pkgrel/" "$srcdir"/update-extlinux \ - > "$pkgdir"/sbin/update-extlinux - chmod 755 "$pkgdir"/sbin/update-extlinux -} - -sha512sums="7927dd39be8e2dcf4138a6fea33def67d19d938379d694f15b48fdd2f5924c028b7a9e7bd71d0c7c6630c203e9e2a54296628e530632ad5e6f55b1ebefe8fc98 syslinux-6.04-pre1.tar.xz -9d2b82c91525de584daad6b0c0e2df5d13092c47e91a812e26405f5ff78d4587a8ae7f7a8590124687307f83efb15f686e4090193adc7b4e3601a4200f9283cd update-extlinux.conf -8a46d4c601bd6a1e1308138af73792ef6eda9a1eac1cbcd13af27cf31ecf2960a130b22ad3439c4d5df3c5fd9dc934900b29e449ea958d1496b331885a7f5af6 update-extlinux -92fa48133ef702092d7acafae0e0e20f9355cd2b5fe199b96fcccba5a1e688c360de4d069391815255f5493228ad03998d20b99748323396d20d12a1f27c60cd 0018-prevent-pow-optimization.patch -6fb63b50a6c746445a58badc81cbf8525f38e2a7868b97ac21aa9d20c162f2318fab6c25505614700033a840aa5c06c3cef3065f11b5b5f4e514474194ff4b54 fix-sysmacros.patch -62a45f94107300b05a93be18a228c15ae9ce90addeee39a1ef35845077b493e72ebed35791bf8db21c406c379a83220cc4db4e1919c01fcd387ae10b2cfc8861 gcc-10.patch" diff --git a/wip/syslinux/FIXME b/wip/syslinux/FIXME deleted file mode 100644 index 017b3df..0000000 --- a/wip/syslinux/FIXME +++ /dev/null @@ -1 +0,0 @@ -For now, some applications are installed in /usr/bin. \ No newline at end of file diff --git a/wip/syslinux/Makefile b/wip/syslinux/Makefile deleted file mode 100644 index 60f4b22..0000000 --- a/wip/syslinux/Makefile +++ /dev/null @@ -1,50 +0,0 @@ -name = syslinux -#version = 6.03 -#URL = https://mirrors.edge.kernel.org/pub/linux/utils/boot/syslinux/$(name)-$(version).tar.gz -version_abbr = 6.04 -version = $(version_abbr)-pre1 -URL = https://mirrors.edge.kernel.org/pub/linux/utils/boot/syslinux/Testing/$(version_abbr)/syslinux-$(version).tar.xz - -patches != ls *.patch - -dependencies = util-linux -build-dependencies = nasm linux-dev util-linux-dev - -loaderarch_ = efi64 -ifeq ($(ARCH),x86) -loaderarch_ = efi32 -endif -loaderarch ?= $(loaderarch_) - -build_backend = build_custom -build_custom: - $(Q)cd $(bdir); LDFLAGS= make $(loaderarch) installer - -MAKE_INSTALL_OPTIONS_USER = -j1 \ - INSTALLROOT="$(pkg_fake_root_dir)" \ - DATADIR=$(PREFIX) \ - BINDIR=$(BINDIR) \ - SBINDIR=$(SBINDIR) \ - LIBDIR=$(LIBDIR) \ - INCDIR=$(INCLUDEDIR) \ - MANDIR=$(MANDIR) \ - TFTPBOOT=$(PREFIX)/tftpboot \ - bios $(loaderarch) - -post_fake_root_install: - mkdir -p "$(pkg_fake_root_dir)"/etc/update-extlinux.d - cp update-extlinux.conf "$(pkg_fake_root_dir)"/etc/ - sed "/^version=/s/=.*/=$(version)-r$(release)/" update-extlinux \ - > "$(pkg_fake_root_dir)"/sbin/update-extlinux - chmod 755 "$(pkg_fake_root_dir)"/sbin/update-extlinux - -#build_custom: -# cd $(bdir) ; \ -# (echo '#include '; cat extlinux/main.c) > main.c.new && \ -# mv main.c.new extlinux/main.c ; \ -# make efi32 efi64 bios installer - -#MAKE_INSTALL_OPTIONS_USER = INSTALLROOT="$(pkg_fake_root_dir)" EXTLINUXDIR=/boot/extlinux - -SYSCONF ?= ../../ -include $(SYSCONF)/package.mk diff --git a/wip/syslinux/fix-sysmacros.patch b/wip/syslinux/fix-sysmacros.patch deleted file mode 100644 index dd622e8..0000000 --- a/wip/syslinux/fix-sysmacros.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/extlinux/main.c b/extlinux/main.c -index a7ebd49..69bb164 100644 ---- a/extlinux/main.c -+++ b/extlinux/main.c -@@ -41,6 +41,7 @@ - #include - #include - #include -+#include - - #include "linuxioctl.h" - diff --git a/wip/syslinux/gcc-10.patch b/wip/syslinux/gcc-10.patch deleted file mode 100644 index b5bbad0..0000000 --- a/wip/syslinux/gcc-10.patch +++ /dev/null @@ -1,109 +0,0 @@ -From 951928f2cad5682c2844e6bd0f7201236c5d9b66 Mon Sep 17 00:00:00 2001 -From: Merlin Mathesius -Date: Wed, 13 May 2020 08:02:27 -0500 -Subject: [PATCH] Workaround multiple definition of symbol errors - ---- - com32/cmenu/Makefile | 2 +- - com32/elflink/ldlinux/Makefile | 2 +- - com32/gpllib/Makefile | 2 +- - com32/hdt/Makefile | 2 +- - core/Makefile | 2 +- - dos/Makefile | 2 +- - efi/Makefile | 2 +- - 7 files changed, 7 insertions(+), 7 deletions(-) - -diff --git a/com32/cmenu/Makefile b/com32/cmenu/Makefile -index b81b68ed..2ae989c4 100644 ---- a/com32/cmenu/Makefile -+++ b/com32/cmenu/Makefile -@@ -49,7 +49,7 @@ makeoutputdirs: - @mkdir -p $(OBJ)/libmenu - - libmenu/libmenu.elf: $(LIBMENU) -- $(LD) -shared $(LDFLAGS) -soname $(patsubst %.elf,%.c32,$(@F)) \ -+ $(LD) -shared $(LDFLAGS) -z muldefs -soname $(patsubst %.elf,%.c32,$(@F)) \ - -o $@ $^ - - tidy dist: -diff --git a/com32/elflink/ldlinux/Makefile b/com32/elflink/ldlinux/Makefile -index 87c0d362..2be2a01a 100644 ---- a/com32/elflink/ldlinux/Makefile -+++ b/com32/elflink/ldlinux/Makefile -@@ -33,7 +33,7 @@ endif - all: $(BTARGET) ldlinux_lnx.a - - ldlinux.elf : $(OBJS) -- $(LD) $(LDFLAGS) -soname $(SONAME) -o $@ $^ $(LIBS) -+ $(LD) $(LDFLAGS) -z muldefs -soname $(SONAME) -o $@ $^ $(LIBS) - - LNXCFLAGS += -D__export='__attribute__((visibility("default")))' - LNXLIBOBJS = get_key.lo -diff --git a/com32/gpllib/Makefile b/com32/gpllib/Makefile -index 1fec9145..2d764d0b 100644 ---- a/com32/gpllib/Makefile -+++ b/com32/gpllib/Makefile -@@ -24,7 +24,7 @@ makeoutputdirs: - $(addprefix $(OBJ),$(sort $(dir $(LIBOBJS)))),$(b)) - - libgpl.elf : $(LIBOBJS) -- $(LD) -shared $(LDFLAGS) -soname $(patsubst %.elf,%.c32,$(@F)) -o $@ $^ -+ $(LD) -shared $(LDFLAGS) -z muldefs -soname $(patsubst %.elf,%.c32,$(@F)) -o $@ $^ - - tidy dist clean: - find . \( -name \*.o -o -name .\*.d -o -name \*.tmp \) -print0 | \ -diff --git a/com32/hdt/Makefile b/com32/hdt/Makefile -index 61736d05..1d947857 100644 ---- a/com32/hdt/Makefile -+++ b/com32/hdt/Makefile -@@ -52,7 +52,7 @@ QEMU ?= qemu-kvm - all: $(MODULES) $(TESTFILES) - - hdt.elf : $(OBJS) $(LIBS) $(C_LIBS) -- $(LD) $(LDFLAGS) -o $@ $^ -+ $(LD) $(LDFLAGS) -z muldefs -o $@ $^ - - memtest: - -[ ! -f $(FLOPPY_DIR)/$(MEMTEST) ] && $(WGET) $(MEMTEST_URL) -O $(FLOPPY_DIR)/$(MEMTEST) -diff --git a/core/Makefile b/core/Makefile -index 46cb037c..f0cfcbe9 100644 ---- a/core/Makefile -+++ b/core/Makefile -@@ -156,7 +156,7 @@ LDSCRIPT = $(SRC)/$(ARCH)/syslinux.ld - NASM_ELF = elf - - %.elf: %.o $(LIBDEP) $(LDSCRIPT) $(AUXLIBS) -- $(LD) $(LDFLAGS) -pie -Bsymbolic \ -+ $(LD) $(LDFLAGS) -z muldefs -pie -Bsymbolic \ - -T $(LDSCRIPT) \ - --unresolved-symbols=report-all \ - -E --hash-style=gnu -M -o $@ $< \ -diff --git a/dos/Makefile b/dos/Makefile -index 4c930d19..5d1c72ca 100644 ---- a/dos/Makefile -+++ b/dos/Makefile -@@ -19,7 +19,7 @@ include $(MAKEDIR)/embedded.mk - CFLAGS += -D__MSDOS__ -mregparm=3 -DREGPARM=3 - # CFLAGS += -DDEBUG - --LDFLAGS = -T $(SRC)/dosexe.ld -+LDFLAGS = -T $(SRC)/dosexe.ld -z muldefs - OPTFLAGS = -g - INCLUDES = -include code16.h -nostdinc -iwithprefix include \ - -I$(SRC) -I$(SRC)/.. -I$(SRC)/../libfat \ -diff --git a/efi/Makefile b/efi/Makefile -index bbf23f24..3dd922d5 100644 ---- a/efi/Makefile -+++ b/efi/Makefile -@@ -69,7 +69,7 @@ $(OBJS): | $(OBJ)/$(ARCH) - BTARGET = syslinux.efi - - syslinux.so: $(OBJS) $(CORE_OBJS) $(LIB_OBJS) -- $(LD) $(LDFLAGS) --strip-debug -o $@ $^ -lgnuefi -lefi -+ $(LD) $(LDFLAGS) -z muldefs --strip-debug -o $@ $^ -lgnuefi -lefi - - # We need to rename the .hash section because the EFI firmware - # linker really doesn't like it. --- -2.25.1 - diff --git a/wip/syslinux/syslinux.post-upgrade b/wip/syslinux/syslinux.post-upgrade deleted file mode 100644 index 9038866..0000000 --- a/wip/syslinux/syslinux.post-upgrade +++ /dev/null @@ -1,61 +0,0 @@ -#!/bin/sh - -# find given append opt -get_append_opt() { - awk -v search="$1" ' - $1 == "append" || $1 == "APPEND" { - split($0, a); - for (i in a) { - if (index(a[i], search) == 1) { - print a[i]; - } - } - }' /boot/extlinux.conf | sort | uniq -} - -# print default kernel options -get_default_opts() { - awk ' - $1 == "append" || $1 == "APPEND" { - opts=""; - space=""; - split($0, a); - for (i in a) { - if (i != 1 \ - && (index(a[i], "root=") != 1) \ - && (index(a[i], "initrd=") != 1) \ - && (index(a[i], "modules=") != 1)) { - opts = opts space a[i]; - space = " "; - } - } - print opts; - } - ' /boot/extlinux.conf | sort | uniq -} - -if ! [ -f /boot/extlinux.conf ]; then - exit 0 -fi - -# check if we already have a generated extlinux.conf -if grep -q '^# Generated by update-extlinux' /boot/extlinux.conf; then - exit 0 -fi - -# try fish out the kernel opts from extlinuix.conf's append line -root=$(get_append_opt 'root=' | head -n 1) -modules=$(get_append_opt 'modules=' | head -n 1) -opts=$(get_default_opts | head -n 1) - -# populate update-extlinux.conf with the info we know -if [ -n "$root" ]; then - sed -i -e "/^root=/s|.*|$root|g" /etc/update-extlinux.conf -fi -if [ -n "$modules" ]; then - sed -i -e "/^modules=/s|.*|$modules|g" /etc/update-extlinux.conf -fi -if [ -n "$opts" ]; then - sed -i -e "/^default_kernel_opts=/s|.*|default_kernel_opts=\"$opts\"|g" /etc/update-extlinux.conf -fi - diff --git a/wip/syslinux/syslinux.trigger b/wip/syslinux/syslinux.trigger deleted file mode 100644 index fe91f43..0000000 --- a/wip/syslinux/syslinux.trigger +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -update-extlinux --warn-only diff --git a/wip/syslinux/update-extlinux b/wip/syslinux/update-extlinux deleted file mode 100755 index 0ea1ae4..0000000 --- a/wip/syslinux/update-extlinux +++ /dev/null @@ -1,262 +0,0 @@ -#!/bin/sh - -version= -default=0 -timeout=5 -verbose=0 - -conf=/boot/extlinux.conf -myconf=/etc/update-extlinux.conf - -# read in extlinux settings -if [ -f "$myconf" ]; then - . $myconf -fi - -everbose() { - if [ "$verbose" = "0" ]; then - return - fi - - echo $* -} - -ewarn() { - echo "WARNING:" $@ >&2 -} - -eerror() { - echo "ERROR:" $@ >&2 - return 1 -} - -usage() { - echo "usage: $0 [-v|--verbose] [--warn-only]" -} - -while [ $# -gt 0 ]; do - opt="$1" - shift - case "$opt" in - -v|--verbose) - verbose=1 - ;; - --warn-only) - warn_only=1 - ;; - --) - break - ;; - -*) - usage - exit 1 - ;; - esac -done - -everbose "Updating extlinux configuration." - -if [ "x$root" = "x" ]; then - ewarn "Root device is not specified in $myconf." - blkid_export=$(blkid -o export /dev/root) - if [ -n "$blkid_export" ]; then - export $blkid_export - fi - if [ -z "$UUID" ]; then - # try parse /proc/mount for mounted / - dev=$(awk '$2 == "/" {dev=$1} END {print dev}' /proc/mounts) - if [ -n "$dev" ]; then - blkid_export=$(blkid -o export $dev) - if [ -n "$blkid_export" ]; then - export "$blkid_export" - fi - fi - fi - if [ -z "$UUID" ]; then - if [ -z "$dev" ]; then - if [ -n "$warn_only" ]; then - ewarn "Failed to detect root device. extlinux.conf is not updated" - exit 0 - else - eerror "Failed to detect root device" - exit 1 - fi - else - root=$dev - fi - else - root=UUID=$UUID - fi - everbose "Root device is: $root" -fi - -rtimeout=$(( ${timeout} * 10 )) -syslinux_menu=menu.c32 -menu_hidden= - -# vesa menu has been requested? -if [ "$vesa_menu" = "1" ]; then - syslinux_menu=vesamenu.c32 -fi - -umask 0022 -rm -f $conf.new -echo "# Generated by update-extlinux $version" > $conf.new -if [ -n "$serial_port" ]; then - echo "SERIAL $serial_port ${serial_baud:-115200}" >> $conf.new -fi -echo "DEFAULT $syslinux_menu" >> $conf.new -echo "PROMPT 0" >> $conf.new -echo "MENU TITLE Alpine/$(uname -s) Boot Menu" >> $conf.new -if [ "$hidden" = "1" ]; then - echo "MENU HIDDEN" >> $conf.new -fi -echo "MENU AUTOBOOT Alpine will be booted automatically in # seconds." >> $conf.new -echo "TIMEOUT $rtimeout" >> $conf.new - -lst=0 -if [ -f "/boot/xen.gz" ]; then - for kernel in $(find /boot -name "vmlinuz-*" -type f); do - tag=$(basename $kernel | cut -b9-) - everbose "Found Xen hypervisor: /boot/xen.gz, kernel: $kernel" - - if [ -f "/boot/initramfs-$tag" ]; then - everbose "Found initramfs: /boot/initramfs-$tag" - initramfs="initramfs-$tag" - else - initramfs= - fi - label=xen-$(grep -w -l $tag /usr/share/kernel/*/kernel.release \ - | cut -d/ -f5) - if [ "$label" = "xen-" ]; then - label=xen-$lst - fi - - echo "LABEL $label" >> $conf.new - if [ "$label" = "$default" ]; then - echo " MENU DEFAULT" >> $conf.new - fi - echo " MENU LABEL Xen + Linux $tag" >> $conf.new - echo " COM32 mboot.c32" >> $conf.new - echo " APPEND xen.gz $xen_opts --- $(basename $kernel) root=$root modules=${modules}${TYPE:+,$TYPE} $default_kernel_opts --- $initramfs" >> $conf.new - echo "" >> $conf.new - lst=$(($lst + 1)) - done -fi - -for kernel in $(find /boot -name "vmlinuz*" -type f); do - case $kernel in - *vmlinuz) tag=vanilla;; - *vmlinuz-*) tag=$(basename $kernel | cut -b9-);; - *) continue;; - esac - everbose "Found kernel: $kernel" - label=$(grep -w -l $tag /usr/share/kernel/*/kernel.release | cut -d/ -f5) - if [ -z "$label" ]; then - if [ "$tag" = vanilla ]; then - label="vanilla" - else - label=$lst - fi - fi - echo "LABEL $label" >> $conf.new - if [ "$label" = "$default" ]; then - echo " MENU DEFAULT" >> $conf.new - fi - echo " MENU LABEL Linux $tag" >> $conf.new - echo " LINUX $(basename $kernel)" >> $conf.new - initrd= - if [ -f "/boot/initramfs-$tag" ]; then - everbose "Found initramfs: /boot/initramfs-$tag" - initrd="initramfs-$tag" - fi - if [ -f "/boot/amd-ucode.img" ]; then - everbose "Found microcode for AMD CPUs: /boot/amd-ucode.img" - initrd="amd-ucode.img${initrd:+,}${initrd}" - fi - if [ -f "/boot/intel-ucode.img" ]; then - everbose "Found microcode for Intel CPUs: /boot/intel-ucode.img" - initrd="intel-ucode.img${initrd:+,}${initrd}" - fi - echo " INITRD ${initrd}" >> $conf.new - echo " APPEND root=$root modules=${modules}${TYPE:+,$TYPE} $default_kernel_opts" >> $conf.new - echo "" >> $conf.new - lst=$(($lst + 1)) -done - -if [ -n "$password" ]; then - echo "NOESCAPE 1" >> $conf.new - echo "MENU MASTER PASSWD $password" >> $conf.new - echo "" >> $conf.new - chmod o-r $conf.new -fi - -everbose "$lst entries found." - -for entry in /etc/update-extlinux.d/*; do - [ -f "$entry" ] && { cat $entry; echo ""; } >> $conf.new -done - -echo "MENU SEPARATOR" >> $conf.new -echo "" >> $conf.new - -if [ -f "/boot/hdt.c32" ]; then - everbose "Found Hardware Detection Tool: /boot/hdt.c32" - echo "LABEL hdt" >> $conf.new - echo " MENU LABEL Hardware info" >> $conf.new - if [ -n "$password" ]; then - echo " MENU PASSWD" >> $conf.new - fi - echo " COM32 hdt.c32" >> $conf.new - if [ -f "/boot/memtest" ]; then - everbose "Found memtest86+: /boot/memtest" - echo " APPEND memtest=memtest" >> $conf.new - fi - echo "" >> $conf.new -elif [ -f "/boot/memtest" ]; then - everbose "Found memtest86+: /boot/memtest" - echo "LABEL memtest" >> $conf.new - echo " MENU LABEL Memtest86+" >> $conf.new - echo " KERNEL memtest" >> $conf.new - echo "" >> $conf.new -fi - -for i in reboot poweroff; do - [ -f "/boot/$i.c32" ] || continue - everbose "Found $i" - # make first char capital - cap=$( echo $i | awk '{sub(".", substr(toupper($0),1,1), $0); print}' ) - echo "LABEL $i" >> $conf.new - echo " MENU LABEL $cap" >> $conf.new - echo " COM32 $i.c32" >> $conf.new - echo "" >> $conf.new -done - -if cmp -s $conf.new $conf; then - everbose "Configuration unchanged." - rm $conf.new -fi - -if [ "$overwrite" != "1" ]; then - exit 0 -elif [ -f "$conf.new" ]; then - # keep a backup just in case - if [ -f "$conf" ]; then - mv $conf $conf.old - fi - - mv $conf.new $conf -fi - -everbose "Installing libutil.c32 libcom32.c32 mboot.c32 menu.c32 vesamenu.c32 to /boot." -cp /usr/share/syslinux/libutil.c32 \ - /usr/share/syslinux/libcom32.c32 \ - /usr/share/syslinux/mboot.c32 \ - /usr/share/syslinux/menu.c32 \ - /usr/share/syslinux/vesamenu.c32 \ - /boot - -case "$(stat -f -c '%T' /boot)" in -ext*) extlinux --update /boot || [ -n "$warn_only" ];; -esac - diff --git a/wip/syslinux/update-extlinux.conf b/wip/syslinux/update-extlinux.conf deleted file mode 100644 index 1dddff2..0000000 --- a/wip/syslinux/update-extlinux.conf +++ /dev/null @@ -1,74 +0,0 @@ -# configuration for extlinux config builder - -# overwrite -# Overwrite current /boot/extlinux.conf. If this is not '1' we will only -# write to /boot/extlinux.conf.new -overwrite=1 - -# vesa_menu -# use fancy vesa menu (vesamenu.c32) menus, won't work with serial -vesa_menu=0 - -# default_kernel_opts -# default kernel options -default_kernel_opts=quiet - -# modules -# modules which should be loaded before pivot_root -modules=sd-mod,usb-storage,ext4 - -# root -# root device - if not specified, will be guessed using -# blkid -o export /dev/root -root= - -# verbose -# if set to non-zero, update-extlinux will be a lot more verbose. -verbose=0 - -# hidden -# if set to non-zero, the boot menu will be hidden by default. -hidden=1 - -# timeout -# number of seconds to wait before booting default -timeout=3 - -# default -# default kernel to boot -default=lts - -# serial_port -# serial port number - if not specified, serial console will be disabled -serial_port= - -# serial_baud -# the baudrate for the serial port. Will use 115200 if unset -serial_baud=115200 - -# xen_opts -# options to hand to xen hypervisor, useful ones are: -# dom0_mem=384M (give domain-0 environment 384M ram) -xen_opts=dom0_mem=384M - -# if you copy /usr/share/syslinux/reboot.c32 to /boot/, a menu entry -# will be auto-generated for it - -# if you copy hdt.c32, libgpl.c32, and libmenu.c32 from /usr/share/syslinux/ -# to /boot/, a menu entry will be auto-generated for HDT - -# if you download and install /boot/memtest, then if HDT is present it -# will use it, else a separate menu entry will be auto-generated for -# memtest - -# optional password -# you can generate a SHA512 password using: mkpasswd -# -# if you assign a password, you should make this file world-unreadable -# -# if a password is assigned, the menu entries can't be edited at boot -# time, and HDT if present is password-protected -# -# you can also include "MENU PASSWD" in any custom entries you have in -# /etc/update-extlinux.d/ -password=''