2009-06-08 Felix Zielcke <fzielcke@z-51.de>

* util/i386/pc/grub-install.in: Add a parameter --disk-module
	to choose between ata and biosdisk module on i386-pc.
This commit is contained in:
fzielcke 2009-06-08 20:51:16 +00:00
parent d55842d81e
commit 255a27d434
2 changed files with 26 additions and 8 deletions

View file

@ -1,3 +1,8 @@
2009-06-08 Felix Zielcke <fzielcke@z-51.de>
* util/i386/pc/grub-install.in: Add a parameter --disk-module
to choose between ata and biosdisk module on i386-pc.
2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com> 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
* bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class, * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,

View file

@ -49,6 +49,12 @@ force_lba=
recheck=no recheck=no
debug=no debug=no
if [ "${target_cpu}-${platform}" = "i386-pc" ] ; then
disk_module=biosdisk
else
disk_module=ata
fi
# Usage: usage # Usage: usage
# Print the usage. # Print the usage.
usage () { usage () {
@ -68,6 +74,13 @@ Install GRUB on your drive.
--no-floppy do not probe any floppy drive --no-floppy do not probe any floppy drive
--recheck probe a device map even if it already exists --recheck probe a device map even if it already exists
--force install even if problems are detected --force install even if problems are detected
EOF
if [ "${target_cpu}-${platform}" = "i386-pc" ] ; then
cat <<EOF
--disk-module=MODULE disk module to use
EOF
fi
cat <<EOF
INSTALL_DEVICE can be a GRUB device name or a system device filename. INSTALL_DEVICE can be a GRUB device name or a system device filename.
@ -104,6 +117,10 @@ for option in "$@"; do
no_floppy="--no-floppy" ;; no_floppy="--no-floppy" ;;
--recheck) --recheck)
recheck=yes ;; recheck=yes ;;
--disk-module=*)
if [ "${target_cpu}-${platform}" = "i386-pc" ] ; then
disk_module=`echo "$option" | sed 's/--disk-module//'`
fi ;;
# This is an undocumented feature... # This is an undocumented feature...
--debug) --debug)
debug=yes ;; debug=yes ;;
@ -250,11 +267,7 @@ partmap_module=`$grub_probe --target=partmap --device ${grub_device} 2> /dev/nul
devabstraction_module=`$grub_probe --target=abstraction --device ${grub_device}` devabstraction_module=`$grub_probe --target=abstraction --device ${grub_device}`
# The order in this list is critical. Be careful when modifying it. # The order in this list is critical. Be careful when modifying it.
if [ "${target_cpu}-${platform}" = "i386-pc" ] ; then modules="$modules $disk_module"
modules="$modules biosdisk"
else
modules="$modules ata"
fi
modules="$modules $fs_module $partmap_module $devabstraction_module" modules="$modules $fs_module $partmap_module $devabstraction_module"
prefix_drive= prefix_drive=
@ -269,11 +282,11 @@ if [ "x${devabstraction_module}" = "x" ] ; then
# Strip partition number # Strip partition number
install_drive="`echo ${install_drive} | sed -e s/,[0-9]*[a-z]*//g`" install_drive="`echo ${install_drive} | sed -e s/,[0-9]*[a-z]*//g`"
grub_drive="`echo ${grub_drive} | sed -e s/,[0-9]*[a-z]*//g`" grub_drive="`echo ${grub_drive} | sed -e s/,[0-9]*[a-z]*//g`"
if [ "${target_cpu}-${platform}" != "i386-pc" ] ; then if [ "$disk_module" = ata ] ; then
# generic method (used on coreboot) # generic method (used on coreboot and ata mod)
uuid="`$grub_probe --target=fs_uuid --device ${grub_device}`" uuid="`$grub_probe --target=fs_uuid --device ${grub_device}`"
if [ "x${uuid}" = "x" ] ; then if [ "x${uuid}" = "x" ] ; then
echo "UUID needed on this platform, but the filesystem containing ${grubdir} does not support UUIDs." 1>&2 echo "UUID needed on this platform and with ata mod, but the filesystem containing ${grubdir} does not support UUIDs." 1>&2
exit 1 exit 1
fi fi
prefix_drive="(UUID=${uuid})" prefix_drive="(UUID=${uuid})"