mirror of
https://git.savannah.gnu.org/git/grub.git
synced 2026-10-21 06:49:35 +00:00
2008-07-30 Robert Millan <rmh@aybabtu.com>
* include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
Increase from 0x50 to 0x60.
* util/i386/pc/grub-install.in: Detect cross-disk installs, and
use UUIDs to identify the root drive for them. If that's not
possible, abort.
* util/i386/pc/grub-setup.c (setup): Do not special-case, or even
check, for cross-disk installs.
This commit is contained in:
1 parent
ae88bca301
commit
59198b722c
4 files changed
+40
-24
No files matched your search
@@ -233,15 +233,34 @@ partmap_module=`$grub_probe --target=partmap --device ${grub_device} 2> /dev/nul
|
||||
# Device abstraction module, if any (lvm, raid).
|
||||
devabstraction_module=`$grub_probe --target=abstraction --device ${grub_device}`
|
||||
|
||||
# The order in this list is critical. Be careful when modifying it.
|
||||
modules="$modules $fs_module $partmap_module biosdisk $devabstraction_module"
|
||||
|
||||
prefix_drive=
|
||||
if [ "x${devabstraction_module}" = "x" ] ; then
|
||||
prefix_drive=
|
||||
if echo "${install_device}" | grep -qx "(.*)" ; then
|
||||
install_drive="${install_device}"
|
||||
else
|
||||
install_drive="`$grub_probe --target=drive --device ${install_device}`"
|
||||
fi
|
||||
grub_drive="`$grub_probe --target=drive --device ${grub_device}`"
|
||||
|
||||
# Strip partition number
|
||||
install_drive="`echo ${install_drive} | sed -e s/,[0-9]*//g`"
|
||||
grub_drive="`echo ${grub_drive} | sed -e s/,[0-9]*//g`"
|
||||
if [ "x${grub_drive}" != "x${install_drive}" ] ; then
|
||||
uuid="`$grub_probe --target=fs_uuid --device ${grub_device}`"
|
||||
if [ "x${uuid}" = "x" ] ; then
|
||||
echo "You attempted a cross-disk install, but the filesystem containing ${grubdir} does not support UUIDs." 1>&2
|
||||
exit 1
|
||||
fi
|
||||
prefix_drive="(UUID=${uuid})"
|
||||
modules="$modules fs_uuid"
|
||||
fi
|
||||
else
|
||||
prefix_drive=`$grub_probe --target=drive --device ${grub_device}`
|
||||
fi
|
||||
|
||||
# The order in this list is critical. Be careful when modifying it.
|
||||
modules="$modules $fs_module $partmap_module biosdisk $devabstraction_module"
|
||||
|
||||
grub_prefix="${prefix_drive}`make_system_path_relative_to_its_root ${grubdir}`" || exit 1
|
||||
|
||||
$grub_mkimage --output=${grubdir}/core.img --prefix=${grub_prefix}/ $modules || exit 1
|
||||
|
||||
Reference in new issue
Block a user