Bug#775316: Use of grub2 bootloader broken
Package: live-build
Version: 5.0~a2-1
Tags: patch
Using a live cdrom image built with the grub2 bootloader results in an
error upon booting the disk, with grub complaining that it can't find a
file. The problem is that the grub2 script is copying all grub files
into /boot/grub when most of the grub2 bootloader files should be in
/boot/grub/i386-pc which is where it is looking and failing to find the
file, as per the error message seen.
Patch attached.
commit 372e09553489ad52083df002884a7dd8acbd08b2
Author: jnqnfe <jnqnfe@gmail.com>
Date: Tue Jan 13 20:32:27 2015 +0000
Fix grub2 bootloading (files copied to wrong directory)
diff --git a/scripts/build/binary_grub2 b/scripts/build/binary_grub2
index 61e8169..90a35d9 100755
--- a/scripts/build/binary_grub2
+++ b/scripts/build/binary_grub2
@@ -212,7 +212,7 @@ then
fi
# Copying templates
-mkdir -p binary/boot/grub
+mkdir -p binary/boot/grub/i386-pc
cp -r "${TEMPLATES}"/* binary/boot/grub
case ${LIVE_IMAGE_TYPE} in
@@ -231,7 +231,7 @@ then
fi
# Copying grub
-cp ${FILES} binary/boot/grub
+cp ${FILES} binary/boot/grub/i386-pc
sed -i -e "s|LINUX_LIVE|${LINUX_LIVE}|" -e "s|LINUX_INSTALL|${LINUX_INSTALL}|" -e "s|MEMTEST|${MEMTEST}|" binary/boot/grub/grub.cfg
sed -i -e "s#LB_BOOTAPPEND_INSTALL#${LB_BOOTAPPEND_INSTALL}#" -e "s#LB_BOOTAPPEND_LIVE#${LB_BOOTAPPEND_LIVE}#" binary/boot/grub/grub.cfg
diff --git a/scripts/build/binary_iso b/scripts/build/binary_iso
index 9e41686..33c8e1f 100755
--- a/scripts/build/binary_iso
+++ b/scripts/build/binary_iso
@@ -172,7 +172,7 @@ for file in \${input_dir}/*.mod \${input_dir}/efiemu??.o \
do
if test -f "\$file"
then
- cp -f "\$file" binary/boot/grub
+ cp -f "\$file" binary/boot/grub/i386-pc
fi
done
EOF
Reply to: