aboutsummaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2018-11-04 22:32:05 +0100
committerGerd Hoffmann <kraxel@redhat.com>2018-11-04 22:32:05 +0100
commit87a69c3638dfd4a81c7d93c6f900ad2f999a15bd (patch)
treeabcedff38083ac25349346647108d1a870c2f7c4 /scripts
parent74b3bad73daf28d1bc1ef76aec83e7225b2f34bc (diff)
downloadimagefish-87a69c3638dfd4a81c7d93c6f900ad2f999a15bd.tar.gz
fix grub2 bios boot
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/tar-to-image.sh42
1 files changed, 23 insertions, 19 deletions
diff --git a/scripts/tar-to-image.sh b/scripts/tar-to-image.sh
index 2db9c2a..9b81b4e 100755
--- a/scripts/tar-to-image.sh
+++ b/scripts/tar-to-image.sh
@@ -248,7 +248,7 @@ EOF
function fish_grub2_efi() {
local term="${1-console}"
- local havegrubby havegrubpc haveboot grubefi
+ local havegrubby havegrubpc haveboot grubeficfg grubefi
msg "boot setup (root=${rootfs})"
kver=$(guestfish --remote -- ls /lib/modules)
@@ -261,11 +261,11 @@ function fish_grub2_efi() {
if test "$havegrubby" = "true"; then
echo "### create grub2 boot loader config (grubby mode)"
cat <<-EOF > "$grubdef"
- GRUB_TIMEOUT="5"
- GRUB_TERMINAL_OUTPUT="${term}"
- GRUB_DISABLE_SUBMENU="true"
- GRUB_DISABLE_RECOVERY="true"
- GRUB_CMDLINE_LINUX="ro root=${rootfs} ${console} ${append}"
+ GRUB_TIMEOUT="5"
+ GRUB_TERMINAL_OUTPUT="${term}"
+ GRUB_DISABLE_SUBMENU="true"
+ GRUB_DISABLE_RECOVERY="true"
+ GRUB_CMDLINE_LINUX="ro root=${rootfs} ${console} ${append}"
EOF
fish copy-in $grubdef /etc/default
fish command "sh -c 'grub2-mkconfig > /etc/grub2-efi.cfg'"
@@ -276,23 +276,27 @@ EOF
else
echo "### create grub2 boot loader config (bls mode)"
cat <<-EOF > "$grubdef"
- GRUB_TIMEOUT="5"
- GRUB_TERMINAL_OUTPUT="${term}"
- GRUB_DISABLE_SUBMENU="true"
- GRUB_DISABLE_RECOVERY="true"
- GRUB_CMDLINE_LINUX="ro root=${rootfs} ${console} ${append}"
- GRUB_ENABLE_BLSCFG="true"
+ GRUB_TIMEOUT="5"
+ GRUB_TERMINAL_OUTPUT="${term}"
+ GRUB_DISABLE_SUBMENU="true"
+ GRUB_DISABLE_RECOVERY="true"
+ GRUB_CMDLINE_LINUX="ro root=${rootfs} ${console} ${append}"
+ GRUB_ENABLE_BLSCFG="true"
EOF
fish copy-in $grubdef /etc/default
fish command "sh -c 'grub2-mkconfig > /etc/grub2-efi.cfg'"
- # not working ...
-# havegrubpc=$(guestfish --remote -- is-dir /usr/lib/grub/i386-pc)
-# if test "$havegrubpc" = "true"; then
-# echo "### setup grub2 for bios boot"
-# fish command "grub2-install --target=i386-pc /dev/sda"
-# fish command "sh -c 'grub2-mkconfig > /etc/grub2.cfg'"
-# fi
+ havegrubpc=$(guestfish --remote -- is-dir /usr/lib/grub/i386-pc)
+ if test "$havegrubpc" = "true"; then
+ echo "### setup grub2 for bios boot"
+ grubeficfg=$(guestfish --remote -- glob-expand /boot/efi/EFI/*/grub.cfg)
+ grubeficfg="${grubeficfg#/boot/efi}"
+ cat <<-EOF > "$grubcfg"
+ configfile (hd0,gpt2)$grubeficfg
+EOF
+ fish command "grub2-install --target=i386-pc /dev/sda"
+ fish copy-in $grubcfg /boot/grub2
+ fi
echo "### reinstall kernel"
fish command "kernel-install remove ${kver} /lib/modules/${kver}/vmlinuz"