grub: drop /flash/grub.cfg

This commit is contained in:
MilhouseVH 2018-05-15 04:41:08 +01:00
parent 7f61cb0349
commit cdb7daba21
3 changed files with 14 additions and 17 deletions

View File

@ -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

View File

@ -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

View File

@ -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..."