-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
grub-update does not identify pool correctly: root=ZFS=<missing>/ROOT/debian #18
Comments
I should also point out that if grub-mkconfig is run "instead of" / "prior to" running update-grub, then the whole parameter "root=ZFS=spool/ROOT/debian" is missing from /boot/grub/grub.cfg, leaving the original boot parameter. This is strange to me because grub-mkconfig is supposed to do everything and more than what update-grub does according to the following source: http://members.iinet.net/~herman546/p20/GRUB2%20Bash%20Commands.html#grub-mkconfig Not sure if this should be a separate issue, even though they are two different commands they should operate in basically the same way? |
But wether or not grub-mkconfig works or not is really not the biggest problem - yes, it's a nuisance not getting a good/correct grub.cfg, but the primary failure is that it won't boot even if you specify a correct one! Once we got that figured out, we can deal with a better/correct grub... |
I'm still hitting this on one of my systems running 0.8.1. others work just fine. I wonder how I could contribute to troubleshooting of this issue? |
The same thing just happened to me in 0.8.4 on ubuntu 18.04 and I'm not sure why. I'm replying in the hope that it is helpful, but I don't require immediate assistance (yet) It used to work with the same partition just fine and included the pool in the I then ran Selecting the broken menuentry in grub boots to the initramfs which tells me to import the pool myself. I booted again into the original system by manually specifying the pool and run |
Okay, so this seems to be reproducible. Whenever I run All the installations are on one single NVMe disk. When I run When I run I have made sure that I actually have the boot partition and the efi partition mounted at It seems to me that the reason is that in rpool=`${grub_probe} --device ${GRUB_DEVICE} --target=fs_label 2>/dev/null || true` which succeeds even when it fails. Having a look at the redirected error output reveals
which is the result of the command /usr/sbin/grub-probe --device /dev/nvme0n1p10 --target=fs_label 2>/dev/null || true It is unclear to me why it would be probing
|
I'm seeing the same issue on Debian Buster: my
Now I have
but it gets the job done. On Ubuntu 19.10 with a similar setup I don't have this issue. Ubuntu comes with |
Oh, nice! That's probably a better solution than using a custom entry - because with the custom entry, I have to update the kernel version manually. I guess I'll try (sometime next week) looking at that |
@lucidBrot : Download |
Okay, I will experiment more when I get the time, but this already creates a working entry:
There are several warnings though. Warning: Ignoring tank/ds1/u18@2005081557
Warning: Failed to find a valid directory 'etc' for dataset 'tank/ds1/u18@2005081926'. Ignoring Edit: If one really wanted to, one could modify However, it does find the things it needs to do and the generated grub menuentry boots to my encrypted zfs-root ubuntu 18.04! Now I shall figure out how to get rid of the wrongly created entries. Perhaps it's as simple as also replacing These lines that were added in the new # We have a more specialized ZFS handler, with multiple system in 10_linux_zfs.
if [ -e "`dirname $(readlink -f $0)`/10_linux_zfs" ]; then
exit 0 |
Indeed. Simply replacing CC @tterpelle |
Hi,
Regarding the dailies version of zfs: 0.6.3-22
2d9d57jessieI am running grub-update under chroot, during native-zfs-root-filesystem installation. The parameter root=ZFS= is missing the pool name. This does not happen with version 0.6.3-766_gfde0d6d
The /boot/grub/grub.cfg file is updated with,
root=/ROOT/debian
Instead of,
root=ZFS=spool/ROOT/debian
This occurs with or without the following parameters set in /etc/default/grub
boot=zfs rpool=spool bootfs=spool/ROOT/debian
This issue can be duplicated as follows:
VirtualBox Installation of Debian Jessie (tested in RAID 10)
sda1 - UEFI
sd[a-d]2 - unformatted for zfs
sd[a-d]3 - swap
sd[a-d]4 - /boot
sd[a-d]5 - /
Install zfs dailies,
create pool
zpool create -m none spool mirror /dev/disk/by-id /dev/disk/by-id mirror /dev/disk/by-id /dev/disk/by-id
create datasets for spool/ROOT/debian
add /etc/udev/rules.d/70-zfs-grub-fix.rules
from: #5
zpool export spool
zpool import -o altroot=/sysroot spool
zfs set mountpoint=/ spool/ROOT/debian
rsync -axv / /sysroot/
rsync -axv /dev/ /sysroot/dev/
chroot /sysroot /bin/bash
mount -t proc proc /proc
mount -t sysfs sysfs /sys
mount /boot
nano /etc/fstab
comment out line for /
can add or not add line for spool/ROOT/debian / zfs default,noatime 0 0
update-initramfs -c -k all
update-grub
Thanks for all that you do,
Azeem
The text was updated successfully, but these errors were encountered: