From cdb7daba212ccce56371bb3b4e57507c9c543a44 Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Tue, 15 May 2018 04:41:08 +0100 Subject: [PATCH] grub: drop /flash/grub.cfg --- packages/sysutils/busybox/scripts/init | 12 ++++++------ packages/tools/installer/scripts/installer | 17 ++++++++--------- scripts/mkimage | 2 -- 3 files changed, 14 insertions(+), 17 deletions(-) diff --git a/packages/sysutils/busybox/scripts/init b/packages/sysutils/busybox/scripts/init index ae5554ff8b..d30eea4b7b 100755 --- a/packages/sysutils/busybox/scripts/init +++ b/packages/sysutils/busybox/scripts/init @@ -738,15 +738,15 @@ fi fi - if [ -n "$GRUB_DEFAULT" -a -f /flash/grub.cfg ]; then - if grep -q "^menuentry \"$GRUB_DEFAULT\"" /flash/grub.cfg; then - crnt_default="$(awk '/^set default/ {print substr($2,9,19)}' /flash/grub.cfg)" + if [ -n "$GRUB_DEFAULT" -a -f /flash/EFI/BOOT/grub.cfg ]; then + if grep -q "^menuentry \"$GRUB_DEFAULT\"" /flash/EFI/BOOT/grub.cfg; then + crnt_default="$(awk '/^set default/ {print substr($2,9,19)}' /flash/EFI/BOOT/grub.cfg)" if [ ! "$crnt_default" = "\"$GRUB_DEFAULT\"" ]; then - progress "Updating /flash/grub.cfg [$crnt_default -> \"$GRUB_DEFAULT\"]" + progress "Updating /flash/EFI/BOOT/grub.cfg [$crnt_default -> \"$GRUB_DEFAULT\"]" mount -o remount,rw /flash - sed -i "s/^set default=.*/set default=\"$GRUB_DEFAULT\"/" /flash/grub.cfg - [ -f /flash/EFI/BOOT/grub.cfg ] && cp /flash/grub.cfg /flash/EFI/BOOT/grub.cfg + sed -i "s/^set default=.*/set default=\"$GRUB_DEFAULT\"/" /flash/EFI/BOOT/grub.cfg + rm -f /flash/grub.cfg mount -o remount,ro /flash fi fi diff --git a/packages/tools/installer/scripts/installer b/packages/tools/installer/scripts/installer index 83cf0877dd..d9f3d553b4 100755 --- a/packages/tools/installer/scripts/installer +++ b/packages/tools/installer/scripts/installer @@ -262,6 +262,7 @@ do_install_quick() { sync # configuring bootloader + mkdir -p $TMPDIR/part1/EFI/BOOT msg_progress_install "80" "Setup bootloader with boot label = $DISKLABEL_SYSTEM and disk label = $DISKLABEL_STORAGE" echo "DEFAULT linux" > $TMPDIR/part1/extlinux.conf echo "PROMPT 0" >> $TMPDIR/part1/extlinux.conf @@ -269,20 +270,18 @@ do_install_quick() { echo "LABEL linux" >> $TMPDIR/part1/extlinux.conf echo " KERNEL /KERNEL" >> $TMPDIR/part1/extlinux.conf echo " APPEND boot=LABEL=$DISKLABEL_SYSTEM disk=LABEL=$DISKLABEL_STORAGE $EXTLINUX_PARAMETERS quiet" >> $TMPDIR/part1/extlinux.conf - echo "set timeout=\"0\"" > $TMPDIR/part1/grub.cfg - echo "set default=\"LibreELEC\"" >> $TMPDIR/part1/grub.cfg - echo "" >> $TMPDIR/part1/grub.cfg - echo "menuentry \"LibreELEC\" {" >> $TMPDIR/part1/grub.cfg - echo " search --set -f /KERNEL" >> $TMPDIR/part1/grub.cfg - echo " linux /KERNEL boot=LABEL=$DISKLABEL_SYSTEM disk=LABEL=$DISKLABEL_STORAGE quiet" >> $TMPDIR/part1/grub.cfg - echo "}" >> $TMPDIR/part1/grub.cfg + echo "set timeout=\"0\"" > $TMPDIR/part1/EFI/BOOT/grub.cfg + echo "set default=\"LibreELEC\"" >> $TMPDIR/part1/EFI/BOOT/grub.cfg + echo "" >> $TMPDIR/part1/EFI/BOOT/grub.cfg + echo "menuentry \"LibreELEC\" {" >> $TMPDIR/part1/EFI/BOOT/grub.cfg + echo " search --set -f /KERNEL" >> $TMPDIR/part1/EFI/BOOT/grub.cfg + echo " linux /KERNEL boot=LABEL=$DISKLABEL_SYSTEM disk=LABEL=$DISKLABEL_STORAGE quiet" >> $TMPDIR/part1/EFI/BOOT/grub.cfg + echo "}" >> $TMPDIR/part1/EFI/BOOT/grub.cfg # uefi boot / hybrid mode if [ "$UEFI" = "1" ]; then mv $TMPDIR/part1/extlinux.conf $TMPDIR/part1/syslinux.cfg - mkdir -p $TMPDIR/part1/EFI/BOOT cp /usr/share/syslinux/bootx64.efi $TMPDIR/part1/EFI/BOOT cp /usr/share/syslinux/ldlinux.e64 $TMPDIR/part1/EFI/BOOT - cp $TMPDIR/part1/grub.cfg $TMPDIR/part1/EFI/BOOT cp /usr/share/grub/bootia32.efi $TMPDIR/part1/EFI/BOOT fi sync diff --git a/scripts/mkimage b/scripts/mkimage index 44e250b020..bd27cc249e 100755 --- a/scripts/mkimage +++ b/scripts/mkimage @@ -173,7 +173,6 @@ menuentry "Run" { EOF mcopy "$LE_TMP/syslinux.cfg" :: - mcopy "$LE_TMP/grub.cfg" :: # install extlinux echo "image: installing extlinux to part1..." @@ -314,7 +313,6 @@ fi # bootloader # FIXME: an unalias should work here, but it does not; call mcopy directly $TOOLCHAIN/bin/mcopy -i $LE_TMP/part1.fat -o "$LE_TMP"/syslinux.cfg :: $TOOLCHAIN/bin/mcopy -i $LE_TMP/part1.fat -o "$LE_TMP"/grub.cfg ::/EFI/BOOT - $TOOLCHAIN/bin/mcopy -i $LE_TMP/part1.fat -o "$LE_TMP"/grub.cfg :: sync # merge modified part1 back to tmp disk image echo "image: merging part1 back to open virtual appliance..."