Thanks! That did the trick.
Printable View
Thanks! That did the trick.
Do I need to remove "false" from the end of that line?
Code:@Line 143 # "UUID=" magic is parsed by initrds. Since there's no initrd, it can't work here.
linux_root_device_thisversion=${GRUB_DEVICE}
fi
linux_entry "${OS}" "${version_no_generic}" false \
"${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_EXTRA} ${GRUB_CMDLINE_LINUX_DEFAULT}" \
quiet
Yeah, you should remove "false"
It should looks like this:
The problem I had was if I updated the variable with the name I wanted, it would leave off "recovery mode" so I did a quick and dirty workaround:Code:linux_entry "${OS} ${version_no_generic}" \
I had to edit /boot/grub/menu.lst on the BT4 install and then running "update-grub" from Ubuntu 9.10.
Original menu.lst:
Edited menu.lst:Code:title Ubuntu 8.10, kernel 2.6.30.9
uuid a76c7835-eb6f-459f-a891-496f16bc00eb
kernel /boot/vmlinuz-2.6.30.9 root=UUID=a76c7835-eb6f-459f-a891-496f16bc00eb ro vga=0x317
initrd /boot/initrd.img-2.6.30.9
quiet
title Ubuntu 8.10, kernel 2.6.30.9 (recovery mode)
uuid a76c7835-eb6f-459f-a891-496f16bc00eb
kernel /boot/vmlinuz-2.6.30.9 root=UUID=a76c7835-eb6f-459f-a891-496f16bc00eb ro single
initrd /boot/initrd.img-2.6.30.9
title Ubuntu 8.10, memtest86+
uuid a76c7835-eb6f-459f-a891-496f16bc00eb
kernel /boot/memtest86+.bin
quiet
Here is what my Grub2 menu looks like now:Code:title Backtrack 4 Final (2.6.30.9)
uuid 8ce79a61-7653-4799-950e-bca17e0b5b77
kernel /boot/vmlinuz-2.6.30.9 root=UUID=8ce79a61-7653-4799-950e-bca17e0b5b77 ro quiet splash
initrd /boot/initrd.img-2.6.30.9
quiet
title Backtrack 4 Final (.6.30.92) (recovery mode)
uuid 8ce79a61-7653-4799-950e-bca17e0b5b77
kernel /boot/vmlinuz-2.6.30.9 root=UUID=8ce79a61-7653-4799-950e-bca17e0b5b77 ro single
initrd /boot/initrd.img-2.6.30.9
#title Ubuntu 8.10, memtest86+
#uuid 8ce79a61-7653-4799-950e-bca17e0b5b77
kernel /boot/memtest86+.bin
quiet
Much, much cleaner.Code:Karmic (2.6.31-20)
Karmic (2.6.31-20) (recovery mode)
Karmic (2.6.31-14)
Karmic (2.6.31-14) (recovery mode)
Windows 7 Professional
Backtrack 4 Final (2.6.30.9)
Backtrack 4 Final (2.6.30.9) (recovery mode)
I used to have in the previous Grub version an entry for booting USB devices (portable OS's).
Can I do one entry like that in GRUB2?
If so, does anyone know where and how sould I add it?
Thanks
I used to have in the previous Grub version an entry for booting USB devices (portable OS's).
Can I do one entry like that in GRUB2?
If so, does anyone know where and how sould I add it?
Thanks
Probably the best place to add it would be to a custom menu. There is already a blank /etc/grub.d/40_custom file to which you could add the entry. This will place the entry at the bottom of the list. If you want it at the top, rename the file (or create a new one called) 06_custom (the number determines the location).
As to what the contents of the menuentry would be, if you post your old Grub legacy entry someone should be able to help 'translate' it into Grub2.
Thanks for the input, I really don't care about the location on the grub menu, so at the end would be just fine.
In the previous version my USB entry looked like this:
root: (hd1,0)
make active: yes
chainloader: +1
so if someone can help me in creating one entry for GRUB2 for booting USB devices I would be really thankful.
Great thread but I'm having a little difficulty with the title of the Recovery mode.
Below is my 10_linux file and while I have Karmic showing correctly in GRUB I am having difficulty with getting the recovery mode to show the Karmic title instead of the standard recovery title.
Where about would I put the modification within the Recovery section? I have tried a few places but nothing is working for me.Code:#! /bin/sh -e
# grub-mkconfig helper script.
# Copyright (C) 2006,2007,2008,2009 Free Software Foundation, Inc.
#
# GRUB is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# GRUB is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GRUB. If not, see <http://www.gnu.org/licenses/>.
prefix=/usr
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
. ${libdir}/grub/grub-mkconfig_lib
if [ "x${GRUB_DISTRIBUTOR}" = "x" ] ; then
OS=GNU/Linux
else
OS="${GRUB_DISTRIBUTOR}"
fi
# loop-AES arranges things so that /dev/loop/X can be our root device, but
# the initrds that Linux uses don't like that.
case ${GRUB_DEVICE} in
/dev/loop/*|/dev/loop[0-9])
GRUB_DEVICE=`losetup ${GRUB_DEVICE} | sed -e "s/^[^(]*(\([^)]\+\)).*/\1/"`
# We can't cope with devices loop-mounted from files here.
case ${GRUB_DEVICE} in
/dev/*) ;;
*) exit 0 ;;
esac
;;
esac
if [ "x${GRUB_DEVICE_UUID}" = "x" ] || [ "x${GRUB_DISABLE_LINUX_UUID}" = "xtrue" ] \
|| ! test -e "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" \
|| [ "`grub-probe -t abstraction --device ${GRUB_DEVICE} | sed -e 's,.*\(lvm\).*,\1,'`" = "lvm" ] ; then
LINUX_ROOT_DEVICE=${GRUB_DEVICE}
else
LINUX_ROOT_DEVICE=UUID=${GRUB_DEVICE_UUID}
fi
# add crashkernel option if we have the required tools
if [ -x "/usr/bin/makedumpfile" ] && [ -x "/sbin/kexec" ]; then
GRUB_CMDLINE_EXTRA="$GRUB_CMDLINE_EXTRA crashkernel=384M-2G:64M,2G-:128M"
fi
linux_entry ()
{
cat << EOF
menuentry "$1" {
recordfail=1
if [ -n \${have_grubenv} ]; then save_env recordfail; fi
EOF
if [ "x$3" = "xquiet" ]; then
cat << EOF
set quiet=1
EOF
fi
save_default_entry | sed -e "s/^/\t/"
prepare_grub_to_access_device ${GRUB_DEVICE_BOOT} | sed -e "s/^/\t/"
cat << EOF
linux ${rel_dirname}/${basename} root=${linux_root_device_thisversion} ro $2
EOF
if test -n "${initrd}" ; then
cat << EOF
initrd ${rel_dirname}/${initrd}
EOF
fi
cat << EOF
}
EOF
}
list=`for i in /boot/vmlinu[xz]-* /vmlinu[xz]-* ; do
if grub_file_is_not_garbage "$i" ; then echo -n "$i " ; fi
done`
while [ "x$list" != "x" ] ; do
linux=`version_find_latest $list`
echo "Found linux image: $linux" >&2
basename=`basename $linux`
dirname=`dirname $linux`
rel_dirname=`make_system_path_relative_to_its_root $dirname`
version=`echo $basename | sed -e "s,^[^0-9]*-,,g"`
alt_version=`echo $version | sed -e "s,\.old$,,g"`
linux_root_device_thisversion="${LINUX_ROOT_DEVICE}"
# User-added variable
codename="`lsb_release -cs`"
Codename="`echo $codename | tr [hjkl] [HJKL]`"
version_no_generic="`echo ${version} | cut -d "-" -f 1-2`"
initrd=
for i in "initrd.img-${version}" "initrd-${version}.img" \
"initrd-${version}" "initrd.img-${alt_version}" \
"initrd-${alt_version}.img" "initrd-${alt_version}"; do
if test -e "${dirname}/${i}" ; then
initrd="$i"
break
fi
done
if test -n "${initrd}" ; then
echo "Found initrd image: ${dirname}/${initrd}" >&2
else
# "UUID=" magic is parsed by initrds. Since there's no initrd, it can't work here.
linux_root_device_thisversion=${GRUB_DEVICE}
fi
linux_entry "${codename} ${version}" \
"${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_EXTRA} ${GRUB_CMDLINE_LINUX_DEFAULT}" \
quiet
if [ "x${GRUB_DISABLE_LINUX_RECOVERY}" != "xtrue" ]; then
linux_entry "${OS}, Linux ${version} (recovery mode)" \
"single ${GRUB_CMDLINE_LINUX}"
fi
list=`echo $list | tr ' ' '\n' | grep -vx $linux | tr '\n' ' '`
done
For me, testing lucid, to get a menu item "lucid 2.6.32-19-generic (recovery mode)"
change the bold dark red section above to:
I think that is what you are looking for. Don't forget to update-grub after saving the change.Quote:
linux_entry "${codename} ${version} (recovery mode)" \