ZFS i/o error - all block copies unavailable after freebsd-update

Hi all,
i just did a freebsd-update fetch, freebsd-update install and reboot from 13.0-RELEASE to 13.0-RELEASE-p2 and get greeted with this:
IMG_20210614_103829.jpg


Just yesterday everything was fine, zpool status had all four hard disks ONLINE... what can i do? :/
 
can you boot from removable media ?
how old is your efi partition code ? it comes from a 13 install or earlier ?
 
can you boot from removable media ?
how old is your efi partition code ? it comes from a 13 install or earlier ?
I am making one as we speak so i can at least do SOMETHING on this machine...

Not sure what you mean by efi partition code but this is a machine coming from 12.1 and doing upgrades ever since.
 

SirDice

Administrator
Staff member
Administrator
Moderator
but this is a machine coming from 12.1
Did you upgrade your pool after you upgraded to 13.0? And did you also update your boot partition and/or EFI boot? You might still have an older boot partition that cannot read the new ZFS.
 
Did you upgrade your pool after you upgraded to 13.0? And did you also update your boot partition and/or EFI boot? You might still have an older boot partition that cannot read the new ZFS.
pretty sure that i did, yes.
 

SirDice

Administrator
Staff member
Administrator
Moderator
At least grab a 13.0-RELEASE install media, boot from that and see if you can import the pool.
 

SirDice

Administrator
Staff member
Administrator
Moderator
You probably need to force it as the pool is still registered on the original system (that's what it's telling you). You'll also need to add -R or else the mountpoints are going to clobber all over the boot disk's mountpoints.
 
install the 13.x loader.efi in you efi boot partition
then you'll probably be able to boot from your zfs pool
mount -t msdosfs /dev/ada0px /mnt
cp /boot/loader.efi /mnt/EFI/BOOT/BOOTX64.efi
 

SirDice

Administrator
Staff member
Administrator
Moderator
Yeah, I suspect you only updated the bootcode in the freebsd-boot partition, and forgot to update the EFI bootcode.
 
zpool import -fR bootpool does something for a second (including hdd led flickering) and then that's it. zpool list and zpool status are empty still. should've noted this before but the main pool is geli encrypted, not sure about the bootpool - this was an install-and-forget setup and always worked without any problems 😞
 
install the 13.x loader.efi in you efi boot partition
then you'll probably be able to boot from your zfs pool
mount -t msdosfs /dev/ada0px /mnt
cp /boot/loader.efi /mnt/EFI/BOOT/BOOTX64.efi
that would work - in theory. i have 4 harddisks so i need to copy that to ada0p1, ada1p1....ada3p1 - correct?
The problem is this - "no space left on device". That doesn't sound like fun at all:
IMG_20210614_124655.jpg
 
can you drop to loader prompt ?
if you can type load zfs
then boot

docs are not very clear but it seems that simple loader cant do with xxx_load="YES"
 

SirDice

Administrator
Staff member
Administrator
Moderator
If I recall correctly you need to load the kernel first. But yes, drop to the loader prompt, load the kernel, load zfs, then boot.

Code:
load /boot/kernel/kernel
load /boot/kernel/zfs.ko
boot
Once the system is booted you can easily edit /boot/loader.conf.
 
If I recall correctly you need to load the kernel first. But yes, drop to the loader prompt, load the kernel, load zfs, then boot.

Code:
load /boot/kernel/kernel
load /boot/kernel/zfs.ko
boot
Once the system is booted you can easily edit /boot/loader.conf.
Well, that got me somewhere ... it "works" - i can see lots of dmesg afterwards but then crashes at the end and reboots. Too fast too read sadly :/
 
Top