+2010-10-12 Robert Millan <rmh@gnu.org>
+
+ * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
+ `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
+ variable. All references updated.
+
+ * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
+
2010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
Correctly distinguish mdraid flavours.
Command-line arguments to add to menu entries for the Linux kernel.
@item GRUB_CMDLINE_LINUX_DEFAULT
-Unless @samp{GRUB_DISABLE_LINUX_RECOVERY} is set to @samp{true}, two menu
+Unless @samp{GRUB_DISABLE_RECOVERY} is set to @samp{true}, two menu
entries will be generated for each Linux kernel: one default entry and one
entry for recovery mode. This option lists command-line arguments to add
only to the default menu entry, after those listed in
usually more reliable, but in some cases it may not be appropriate. To
disable the use of UUIDs, set this option to @samp{true}.
-@item GRUB_DISABLE_LINUX_RECOVERY
+@item GRUB_DISABLE_RECOVERY
If this option is set to @samp{true}, disable the generation of recovery
-mode menu entries for Linux.
-
-@item GRUB_DISABLE_NETBSD_RECOVERY
-If this option is set to @samp{true}, disable the generation of recovery
-mode menu entries for NetBSD.
+mode menu entries.
@item GRUB_VIDEO_BACKEND
If graphical video support is required, either because the @samp{gfxterm}
GRUB_TERMINAL_OUTPUT \
GRUB_SERIAL_COMMAND \
GRUB_DISABLE_LINUX_UUID \
- GRUB_DISABLE_LINUX_RECOVERY \
- GRUB_DISABLE_NETBSD_RECOVERY \
+ GRUB_DISABLE_RECOVERY \
GRUB_VIDEO_BACKEND \
GRUB_GFXMODE \
GRUB_BACKGROUND \
{
os="$1"
version="$2"
- recovery="$3" # not used yet
- args="$4" # not used yet
- title="$(gettext_quoted "%s, with kFreeBSD %s")"
+ recovery="$3"
+ args="$4"
+ if ${recovery} ; then
+ title="$(gettext_quoted "%s, with kFreeBSD %s (recovery mode)")"
+ else
+ title="$(gettext_quoted "%s, with kFreeBSD %s")"
+ fi
printf "menuentry '${title}' ${CLASS} {\n" "${os}" "${version}"
save_default_entry | sed -e "s/^/\t/"
if [ -z "${prepare_boot_cache}" ]; then
printf '%s\n' "${prepare_boot_cache}"
cat << EOF
echo '$(printf "$(gettext_quoted "Loading kernel of FreeBSD %s ...")" ${version})'
- kfreebsd ${rel_dirname}/${basename}
+ kfreebsd ${rel_dirname}/${basename} ${args}
EOF
if test -n "${devices}" ; then
module_dir_rel=$(make_system_path_relative_to_its_root $module_dir)
fi
- kfreebsd_entry "${OS}" "${version}"
+ kfreebsd_entry "${OS}" "${version}" false
+ if [ "x${GRUB_DISABLE_RECOVERY}" != "xtrue" ]; then
+ kfreebsd_entry "${OS}" "${version}" true "-s"
+ fi
list=`echo $list | tr ' ' '\n' | grep -vx $kfreebsd | tr '\n' ' '`
done
linux_entry "${OS}" "${version}" false \
"${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}"
- if [ "x${GRUB_DISABLE_LINUX_RECOVERY}" != "xtrue" ]; then
+ if [ "x${GRUB_DISABLE_RECOVERY}" != "xtrue" ]; then
linux_entry "${OS}" "${version}" true \
"single ${GRUB_CMDLINE_LINUX}"
fi
echo "Found NetBSD kernel: $k" >&2
netbsd_entry "knetbsd" "$k" false "${GRUB_CMDLINE_NETBSD_DEFAULT}"
netbsd_entry "multiboot" "$k" false "${GRUB_CMDLINE_NETBSD_DEFAULT}"
- if [ "x${GRUB_DISABLE_NETBSD_RECOVERY}" != "xtrue" ]; then
+ if [ "x${GRUB_DISABLE_RECOVERY}" != "xtrue" ]; then
netbsd_entry "knetbsd" "$k" true "-s"
netbsd_entry "multiboot" "$k" true "-s"
fi
linux_entry "${OS}" "${version}" "${xen_version}" false \
"${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}" "${GRUB_CMDLINE_XEN} ${GRUB_CMDLINE_XEN_DEFAULT}"
- if [ "x${GRUB_DISABLE_LINUX_RECOVERY}" != "xtrue" ]; then
+ if [ "x${GRUB_DISABLE_RECOVERY}" != "xtrue" ]; then
linux_entry "${OS}" "${version}" "${xen_version}" true \
"single ${GRUB_CMDLINE_LINUX}" "${GRUB_CMDLINE_XEN}"
fi