Bug#777191: grub-efi-amd64 on Debian Jessie cannot boot zfs native root filesystem running the latest git code soon to be 0.6.4 tagged - official release
Azeem Esmail
azeeme234 at gmail.com
Fri Feb 6 04:04:54 UTC 2015
Package: grub-efi-amd64
Version: 2.02~beta2-20
Severity: critical
Tags: patch, upstream, d-i, jessie
Control: control commands
grub-efi-amd64 on Debian Jessie,
Works with 0.6.3 (v0.6.3-766_gfde0d6d)
Does not work with 0.6.3 latest code (dailies version).
Tested on VitualBox (v4.3.20 r96997) with,
UEFI partition on sda1
ZFS on sd[a-d]2
/boot either on (ext4 RAID 1, sd[a-b]3) OR (ext4 RAID 10, sd[a-d]3) OR (zfs)
Pool was create with,
zpool create spool mirror /dev/disk/by-id /dev/disk/by-id mirror
/dev/disk/by-id /dev/disk/by-id
After system setup, initrd.img-3.16.0-4-amd64 was regenerated:
update-initramfs -c -k all
'update-grub' was run to rebuild grub.cfg and the following line was
added/corrected if missing/incorrect:
root=ZFS=spool/ROOT/debian
Also tired manually entering different combination of the following through
the grub boot menu while trouble shooting:
boot=zfs rpool=spool bootfs=spool/ROOT/debian
For example:
linux /vmlinuz-3.16.0-4-amd64 root=zfs=spool/ROOT/debian ro quiet boot=zfs
rpool=spool bootfs=spool/ROOT/debian
***
At first reboot, the screen freezes with the following message:
mount: mounting /sys on /root/sys failed: No such file or directory
mount: mounting /proc on /root/proc failed: No such file or directory
/init: line 335: can't open /root/dev/console: no such file
...
[end Kernel panic - not syncing: attempting to kill init!
exitcode=0x00000200
After a cold boot the following message appears:
sh: argument expected <- repeated 4 times
Command: mount -o zfsutil -t zfs - /root
Message: filesystem '-' cannot be mounted, unable to open the dataset
mount: mounting - on /root failed: No such file or directory
Error: 1
Manually mount the root filesystem on /root and then exit.
BusyBox v1.22.1 (Debian ...
/bin/sh: can't access tty; job control turned off
/#
***
NOTE: When I don't add "boot=zfs rpool=spool bootfs=spool/ROOT/debian" in
the grub menu boot command line, the boot message is slightly different:
modprobe: module unknow not found in modules.dep
mount: mounting ZFS=spool/ROOT/debian on /root failed: no such file or
directory
mount: mounting /dev on /root/dev failed: No such file or directory
Target filesystem does't have requested /sbin/init.
no init found. Try passing init- bootarg.
modprobe: module ehci-orion not found in modules.dep
BusyBox v1.22.1 (Debian...
/bin/sh: can't access tty; job control tuned off
(initramfs)
***
This may be related to:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=776676
https://github.com/zfsonlinux/grub/issues/19
https://github.com/zfsonlinux/grub/issues/18
https://github.com/zfsonlinux/zfs/issues/3047
***
A likely fix is to use patches that work with the MBR patched version of
grub (2.02~beta2-9) tested to works with the latest ZoL code (dailies
version).
https://github.com/zfsonlinux/grub/tree/snapshot/debian/wheezy/2.02_beta2+gi
tbac5d-9.ZOL1
LIST OF PATCHES USED IN THE FIX:
https://github.com/zfsonlinux/grub/tree/snapshot/debian/wheezy/2.02_beta2%2B
gitbac5d-9.ZOL1/debian/patches
10_linux_zfs.patch
blacklist_1440x900x32.patch
core_in_fs.patch
default_grub_d.patch
disable_floppies.patch
dpkg_version_comparison.patch
elf_bi_endian.patch
feature_flags.patch
first_device.patch
fix_variable_redeclarations.patch
gettext_quiet.patch
gfxpayload_dynamic.patch
gfxpayload_keep_default.patch
grub-shell-no-pad.patch
grub-tester-zfs.patch
grub.cfg_400.patch
grub_legacy_0_based_partitions.patch
ignore_grub_func_test_failures.patch
install_efi_fallback.patch
install_locale_langpack.patch
install_powerpc_machtypes.patch
install_stage2_confusion.patch
linuxefi.patch
linuxefi_amd64_only.patch
linuxefi_debug.patch
linuxefi_non_sb_fallback.patch
linuxefi_require_shim.patch
maybe_quiet.patch
mkconfig_loopback.patch
mkconfig_mid_upgrade.patch
mkconfig_nonexistent_loopback.patch
mkconfig_recovery_title.patch
mkconfig_signed_kernel.patch
mkconfig_ubuntu_distributor.patch
mkconfig_ubuntu_recovery.patch
multiple-raidz-device-detection.txt
no_insmod_on_sb.patch
no_redefine_MIN-MAX.patch
probe_fusionio.patch
quick_boot.patch
restore_mkdevicemap.patch
series * Add support for spacemap_histogram, enabled_txg,
extensible_dataset.
skip_gettext_strings_test.patch
sleep_shift.patch
uefi_firmware_setup.patch
vt_handoff.patch
wubi_no_windows.patch
More information about the Pkg-grub-devel
mailing list