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