Closed RJVB closed 10 years ago
On Feb 28, 2014, at 4:35 PM, René Bertin wrote:
the zfs aware grub from http://archive.zfsonlinux.org/debian hasn't been touched
Are you using stable or daily? The generated grub.cfg file for my netbook is included below
What's wrong with it? What doesn't work? What happens, what messages do you see/get?
I'm using stable I assume (deb http://archive.zfsonlinux.org/debian wheezy main).
I'm not entirely sure what's wrong with the cfg file above, but I get an error about zfs_member being unknown/not loaded and end up at an initram prompt. Probably not surprising given how the cfg file doesn't contain any references to zfs. Exiting from there gives a KP.
For reference, here's a grub.cfg that works fine:
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#
### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
set have_grubenv=true
load_env
fi
set default="Windows 7 (loader) (on /dev/sda2)"
if [ x"${feature_menuentry_id}" = xy ]; then
menuentry_id_option="--id"
else
menuentry_id_option=""
fi
export menuentry_id_option
if [ "${prev_saved_entry}" ]; then
set saved_entry="${prev_saved_entry}"
save_env saved_entry
set prev_saved_entry=
save_env prev_saved_entry
set boot_once=true
fi
function savedefault {
if [ -z "${boot_once}" ]; then
saved_entry="${chosen}"
save_env saved_entry
fi
}
function load_video {
if [ x$feature_all_video_module = xy ]; then
insmod all_video
else
insmod efi_gop
insmod efi_uga
insmod ieee1275_fb
insmod vbe
insmod vga
insmod video_bochs
insmod video_cirrus
fi
}
if [ x$feature_default_font_path = xy ] ; then
font=unicode
else
insmod part_msdos
insmod zfs
set root='hd0,msdos6'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos6 --hint-efi=hd0,msdos6 --hint-baremetal=ahci0,msdos6 7c11ad880751a42a
else
search --no-floppy --fs-uuid --set=root 7c11ad880751a42a
fi
font="/@/usr/share/grub/unicode.pf2"
fi
if loadfont $font ; then
set gfxmode=1024x768
load_video
insmod gfxterm
set locale_dir=$prefix/locale
set lang=en_GB
insmod gettext
fi
terminal_output gfxterm
if [ "${recordfail}" = 1 ] ; then
set timeout=-1
else
set timeout=10
fi
### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/05_debian_theme ###
insmod part_msdos
insmod zfs
set root='hd0,msdos6'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos6 --hint-efi=hd0,msdos6 --hint-baremetal=ahci0,msdos6 7c11ad880751a42a
else
search --no-floppy --fs-uuid --set=root 7c11ad880751a42a
fi
insmod png
if background_image /@/usr/share/images/desktop-base/joy-grub.png; then
set color_normal=white/black
set color_highlight=black/white
else
set menu_color_normal=cyan/blue
set menu_color_highlight=white/blue
fi
### END /etc/grub.d/05_debian_theme ###
### BEGIN /etc/grub.d/06_mint_theme ###
set menu_color_normal=white/black
set menu_color_highlight=white/light-gray
### END /etc/grub.d/06_mint_theme ###
### BEGIN /etc/grub.d/10_linux ###
function gfxmode {
set gfxpayload="${1}"
}
set linux_gfx_mode=keep
export linux_gfx_mode
menuentry 'LinuxMint GNU/Linux' --class linuxmint --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-7c11ad880751a42a' {
load_video
gfxmode $linux_gfx_mode
insmod gzio
insmod zfsinfo
zfs-bootfs ($root) bootfs
insmod part_msdos
insmod ext2
set root='hd0,msdos7'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos7 --hint-efi=hd0,msdos7 --hint-baremetal=ahci0,msdos7 39ff79e1-e153-490f-b302-4ba8e71fe643
else
search --no-floppy --fs-uuid --set=root 39ff79e1-e153-490f-b302-4ba8e71fe643
fi
linux /vmlinuz-3.12.6-sabayon-amd64-rjvb root=ZFS=Patux/ ro boot=zfs $bootfs
initrd /initrd.img-3.12.6-sabayon-amd64-rjvb
}
submenu 'Advanced options for LinuxMint GNU/Linux' $menuentry_id_option 'gnulinux-advanced-7c11ad880751a42a' {
menuentry 'LinuxMint GNU/Linux, with Linux 3.12.6-sabayon-amd64-rjvb' --class linuxmint --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.12.6-sabayon-amd64-rjvb-advanced-7c11ad880751a42a' {
load_video
gfxmode $linux_gfx_mode
insmod gzio
insmod zfsinfo
zfs-bootfs ($root) bootfs
insmod part_msdos
insmod ext2
set root='hd0,msdos7'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos7 --hint-efi=hd0,msdos7 --hint-baremetal=ahci0,msdos7 39ff79e1-e153-490f-b302-4ba8e71fe643
else
search --no-floppy --fs-uuid --set=root 39ff79e1-e153-490f-b302-4ba8e71fe643
fi
echo 'Loading Linux 3.12.6-sabayon-amd64-rjvb ...'
linux /vmlinuz-3.12.6-sabayon-amd64-rjvb root=ZFS=Patux/ ro boot=zfs $bootfs
echo 'Loading initial ramdisk ...'
initrd /initrd.img-3.12.6-sabayon-amd64-rjvb
}
menuentry 'LinuxMint GNU/Linux, with Linux 3.12.6-sabayon-amd64-rjvb (recovery mode)' --class linuxmint --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.12.6-sabayon-amd64-rjvb-recovery-7c11ad880751a42a' {
load_video
gfxmode $linux_gfx_mode
insmod gzio
insmod zfsinfo
zfs-bootfs ($root) bootfs
insmod part_msdos
insmod ext2
set root='hd0,msdos7'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos7 --hint-efi=hd0,msdos7 --hint-baremetal=ahci0,msdos7 39ff79e1-e153-490f-b302-4ba8e71fe643
else
search --no-floppy --fs-uuid --set=root 39ff79e1-e153-490f-b302-4ba8e71fe643
fi
echo 'Loading Linux 3.12.6-sabayon-amd64-rjvb ...'
linux /vmlinuz-3.12.6-sabayon-amd64-rjvb root=ZFS=Patux/ ro single boot=zfs $bootfs
echo 'Loading initial ramdisk ...'
initrd /initrd.img-3.12.6-sabayon-amd64-rjvb
}
menuentry 'LinuxMint GNU/Linux, with Linux 3.11-2-amd64' --class linuxmint --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.11-2-amd64-advanced-7c11ad880751a42a' {
load_video
gfxmode $linux_gfx_mode
insmod gzio
insmod zfsinfo
zfs-bootfs ($root) bootfs
insmod part_msdos
insmod ext2
set root='hd0,msdos7'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos7 --hint-efi=hd0,msdos7 --hint-baremetal=ahci0,msdos7 39ff79e1-e153-490f-b302-4ba8e71fe643
else
search --no-floppy --fs-uuid --set=root 39ff79e1-e153-490f-b302-4ba8e71fe643
fi
echo 'Loading Linux 3.11-2-amd64 ...'
linux /vmlinuz-3.11-2-amd64 root=ZFS=Patux/ ro boot=zfs $bootfs
echo 'Loading initial ramdisk ...'
initrd /initrd.img-3.11-2-amd64
}
menuentry 'LinuxMint GNU/Linux, with Linux 3.11-2-amd64 (recovery mode)' --class linuxmint --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.11-2-amd64-recovery-7c11ad880751a42a' {
load_video
gfxmode $linux_gfx_mode
insmod gzio
insmod zfsinfo
zfs-bootfs ($root) bootfs
insmod part_msdos
insmod ext2
set root='hd0,msdos7'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos7 --hint-efi=hd0,msdos7 --hint-baremetal=ahci0,msdos7 39ff79e1-e153-490f-b302-4ba8e71fe643
else
search --no-floppy --fs-uuid --set=root 39ff79e1-e153-490f-b302-4ba8e71fe643
fi
echo 'Loading Linux 3.11-2-amd64 ...'
linux /vmlinuz-3.11-2-amd64 root=ZFS=Patux/ ro single boot=zfs $bootfs
echo 'Loading initial ramdisk ...'
initrd /initrd.img-3.11-2-amd64
}
menuentry 'LinuxMint GNU/Linux, with Linux 3.10.5-amd64-rjvb' --class linuxmint --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.10.5-amd64-rjvb-advanced-7c11ad880751a42a' {
load_video
gfxmode $linux_gfx_mode
insmod gzio
insmod zfsinfo
zfs-bootfs ($root) bootfs
insmod part_msdos
insmod ext2
set root='hd0,msdos7'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos7 --hint-efi=hd0,msdos7 --hint-baremetal=ahci0,msdos7 39ff79e1-e153-490f-b302-4ba8e71fe643
else
search --no-floppy --fs-uuid --set=root 39ff79e1-e153-490f-b302-4ba8e71fe643
fi
echo 'Loading Linux 3.10.5-amd64-rjvb ...'
linux /vmlinuz-3.10.5-amd64-rjvb root=ZFS=Patux/ ro boot=zfs $bootfs
echo 'Loading initial ramdisk ...'
initrd /initrd.img-3.10.5-amd64-rjvb
}
menuentry 'LinuxMint GNU/Linux, with Linux 3.10.5-amd64-rjvb (recovery mode)' --class linuxmint --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.10.5-amd64-rjvb-recovery-7c11ad880751a42a' {
load_video
gfxmode $linux_gfx_mode
insmod gzio
insmod zfsinfo
zfs-bootfs ($root) bootfs
insmod part_msdos
insmod ext2
set root='hd0,msdos7'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos7 --hint-efi=hd0,msdos7 --hint-baremetal=ahci0,msdos7 39ff79e1-e153-490f-b302-4ba8e71fe643
else
search --no-floppy --fs-uuid --set=root 39ff79e1-e153-490f-b302-4ba8e71fe643
fi
echo 'Loading Linux 3.10.5-amd64-rjvb ...'
linux /vmlinuz-3.10.5-amd64-rjvb root=ZFS=Patux/ ro single boot=zfs $bootfs
echo 'Loading initial ramdisk ...'
initrd /initrd.img-3.10.5-amd64-rjvb
}
menuentry 'LinuxMint GNU/Linux, with Linux 3.10-2-amd64' --class linuxmint --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.10-2-amd64-advanced-7c11ad880751a42a' {
load_video
gfxmode $linux_gfx_mode
insmod gzio
insmod zfsinfo
zfs-bootfs ($root) bootfs
insmod part_msdos
insmod ext2
set root='hd0,msdos7'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos7 --hint-efi=hd0,msdos7 --hint-baremetal=ahci0,msdos7 39ff79e1-e153-490f-b302-4ba8e71fe643
else
search --no-floppy --fs-uuid --set=root 39ff79e1-e153-490f-b302-4ba8e71fe643
fi
echo 'Loading Linux 3.10-2-amd64 ...'
linux /vmlinuz-3.10-2-amd64 root=ZFS=Patux/ ro boot=zfs $bootfs
echo 'Loading initial ramdisk ...'
initrd /initrd.img-3.10-2-amd64
}
menuentry 'LinuxMint GNU/Linux, with Linux 3.10-2-amd64 (recovery mode)' --class linuxmint --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.10-2-amd64-recovery-7c11ad880751a42a' {
load_video
gfxmode $linux_gfx_mode
insmod gzio
insmod zfsinfo
zfs-bootfs ($root) bootfs
insmod part_msdos
insmod ext2
set root='hd0,msdos7'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos7 --hint-efi=hd0,msdos7 --hint-baremetal=ahci0,msdos7 39ff79e1-e153-490f-b302-4ba8e71fe643
else
search --no-floppy --fs-uuid --set=root 39ff79e1-e153-490f-b302-4ba8e71fe643
fi
echo 'Loading Linux 3.10-2-amd64 ...'
linux /vmlinuz-3.10-2-amd64 root=ZFS=Patux/ ro single boot=zfs $bootfs
echo 'Loading initial ramdisk ...'
initrd /initrd.img-3.10-2-amd64
}
menuentry 'LinuxMint GNU/Linux, with Linux 3.8.13-amd64-xen+rtai-rjvb' --class linuxmint --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.8.13-amd64-xen+rtai-rjvb-advanced-7c11ad880751a42a' {
load_video
gfxmode $linux_gfx_mode
insmod gzio
insmod zfsinfo
zfs-bootfs ($root) bootfs
insmod part_msdos
insmod ext2
set root='hd0,msdos7'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos7 --hint-efi=hd0,msdos7 --hint-baremetal=ahci0,msdos7 39ff79e1-e153-490f-b302-4ba8e71fe643
else
search --no-floppy --fs-uuid --set=root 39ff79e1-e153-490f-b302-4ba8e71fe643
fi
echo 'Loading Linux 3.8.13-amd64-xen+rtai-rjvb ...'
linux /vmlinuz-3.8.13-amd64-xen+rtai-rjvb root=ZFS=Patux/ ro boot=zfs $bootfs
echo 'Loading initial ramdisk ...'
initrd /initrd.img-3.8.13-amd64-xen+rtai-rjvb
}
menuentry 'LinuxMint GNU/Linux, with Linux 3.8.13-amd64-xen+rtai-rjvb (recovery mode)' --class linuxmint --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.8.13-amd64-xen+rtai-rjvb-recovery-7c11ad880751a42a' {
load_video
gfxmode $linux_gfx_mode
insmod gzio
insmod zfsinfo
zfs-bootfs ($root) bootfs
insmod part_msdos
insmod ext2
set root='hd0,msdos7'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos7 --hint-efi=hd0,msdos7 --hint-baremetal=ahci0,msdos7 39ff79e1-e153-490f-b302-4ba8e71fe643
else
search --no-floppy --fs-uuid --set=root 39ff79e1-e153-490f-b302-4ba8e71fe643
fi
echo 'Loading Linux 3.8.13-amd64-xen+rtai-rjvb ...'
linux /vmlinuz-3.8.13-amd64-xen+rtai-rjvb root=ZFS=Patux/ ro single boot=zfs $bootfs
echo 'Loading initial ramdisk ...'
initrd /initrd.img-3.8.13-amd64-xen+rtai-rjvb
}
menuentry 'LinuxMint GNU/Linux, with Linux 3.2.0-4-amd64' --class linuxmint --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.2.0-4-amd64-advanced-7c11ad880751a42a' {
load_video
gfxmode $linux_gfx_mode
insmod gzio
insmod zfsinfo
zfs-bootfs ($root) bootfs
insmod part_msdos
insmod ext2
set root='hd0,msdos7'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos7 --hint-efi=hd0,msdos7 --hint-baremetal=ahci0,msdos7 39ff79e1-e153-490f-b302-4ba8e71fe643
else
search --no-floppy --fs-uuid --set=root 39ff79e1-e153-490f-b302-4ba8e71fe643
fi
echo 'Loading Linux 3.2.0-4-amd64 ...'
linux /vmlinuz-3.2.0-4-amd64 root=ZFS=Patux/ ro boot=zfs $bootfs
echo 'Loading initial ramdisk ...'
initrd /initrd.img-3.2.0-4-amd64
}
menuentry 'LinuxMint GNU/Linux, with Linux 3.2.0-4-amd64 (recovery mode)' --class linuxmint --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.2.0-4-amd64-recovery-7c11ad880751a42a' {
load_video
gfxmode $linux_gfx_mode
insmod gzio
insmod zfsinfo
zfs-bootfs ($root) bootfs
insmod part_msdos
insmod ext2
set root='hd0,msdos7'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos7 --hint-efi=hd0,msdos7 --hint-baremetal=ahci0,msdos7 39ff79e1-e153-490f-b302-4ba8e71fe643
else
search --no-floppy --fs-uuid --set=root 39ff79e1-e153-490f-b302-4ba8e71fe643
fi
echo 'Loading Linux 3.2.0-4-amd64 ...'
linux /vmlinuz-3.2.0-4-amd64 root=ZFS=Patux/ ro single boot=zfs $bootfs
echo 'Loading initial ramdisk ...'
initrd /initrd.img-3.2.0-4-amd64
}
}
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###
### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Windows Recovery Environment (loader) (on /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-chain-68C25524C254F7B0' {
insmod part_msdos
insmod ntfs
set root='hd0,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 68C25524C254F7B0
else
search --no-floppy --fs-uuid --set=root 68C25524C254F7B0
fi
drivemap -s (hd0) ${root}
chainloader +1
}
menuentry 'Windows 7 (loader) (on /dev/sda2)' --class windows --class os $menuentry_id_option 'osprober-chain-EA8655BD86558B49' {
insmod part_msdos
insmod ntfs
set root='hd0,msdos2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos2 --hint-efi=hd0,msdos2 --hint-baremetal=ahci0,msdos2 EA8655BD86558B49
else
search --no-floppy --fs-uuid --set=root EA8655BD86558B49
fi
chainloader +1
}
### END /etc/grub.d/30_os-prober ###
### BEGIN /etc/grub.d/30_uefi-firmware ###
### END /etc/grub.d/30_uefi-firmware ###
### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###
### BEGIN /etc/grub.d/41_custom ###
if [ -f ${config_directory}/custom.cfg ]; then
source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; then
source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###
Note also how the system identification in the menu entries has changed.
I think I found the culprit. I had a /etc/grub.d/10_linux file that was dated Feb 28th 2014 (this morning!). Restoring it from a backup to the version from Dec 27 20:45 and running grub-update again I got a grub.cfg that's identical to the working version posted just above.
For reference, here's the "incriminated" 10_linux file:
#! /bin/sh
set -e
# grub-mkconfig helper script.
# Copyright (C) 2006,2007,2008,2009,2010 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}"
datarootdir="${prefix}/share"
. "${datarootdir}/grub/grub-mkconfig_lib"
export TEXTDOMAIN=grub
export TEXTDOMAINDIR="${datarootdir}/locale"
CLASS="--class gnu-linux --class gnu --class os"
if [ "x${GRUB_DISTRIBUTOR}" = "x" ] ; then
OS=GNU/Linux
else
OS="${GRUB_DISTRIBUTOR} GNU/Linux"
CLASS="--class $(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' -f1) ${CLASS}"
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}" \
|| uses_abstraction "${GRUB_DEVICE}" lvm; then
LINUX_ROOT_DEVICE=${GRUB_DEVICE}
else
LINUX_ROOT_DEVICE=UUID=${GRUB_DEVICE_UUID}
fi
if [ "x`${grub_probe} --device ${GRUB_DEVICE} --target=fs 2>/dev/null || true`" = xbtrfs ] \
|| [ "x`stat -f --printf=%T /`" = xbtrfs ]; then
rootsubvol="`make_system_path_relative_to_its_root /`"
rootsubvol="${rootsubvol#/}"
if [ "x${rootsubvol}" != x ]; then
GRUB_CMDLINE_LINUX="rootflags=subvol=${rootsubvol} ${GRUB_CMDLINE_LINUX}"
fi
fi
linux_entry ()
{
os="$1"
version="$2"
recovery="$3"
args="$4"
description="`grep GRUB_TITLE /etc/linuxmint/info | awk -F = '{print $2}'`"
if ${recovery} ; then
title="${description}, ${version} (${GRUB_DEVICE_BOOT}) -- (recovery mode)"
else
title="${description}, ${version} (${GRUB_DEVICE_BOOT})"
fi
printf "menuentry '${title}' ${CLASS} {\n" "${os}" "${version}"
if ! ${recovery} ; then
save_default_entry | sed -e "s/^/\t/"
fi
# Use ELILO's generic "efifb" when it's known to be available.
# FIXME: We need an interface to select vesafb in case efifb can't be used.
if [ "x$GRUB_GFXPAYLOAD_LINUX" = x ]; then
cat << EOF
load_video
EOF
else
if [ "x$GRUB_GFXPAYLOAD_LINUX" != xtext ]; then
cat << EOF
load_video
EOF
fi
cat << EOF
set gfxpayload=$GRUB_GFXPAYLOAD_LINUX
EOF
fi
cat << EOF
insmod gzio
EOF
if [ x$dirname = x/ ]; then
if [ -z "${prepare_root_cache}" ]; then
prepare_root_cache="$(prepare_grub_to_access_device ${GRUB_DEVICE} | sed -e "s/^/\t/")"
fi
printf '%s\n' "${prepare_root_cache}"
else
if [ -z "${prepare_boot_cache}" ]; then
prepare_boot_cache="$(prepare_grub_to_access_device ${GRUB_DEVICE_BOOT} | sed -e "s/^/\t/")"
fi
printf '%s\n' "${prepare_boot_cache}"
fi
message="$(gettext_printf "Loading Linux %s ..." ${version})"
cat << EOF
echo '$message'
linux ${rel_dirname}/${basename} root=${linux_root_device_thisversion} ro ${args}
EOF
if test -n "${initrd}" ; then
message="$(gettext_printf "Loading initial ramdisk ...")"
cat << EOF
echo '$message'
initrd ${rel_dirname}/${initrd}
EOF
fi
cat << EOF
}
EOF
}
case x`uname -m` in
xi?86 | xx86_64)
list=`for i in /boot/vmlinuz-* /vmlinuz-* /boot/kernel-* ; do
if grub_file_is_not_garbage "$i" ; then echo -n "$i " ; fi
done` ;;
*)
list=`for i in /boot/vmlinuz-* /boot/vmlinux-* /vmlinuz-* /vmlinux-* /boot/kernel-* ; do
if grub_file_is_not_garbage "$i" ; then echo -n "$i " ; fi
done` ;;
esac
prepare_boot_cache=
prepare_root_cache=
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}"
initrd=
for i in "initrd.img-${version}" "initrd-${version}.img" \
"initrd-${version}" "initramfs-${version}.img" \
"initrd.img-${alt_version}" "initrd-${alt_version}.img" \
"initrd-${alt_version}" "initramfs-${alt_version}.img" \
"initramfs-genkernel-${version}" \
"initramfs-genkernel-${alt_version}"; do
if test -e "${dirname}/${i}" ; then
initrd="$i"
break
fi
done
config=
for i in "${dirname}/config-${version}" "${dirname}/config-${alt_version}" "/etc/kernels/kernel-config-${version}" ; do
if test -e "${i}" ; then
config="${i}"
break
fi
done
initramfs=
if test -n "${config}" ; then
initramfs=`grep CONFIG_INITRAMFS_SOURCE= "${config}" | cut -f2 -d= | tr -d \"`
fi
if test -n "${initrd}" ; then
echo "Found initrd image: ${dirname}/${initrd}" >&2
elif test -z "${initramfs}" ; then
# "UUID=" magic is parsed by initrd or initramfs. Since there's
# no initrd or builtin initramfs, it can't work here.
linux_root_device_thisversion=${GRUB_DEVICE}
fi
linux_entry "${OS}" "${version}" false \
"${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}"
if [ "x${GRUB_DISABLE_RECOVERY}" != "xtrue" ]; then
linux_entry "${OS}" "${version}" true \
"single ${GRUB_CMDLINE_LINUX}"
fi
list=`echo $list | tr ' ' '\n' | grep -vx $linux | tr '\n' ' '`
done
Could you please stop posting hundreds and hundreds of lines of config files without being asked? It makes the issue incredibly difficult to understand and read.
What did you upgrade from (mint and grub versions)? Where you running the ZFS aware grub before the Mint upgrade? What version does "Mint update pack 8" corresponds to regarding "real" Debian GNU/Linux?
There's page after page after page of config files and vage information "what I did", but the ONLY thing that looks like problems are:
Do note that the repos is for Debian GNU/Linux Wheezy. NOT Debian MINT update pack 8! It's very possible that most things would work, but they ARE two different distributions!
Linux Mint Debian follows Debian/Testing (the GNU/Linux flavour evidently) with additional testing. It's a semi-rolling distribution that sits between Debian/Stable and Debian/Testing. So what I upgraded Mint from is not clearly defined, esp. since I do not yet know when the grub issue started. The upgrade from Pack 7 to 8 was maybe a month ago, and that included generating a new grub.cfg, so the regression occurred later (if I'd had to guess I'd say in the updates that were published on the 26th or 27th of this week). I did NOT update grub. I've been using zfs-grub since I migrated my machines to a ZFS root in december.
Is it possible to generate a list of what package upgrades were applied, and when, with Debian's apt system? Or even better, find out which package last modified a given file, and/or the file timestamps with apt content <package>
? According to apt contains /etc/grub.d/10_linux
the file belongs to grub-common, and to the best of my knowledge that package hasn't been upgraded since the last time I regenerated my grub.cfg with success (I have version 2.01-22debian1+zfs3~wheezy).
I'm sorry that I'm not more specific about the exact error while booting with a dysfunctional grub.cfg. I didn't write down the exact error (or take a picture of the screen; this was not in a VM of which I could easily take a screenshot). And without being asked explicitly I'm not really enthusiastic about breaking things again. Is your (potential) problem (4) indeed a problem when the goal is to boot off a ZFS root, and in that case, can we agree that your potential problem (3) is a likely result of error (4)? I presume the uploaded 10_linux file does not come from here, correct?
Another observation that I can make now that I have been able to restore things is that grub-update
would print a list of "exotic" file systems among its final terminal output: XFS, JFS and QNX4 (with their respective versions and supported features).
I still have an LMDE VM that I think hasn't had the latest Mint updates applied; as its root pool is accessible from a "real" Linux host it'll make a good test bed ... when I have the time and the VM host is available.
BTW, if there's a more appropriate repository to follow (corresponding to Testing but preferably not Experimental), I'd be happy to switch to that! LMDE is common enough to have at least some sort of knowledge base concerning its specificities!
Linux Mint Debian follows Debian/Testing
Ok, but that's very new for ZoL (unless you run from GIT). Does the ZFS aware grub in the deb repo actually install on something that new?! If I had to guess, I would have said no. The upgrade from Pack 7 to 8 was maybe a month ago, and that included generating a new grub.cfg
If you didn't upgrade grub, do you know what made the config file to get upgraded? From what I know, only the grub packages issues a grub-update... so the regression occurred later
So that config file (which was generated with the 7 to 8 upgrade) worked? Is it possible to generate a list of what package upgrades were applied
No, unfortunately not :(. That is one of the major (almost the only! :) reason why I wanted a ZFS root - I wanted the possibility to snapshot before and then after the upgrade, so that I had a working baseline to work with.
And with #2087 (which will most likely be applied just after 0.6.3), I can even BOOT from that snapshot (and then rollback the snapshot if that's needed :) in an easy way.
I didn't write down the exact error (or take a picture of the screen; this was not in a VM of which I could easily take a screenshot).
Lesson for next time then :) - always record the exact error message when something goes wrong. Not just your understanding of it.
The exact message can very often tell us exactly where/what the problem is. It's not the result that gives us clues, but what's "said" and when...
And without being asked explicitly I'm not really enthusiastic about breaking things again.
Unless you have a snapshot you can rollback to which originates [just] before the upgrade, it's not much you can do at the moment - being able to reproduce the problem is the second key to figuring out what went wrong... problem (3) is a likely result of error (4)?
No, don't think so. Problem two to four is most likely just different ways of explaining the problem, which originated in point one...
What/where point three comes from I have no idea without an exact copy of the message - it would have told me exactly who (grub boot block, grub "config loader", the kernel or the initrd) had a problem.
I presume the uploaded 10_linux file does not come from here, correct?
Don't know where that came from. It didn't came from the ZFS aware grub-common package though. I just triple checked that, and the file distributed with that package/version is quite substantially different. grub-update would print a list of "exotic" file systems among its final terminal output
How do you mean? XFS, JFS and QNX4 (with their respective versions and supported features).
There is no QNX support in "my" packages! BTW, if there's a more appropriate repository to follow
Unfortunately no. ZoL is still stuck in incoming (the NEW queue) because of questions about the CDDL license visavi GPL*. The Debian GNU/Linux FTP maintainers just haven't had the time to review it :(.
And I just don't have the time or resources to build packages for every Debian GNU/Linux based distribution - there's quite a number of them :).
(corresponding to Testing but preferably not Experimental), I'd be happy to switch to that! LMDE is common enough to have at least some sort of knowledge base concerning its specificities!
What does MINT give you that Debian GNU/Linux Testing or Ubuntu Sausy doesn't give you? Why not setup your own, private, repo with your own recompiled grub/ZoL versions for MINT?
If you get good enough with it, maybe you can convince @behlendorf to let you maintain it for ZoL... :)
Considering that:
1. you seem to have support for QNX
2. that the 10_linux file is so much different to the one "I" distribute
3. that you get a "zfs_member being unknown/not loaded" message (never seen that before)
4. you didn't upgrade grub, and yet got a new grub.cfg file
I recommend you start digging deep into your system and try to figure to what's going on...
Just because "my" package "own" the file (dpkg -s dpkg -S /etc/grub.d/10_linux | sed 's,:.*,,'
| egrep '^Package:|^Version:|^Maintainer|^Installed-Size:|^Source:|^Depends:'), doesn't mean that some other package/file isn't modifying it.
This is absolutly forbidden in Debian GNU/Linux (and is punished with severe scorn - which I had the unpleasant experience of receiving when I was just a young lad :), but maybe the MINT maintainers doesn't understand the ramifications of going against this (not saying that they do, just hinting that you need to try to figure out where that file come from etc, not where it seems to be coming from).
On Saturday March 01 2014 02:37:35 Turbo Fredriksson wrote:
Linux Mint Debian follows Debian/Testing
Ok, but that's very new for ZoL (unless you run from GIT). Does the ZFS aware grub in the deb repo actually install on something that new?! If I had to guess, I would have said no.
Well, it did. You may remember there where some issues with the kernel modules but those were more related to how LMDE identifies itself and that were solved with what I'd call a more generic way to test for the distribution in the dkms.conf files. LMDE used a 3.10 kernel when I first migrated to ZFS, update pack 8 brought that to 3.11 . Both work fine with the 0.6.2 kmod releases, but from what I understood of it, zfs-grub depends much less on the kernel and so shouldn't have any issues. In fact, and that's a bit of an aside, I built a custom kernel off the Sabayon 3.12.6 sources (to get uptodate btrfs support). I had to roll a specific "0.6.2.sabayon" version of the kernel packages for that, but grub never had an issue with it.
The upgrade from Pack 7 to 8 was maybe a month ago, and that included generating a new grub.cfg
If you didn't upgrade grub, do you know what made the config file to get upgraded? From what I know, only the grub packages issues a grub-update...
And a kernel update, of course :)
So that config file (which was generated with the 7 to 8 upgrade) worked?
Is it possible to generate a list of what package upgrades were applied
No, unfortunately not :(. That is one of the major (almost the only! :) reason why I wanted a ZFS root - I wanted the possibility to snapshot before and then after the upgrade, so that I had a working baseline to work with.
Well, that's what I did before applying the update pack, but not for every point release ...
What I also miss in all package systems I've seen is to query a package's content before applying it (unless you download them by hand).
Lesson for next time then :) - always record the exact error message when something goes wrong. Not just your understanding of it.
Yeahm but I know that of course. Except that my first reaction always turns out to be to get things working again... In any case, I think the essence is clear: I ended up with a config file (and bootloader) that didn't load the zfs modules before trying to boot. I'm not sure if it's very interesting to know why that put me at an initram prompt rather than at a busybox prompt as happens when the bootloader doesn't find the pool it looks for? (That's one of the things I like about ZFS roots, that it's so easy to pick the pool (or the snapshot, I guess) you want :) ). It's a bit curious because /boot is on an ext3 partition so the busybox env.
Unless you have a snapshot you can rollback to which originates [just] before the upgrade, it's not much you can do at the moment - being able to reproduce the problem is the second key to figuring out what went wrong...
Oh, but I kept the incriminated 10_linux file, so all I have to do is exchange them once more and I should get the dysfunctional grub.cfg again. But again, the most likely reason for the observed failure is that the zfs module doesn't get loaded in grub and no information about the zfs root is handed off to vmlinux. Is there really a point in knowing the result of those omissions ... apart maybe in figuring out how to handle that situation more graciously if at all possible? To be honest, that's also a reason I uploaded the alien 10_linux file, I'm guessing you'll reproduce my issue when you rebuild a grub.cfg using that file!
What/where point three comes from I have no idea without an exact copy of the message - it would have told me exactly who (grub boot block, grub "config loader", the kernel or the initrd) had a problem.
Ah, maybe I should have read your full reply before starting to reply point-by-point :)
Don't know where that came from. It didn't came from the ZFS aware grub-common package though. I just triple checked that, and the file distributed with that package/version is quite substantially different.
That's what I figured, and what I'll try to figure out on the VM I mentioned. It would help if there's a way to download all upgrade .debs before applying them, so I can either search them for 10_linux, or apply them with dpkg -i
which will warn when a file belonging to another package is overwritten.
grub-update would print a list of "exotic" file systems among its final terminal output
How do you mean?
After the list of boot options found, I got a list of file systems. Just that, I have none of those, but I suppose the alien 10_linux checks for them and prints out a line while doing so.
XFS, JFS and QNX4 (with their respective versions and supported features).
There is no QNX support in "my" packages!
Another proof that something replaced the 10_linux file! What I don't understand is that I reinstalled all zfs grub packages (using aptitude) on one of my set-ups, which apparently didn't restore that file (because a newer one existed?). I cannot be 100% sure though that everything went OK with the subsequent operations as the laptop I used overheated when rebuilding all initramfs for good measure (and I was doing 10 other things at the same time).
Unfortunately no. ZoL is still stuck in incoming (the NEW queue) because of questions about the CDDL license visavi GPL*. The Debian GNU/Linux FTP maintainers just haven't had the time to review it :(.
How odd, what do they have to say about what you put on zfsonlinux.org? ;)
What does MINT give you that Debian GNU/Linux Testing or Ubuntu Sausy doesn't give you?
As I said, it's more stable than Debian/Testing because there's additional testing being done, so one can be more reliant in applying updates without fearing (too much) that a lot of things will break. It's one of the more (if not most) mainstream distros of the "hackerish" distros that I know of. I don't know Ubuntu Sausy, but the standard Ubuntu scheme doesn't really appeal because it imposes big updates like MSWin or Mac OS X if you want to run the newest release. And that always includes the risk that nothing works anymore and tends to cost a lot of time in setting things back up the way I want.
Why not setup your own, private, repo with your own recompiled grub/ZoL versions for MINT? If you get good enough with it, maybe you can convince @behlendorf to let you maintain it for ZoL... :)
Thing is, I'm not so sure I like the idea of spending as much time trying to keep a (Linux) system running/booting as I spend using it (unless it would become a source of income but that I doubt ;) ) The Mint maintainers are probably just as interested in adding support for ZoL as I am in maintaining said functionality for them ;)
Considering that:
- you seem to have support for QNX I probably built that into my kernel, but whether the grub I have really supports it (as in while trying to boot off it) or it is just output generated because of 10_linux, we'll never know...
- that the 10_linux file is so much different to the one "I" distribute
- that you get a "zfs_member being unknown/not loaded" message (never seen that before)
- you didn't upgrade grub, and yet got a new grub.cfg file Wait, I noticed the issue when I recreated grub.cfg myself, for the very simple reason I cloned my system to an external disk and set about making that one bootable. At first I thought something had gone wrong during the cloning (zpool attach "external as mirror to internal", resilver, zpool split "to new pool on the external disk"). But then I checked on the source system and got that cold-sweat moment when it wouldn't boot anymore without me having an external bootloader allowing to get the system back up (I now keep one on a thumb drive, lesson learned!)
I recommend you start digging deep into your system and try to figure to what's going on...
Just because "my" package "own" the file (dpkg -s
dpkg -S /etc/grub.d/10_linux | sed 's,:.*,,'
| egrep '^Package:|^Version:|^Maintainer|^Installed-Size:|^Source:|^Depends:'), doesn't mean that some other package/file isn't modifying it.
I know, but I also know that you have to force dpkg to install packages that do this. Sadly I used "their" mintupdate tool for what seemed like a minor update, and that one quits without even saving a log (AFAIK) when everything went through OK.
This is absolutly forbidden in Debian GNU/Linux (and is punished with severe scorn - which I had the unpleasant experience of receiving when I was just a young lad :), but maybe the MINT maintainers doesn't understand the ramifications of going against this (not saying that they do, just hinting that you need to try to figure out where that file come from etc, not where it seems to be coming from).
I intend to, and will give feedback to Linux Mint when it turns out to be their doing.
https://github.com/zfsonlinux/grub/issues/10#issuecomment-36421577
What I also miss in all package systems I've seen is to query a package's content before applying it (unless you download them by hand).
You always get a question "Do you want to do the upgrade [Y/n]?". Just open another shell and check them.
You also have /var/cache/apt/archives. And the '-d' option to upgrade/dist-upgrade...
apply them with
dpkg -i
which will warn when a file belonging to another package is overwritten.
Unless you have configured apt to allow this, yes...
How odd, what do they have to say about what you put on zfsonlinux.org? ;)
Not much. My packages on ZoL.org is based on the ones uploaded to Debian GNU/Linux and the ones @dajhorn is doing for Ubuntu. I'm just a head, because I haven't been limited by people having to review and accept my work (the license) :D
Thing is, I'm not so sure I like the idea of spending as much time trying to keep a (Linux) system running/booting as I spend using it
Ehm, this might be like swearing in church, but that's the reason why I went OSX on my desktop (laptop) :D. The company may suck, but their product is just perfect for my use - "it just work" is not only a buzz phrase...
And all my servers run Debian GNU/Linux stable (just very recently upgraded my primary to Wheezy from Lenny - a two stable jump :). I really don't like to upgrade!
If I really, really need a new feature, I just back port the version/application I want/need and keep running the release I'm happy with.
I know, but I also know that you have to force dpkg to install packages that do this.
Yes, but I'm thinking more like a script, that comes with another package, rewriting the file. That is still highly illegal, but you won't know it happened, unless you payed very, very close attention (and was looking for it)...
What I would look for is some kind of "MINTs super-cool-ease-of-use-admin-tools" which includes "magic" scripts/apps that "fiddle" with the system to make things "easier" for the user... I personally hate those, but...
While talking about apt and it's config, it might be worth triple checking that MINT doesn't use the "force dpkg overwrite" option or other...
On Saturday March 01 2014 07:44:48 Turbo Fredriksson wrote:
What I also miss in all package systems I've seen is to query a package's content before applying it (unless you download them by hand).
You always get a question "Do you want to do the upgrade [Y/n]?". Just open another shell and check them.
Sure - which still would require to download them. I should admit that on OS X one has to do just that...
You also have /var/cache/apt/archives. And the '-d' option to upgrade/dist-upgrade...
What exactly is in /var/cache/apt/archives, or supposed to be (mine is quite empty right now)?
Thing is, I'm not so sure I like the idea of spending as much time trying to keep a (Linux) system running/booting as I spend using it
Ehm, this might be like swearing in church, but that's the reason why I went OSX on my desktop (laptop) :D. The company may suck, but their product is just perfect for my use - "it just work" is not only a buzz phrase...
I agree - and maybe not all the time. I also don't like to upgrade, and on systems like OS X I typically hold off as long as I can because upgrading never goes without breaking something, if not only my habits. I'm only now in the process of upgrading to 10.9 - in a VM so I can iron out the kinks without disrupting, and it's taking me much more time than even I had foreseen. In fact, an important reason I haven't been hanging on to 10.6 for a while longer is the fact that osx-zfs hardly works on 10.6!
This putting-off is one reason I went with a distro following Debian/Testing. Debian/Stable was too much behind and I wasn't particularly interested in figuring out how to get a more uptodate KDE without recompiling the whole shebang ... ;)
There's also the fact that I'm not yet sure that as a non-Apple-stuff developer and workstation user I like where Apple are going with OS X, which is why I'm renewing with Linux.
If I really, really need a new feature, I just back port the version/application I want/need and keep running the release I'm happy with.
I've been doing that for too long on the Linux system I had before discovering OS X, a Mandrake system for which for some reason no more updates were available through the official channels and which I had tweaked in too many locations ... When backporting applications starts requiring updating all kind of other packages (and typically you discover that little by little) you end up again in that situation where you spend more time on than with your system... Fortunately it isn't usually too complicated to get newer packages from Debian and build them as packages that integrate appropriately with the other packages (or at least I'd hope so :) )
https://github.com/zfsonlinux/grub/issues/10#issuecomment-36427833
What I would look for is some kind of "MINTs super-cool-ease-of-use-admin-tools" which includes "magic" scripts/apps that "fiddle" with the system to make things "easier" for the user... I personally hate those, but...
Turns out it's the debian-system-adjustments_2014.02.27.1_all package : -rw-r--r-- root/root 6080 2014-02-27 12:18 ./usr/share/debian-system-adjustments/grub/10_linux
"Description: Debian adjustments specific to Linux Mint. Adjustments made to the Debian base."
Guess I'll have to think of an argument or two about why such a package could touch certain files but nothing from grub ...
https://github.com/zfsonlinux/grub/issues/10#issuecomment-36427833
On Mar 1, 2014, at 8:26 PM, René Bertin wrote:
What exactly is in /var/cache/apt/archives, or supposed to be (mine is quite empty right now)?
That's where apt stores all the downloaded debs. It's cleaned by "apt-get clean". So if it's empty, that have been run automatically...
Turns out it's the debian-system-adjustments_2014.02.27.1_all package : -rw-r--r-- root/root 6080 2014-02-27 12:18 ./usr/share/debian-system-adjustments/grub/10_linux
That's just ... wrong!
Ok, turns out you can close this bug then. Not "my" fault (for a change :).
On 02 Mar 2014, at 04:22, Turbo Fredriksson notifications@github.com wrote:
Turns out it's the debian-system-adjustments_2014.02.27.1_all package : -rw-r--r-- root/root 6080 2014-02-27 12:18 ./usr/share/debian-system-adjustments/grub/10_linux
That's just ... wrong!
Would it be less wrong if there were specific adjustment packages? After all no one says you can use Mint's packages on a pure Debian system and expect, well, no changes.
Ok, turns out you can close this bug then. Not "my" fault (for a change :).
Heh. Issue, don't think I ever suggested it was a bug ;) Would you be willing to figure out with me how to merge the 2 files? If Mint added support for xfs, jfs and qnx4 fs, they might be willing to add zfs to the list if I provide the required patch ...
— Reply to this email directly or view it on GitHub.
Would it be less wrong if there were specific adjustment packages?
Guess not. But it's still wrong (and illegal) to use that file from that package, and replace the file from the grub package without specifically asking/telling the user.
Would you be willing to figure out with me how to merge the 2 files? If Mint added support for xfs, jfs and qnx4 fs, they might be willing to add zfs to the list if I provide the required patch ...
I guess I could, but from what I can see, the file in question is quite old. It must come from a (much?) older version of grub.
And I can't figure out what they want to accomplish with their version. Better just send "my" version and tell them to add their support to that, and I can even integrate that into my package...
Well, I just found out that there's something very tenacious about those system adjustments ... the files aren't just replaced once, but at each boot. We'll see how that works when I change something in /usr/share/debian-system-adjustments ;)
Anyway, I posted on the Mint forum, relaying your offer to use your code: http://forums.linuxmint.com/viewtopic.php?f=198&t=161206
Linux Mint Debian has published update pack 8 recently, followed by a series of other updates. As far as I can see the zfs aware grub from http://archive.zfsonlinux.org/debian hasn't been touched (I reinstalled it for good measure), but update-grub no longer generates grub.cfg files that can boot my machines. It also no longer generates a boot menu where the main choices (latest kernel, Windows boot) are accessible directly, and an advanced options submenu that contains entries for all kernels and recovery mode booting.
The generated grub.cfg file for my netbook is included below. Is this something that has been addressed in recent modifications to zfs-grub, and if so, why hasn't the repo been updated? What files that are NOT part of the zfs-grub packages control grub's menu behaviour?