-
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
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: