--- update-grub.orig 2008-05-04 01:56:25.000000000 -0400 +++ update-grub 2008-05-04 01:56:45.000000000 -0400 @@ -225,6 +225,9 @@ # should grub add "savedefault" to default boot options savedefault="false" +# Are we in a Xen domU? + indomu="detect" + # stores the command line arguments command_line_arguments=$1 @@ -644,6 +647,8 @@ # Extract the memtest86 value memtest86=$(GetMenuOpt "memtest86" "$memtest86") +# Extact the indomu value +indomu=$(GetMenuOpt "indomu" "$indomu") # Extract the updatedefaultentry option updatedefaultentry=$(GetMenuOpt "updatedefaultentry" "$updatedefaultentry") @@ -740,6 +745,13 @@ echo "# memtest86=$memtest86" >> $buffer echo >> $buffer +echo "## How should update-grub deal with Xen kernels?" >> $buffer +echo "## e.g. indomu=true" >> $buffer +echo "## indomu=false" >> $buffer +echo "## indomu=detect" >> $buffer +echo "# indomu=$indomu" >> $buffer +echo >> $buffer + echo "## should update-grub adjust the value of the default booted system" >> $buffer echo "## can be true or false" >> $buffer echo "# updatedefaultentry=$updatedefaultentry" >> $buffer @@ -800,9 +812,15 @@ fi done -in_domU= -if [ -e /proc/xen/capabilities ] && ! grep -q "control_d" /proc/xen/capabilities; then +if [ "$indomu" == "detect" ]; then + in_domU= + if [ -e /proc/xen/capabilities ] && ! grep -q "control_d" /proc/xen/capabilities; then in_domU=1 + fi +else + if [ "$indomu" == "true" ]; then + in_domU=1 + fi fi sortedKernels=""