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

SirDice

Administrator
Staff member
Administrator
Moderator

Reaction score: 11,564
Messages: 37,880

Try boot -s instead, that should boot it in single user mode. Then you can at least fix loader.conf. That will make the booting automatic again.
 
OP
schojo

schojo

New Member

Reaction score: 2
Messages: 16

Try boot -s instead, that should boot it in single user mode. Then you can at least fix loader.conf. That will make the booting automatic again.
Still the same, but made a video and got the screen before it crashes:
2021-06-14 17_06_13-Video - Google Photos.png
 

SirDice

Administrator
Staff member
Administrator
Moderator

Reaction score: 11,564
Messages: 37,880

I've seen that 'unlink /dev/dev' before. Can't remember what caused that though. And it's panicking because it can't find init(8). That probably has to do with the fact you have a bootpool and an encrypted zroot. Your loader.conf probably doesn't have the encryption keys set up, so it fails to load zroot which then causes it to panic(9).
 
OP
schojo

schojo

New Member

Reaction score: 2
Messages: 16

I've seen that 'unlink /dev/dev' before. Can't remember what caused that though. And it's panicking because it can't find init(8). That probably has to do with the fact you have a bootpool and an encrypted zroot. Your loader.conf probably doesn't have the encryption keys set up, so it fails to load zroot which then causes it to panic(9).
Thanks for the explanation. Might be connected to what covacat posted just below then?
is your root file system on the same pool as /boot ?
I honestly don't remember and i regret not being informed about it. I installed it back in the days and it always just worked. I know that i have two zpools, bootpool and zroot - so that might answer your question already? It was a standard install of 12.0, didn't change anything myself...
 

covacat

Well-Known Member

Reaction score: 170
Messages: 365

if bootpool only contains /boot and everything else is on zroot thats expected.
also if your zroot is encrypted where are the keys stored or you enter a passphrase at every boot ?
you probably have to load geli to at the loader prompt and init it
 

covacat

Well-Known Member

Reaction score: 170
Messages: 365

if you have a swap partition next to the efi one probably its better to kill them both and create a larger efi partition and a smaller swap
and put the full efi loader back
 
OP
schojo

schojo

New Member

Reaction score: 2
Messages: 16

if bootpool only contains /boot and everything else is on zroot thats expected.
also if your zroot is encrypted where are the keys stored or you enter a passphrase at every boot ?
you probably have to load geli to at the loader prompt and init it
Yep, i enter it each time.

if you have a swap partition next to the efi one probably its better to kill them both and create a larger efi partition and a smaller swap
and put the full efi loader back
I thought partition number 2 was too small and not efi (partition 1)? there's 492k free after freebsd-boot so maybe i could use those for the bigger loader? Or use the guide that Emrion provided here in the Spoiler: https://forums.freebsd.org/threads/update-of-the-bootcodes-for-a-gpt-scheme.80163/
...which i honestly don't quite understand.
 

SirDice

Administrator
Staff member
Administrator
Moderator

Reaction score: 11,564
Messages: 37,880

Use newfs_msdos(8) to format the efi partition. The 200MB should be big enough. As this is from an older 12.x installation it probably copied loader.efifat to it. Which causes it to have a really small formatted space. Once it's been properly formatted to use the whole 200MB space then you can copy the "full" loader.efi to it.

No need to move or remove partitions to make "more" space available. It's already there, just badly formatted.
 

covacat

Well-Known Member

Reaction score: 170
Messages: 365

yes, do what SirDice said. I missed the output of gpart in a previous post.
Alternatively switch to csm boot mode and update freebad-boot content (in reverese order)
 

Emrion

Aspiring Daemon

Reaction score: 208
Messages: 670

Yep, i enter it each time.


I thought partition number 2 was too small and not efi (partition 1)? there's 492k free after freebsd-boot so maybe i could use those for the bigger loader? Or use the guide that Emrion provided here in the Spoiler: https://forums.freebsd.org/threads/update-of-the-bootcodes-for-a-gpt-scheme.80163/
...which i honestly don't quite understand.
It's very simple. You reformat your partition in FAT16, create the directory /efi/boot/ and copy loader.efi inside. That works, I used this trick on several machines.

I think you need the full loader.efi to boot your system. But you can also try to boot in legacy BIOS mode (CSM), it should work.
 
OP
schojo

schojo

New Member

Reaction score: 2
Messages: 16

So, "tomorrow" is basically a month. Anyway, life happened and such.
I just went back to get this thing running again. Tried the reformat for ada0p1, copied loader.efi back after creating the dir and booted from ada0. Voila, was greeted by a "GELI Passphrase:"
Entered it and i am in my system again. Thanks to everybody involved, that worked like a breeze! Will now reformat the other 3 and copy loader.efi there as well so everything is bootable in case of emergency.
 
Top