[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] grub-install --debug-image option
From: |
Colin Watson |
Subject: |
[PATCH] grub-install --debug-image option |
Date: |
Sat, 26 Jun 2010 11:05:05 +0100 |
User-agent: |
Mutt/1.5.18 (2008-05-17) |
When debugging problems that make GRUB unable to load
/boot/grub/grub.cfg, I often find myself telling people to edit
grub-install to put 'set debug=all' in an embedded configuration file.
I'd like this not to involve editing the grub-install script, and to
just be a simple option. Does this patch look OK? It makes it possible
to do --debug-image=all (say).
Like --debug, I've left it undocumented for the moment since it will
spew vast quantities of output that probably require a developer to
interpret them anyway. (I don't feel strongly about this; if we
document --debug-image, then we should document the existing --debug
too.)
2010-06-26 Colin Watson <address@hidden>
* util/grub-install.in: Add --debug-image= option.
=== modified file 'util/grub-install.in'
--- util/grub-install.in 2010-06-13 00:36:39 +0000
+++ util/grub-install.in 2010-06-26 10:00:33 +0000
@@ -50,6 +50,7 @@ no_floppy=
force_lba=
recheck=no
debug=no
+debug_image=
if [ "${target_cpu}-${platform}" = "i386-pc" ] ; then
disk_module=biosdisk
@@ -180,6 +181,11 @@ do
# This is an undocumented feature...
--debug)
debug=yes ;;
+ --debug-image)
+ debug_image=`argument $option "$@"`; shift;;
+ --debug-image=*)
+ debug_image=`echo "$option" | sed 's/--debug-image=//'` ;;
+
-f | --force)
setup_force="--force" ;;
@@ -349,6 +355,13 @@ fi
prefix_drive=
config_opt=
+rm -f ${grubdir}/load.cfg
+
+if [ "x${debug_image}" != x ]; then
+ echo "set debug='${debug_image}'" >> ${grubdir}/load.cfg
+ config_opt="-c ${grubdir}/load.cfg "
+fi
+
if [ "x${devabstraction_module}" = "x" ] ; then
if [ x"${install_device}" != x ]; then
if echo "${install_device}" | grep -qx "(.*)" ; then
@@ -369,7 +382,7 @@ if [ "x${devabstraction_module}" = "x" ]
echo "UUID needed with ata mod, but the filesystem containing
${grubdir} does not support UUIDs." 1>&2
exit 1
fi
- echo "search.fs_uuid ${uuid} root " > ${grubdir}/load.cfg
+ echo "search.fs_uuid ${uuid} root " >> ${grubdir}/load.cfg
echo 'set prefix=($root)'"${relative_grubdir}" >> ${grubdir}/load.cfg
config_opt="-c ${grubdir}/load.cfg "
modules="$modules search_fs_uuid"
@@ -379,7 +392,7 @@ if [ "x${devabstraction_module}" = "x" ]
echo "You attempted a cross-disk install, but the filesystem
containing ${grubdir} does not support UUIDs." 1>&2
exit 1
fi
- echo "search.fs_uuid ${uuid} root " > ${grubdir}/load.cfg
+ echo "search.fs_uuid ${uuid} root " >> ${grubdir}/load.cfg
echo 'set prefix=($root)'"${relative_grubdir}" >> ${grubdir}/load.cfg
config_opt="-c ${grubdir}/load.cfg "
modules="$modules search_fs_uuid"
Thanks,
--
Colin Watson address@hidden
- [PATCH] grub-install --debug-image option,
Colin Watson <=