-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
no ZFS-GRUB for current ubuntu 14 LTS 'trusty tahr'? #12
Comments
Remember that Upstream support for ZFS is greatly improved since the grub-1.99 series, and it seems to have passed the "good enough" threshold for most users. This kind of bug report should now go to distro. However, in this particular case, you'll probably get a |
Somehow my reply-via-email disappeared, so: On May 15, 2014, at 03:43, Darik Horn wrote:
I did (on both points :) )
Because a USB device isn't worthy of support and shouldn't even be used for testing purposes?? Anyway, it seems that the issue affects also my internal drive with its ZFS pool; upstream grub-probe apparently plucks the device specifier from the pool (non-mirrored in my case), prepends it with /dev (rather than /dev/disk/by-id) and then complains it cannot find /dev/ataXXXX . R. |
A few things I learned since the reply above (d.d. May 15th):
And I don't have any idea who's fault that last observation is ... grub, or the kernel. Or yet another component because of this: |
Workaround for trusty:
GRUB_CMDLINE_LINUX="boot=zfs rpool=rpool bootfs=rpool/ROOT/trusty"
|
zfs-initramfs is installed, and indeed I was thinking along the lines of editing default/grub to hard-code the bootfs name instead of using a variable. I'll see though if there's any unexpected differences between the LMDE and Trusty initramfs zfs scripts. Should have occurred to me earlier to do that ...! |
Well, not much luck with your suggestions! There's indeed a considerable difference between the initramfs scripts for zfs in the Debian package vs. the Ubuntu/Trusty package (now why would that be??) I tried with the Debian zfs-initramfs ... no change. I tried adding -d /dev to the script - no change. I didn't make my change in /etc/default/grub just yet, and I notice that I use a slightly different format, "root=ZFS=zPatux/ ro boot=zfs zPatux" - maybe that should have read bootfs=zPatux, with the additional rpool= specifier. What I don't get is why there would be such big differences between Debian and Ubuntu, especially so early in the boot process... |
These changes is also in openzfs/zfs#2087 and the system startup script (init) changes in openzfs/zfs#2106. |
Strangely enough Darik's package for Ubuntu is more recent :) Anyway, I think you're implying that there's indeed no fundamental reason for boot-time differences between Debian and Ubuntu? Would you be willing to try your hand at a (K)Ubuntu VM, or else give me some guidance in figuring out what goes wrong where on my set-up? Darik seemed to frown upon ZFS on an external USB drive, but I can connect it via FW800 and boot a VM off the disk too if that's more politically correct ;) |
|
On Jun 05, 2014, at 20:51, Turbo Fredriksson wrote:
The current zfs-initramfs package for Debian.
As can be used for temporary installs :)
Because I have nothing else to put it in, other than replacing the internal disk of my Macbook Pro. In fact that won't work either, it's an ATA disk. Anyway, IMHO there is no reason whatsoever that the boot process would work better on an internal than on an external disk. R. |
The Ubuntu version was pushed to the ppa on 2014-04-09 and my version on 2014-05-23. But that's beside the point. Darik have not accepted the changes...
You will. As soon as you start loading it extensively and for a longer period of time. |
On Jun 05, 2014, at 21:49, Turbo Fredriksson wrote:
I'm pointing to "deb http://archive.zfsonlinux.org/debian wheezy main", which contains a package from january 2014. Should I change the repo ... and if so, what will that imply for the zfs and spl packages themselves?
Like doing a kernel build? I've had a netbook booted off a (btrfs) USB external for days, putting it to sleep every evening, never an issue. Anyway, as soon as the booting issue is resolved I'll move the LMDE install on my internal disk to Kubuntu 14.04 . R. |
Update: I grabbed Turbo's 2014-05-23 zfs-initramfs .deb file via my LMDE install, and installed it onto my ZFS Kubuntu 14.04 install, keeping all the other packages the same. In particular, I've held the grub packages at 2.01-22debian1+zfs3~wheezy (grub-pc, grub-pc-bin, grub-common, grub2-common). Testing is being done with the ZFS pool exposed to a VM via VirtualBox's raw disk access (to the external mounted via FW800 on a Macbook Pro); to prevent issues, /boot is on a dedicated vdi image. (VirtualBox can use the bootloader on a raw disk exposed fully but in my experience that only works for reading, not for rewriting via grub-install.) The result is that now I can boot more or less without glitches or manual intervention. I still get the "invalid label" message when I boot, and the grub version I have installed writes out kernel command lines containing root=ZFS=/ (= with trailing slash, not appreciated by the new initrd) and without zfsforce=1. The latter appears to be required as otherwise import is refused even though the pool was last mounted on the same VM. Maybe that's a VM issue? I almost lost the new zfs-initramfs again as the first apt-get dist-upgrade wanted to downgrade the package (don't recall seeing that before with a package installed manually through dpkg -i!) so I held that package too. Where should I go from here? I'd prefer to keep to the stable spl/zfs packages but I'd probably have to grab the appropriate grub packages from wheezy-daily? If so, which ones? The drive I'm testing with has a GPT table (with a dedicated GPT Boot Partition) and my current grub packages handle it just fine. BTW: I tried adding the Debian repos to Kubuntu (using apt-add-repository), but got stuck on a missing key error during apt-get update. Have I simply forgotten something ... or is there another "official" way to download binary packages from a repo server without actually editing something in apt/sources (other than figuring out the http URL through a web browser)? |
The question is in the subject - is there no zfs-aware grub package for the current Ubuntu LTS release in the ppa? The grub package that comes with the distro (Kubuntu, in my case) clearly does not, at least grub-probe fails on a chrooted zfs pool with the message
/usr/sbin/grub-probe: error: failed to get canonical path of `/dev/usb-XXX-0:0-part1'.
I cheated by installing the version for "Raring", and that allowed me to generate a grub.cfg without errors (still in a chrooted environment with all the special directories mounted via mount --bind). However, the bootloader appears to be dysfunctional:
Any suggestion on how to get this right?
The text was updated successfully, but these errors were encountered: