Got it: while "roaming", the soft RAID partition metadata appears to have been 
overwritten.
Specifically, BIOC_SCBOOTABLE is unset, as shown in /softraid_amd64.c in 
srprobe():
                if (bv->sbv_state != BIOC_SVOFFLINE)
                        printf(" sr%d%s", bv->sbv_unit,
                            bv->sbv_flags & BIOC_SCBOOTABLE ? "*" : "");
which appears to be called from efiboot.c.

When I boot, offered are:

disk: hd0 hd1 sr0* sr1

meaning that sr1 has lost the bootable flag.

Now: how do i set this flag on that RAID partition on the external disk? 
Bioctl is not able to set it.
Any ideas?

On 26-10-08.15:11, 山卡洛 wrote:
> I installed OpenBSD on an external drive with FDE and password (not
> keydisk). The use case is to check if a new notebook is supported (it is
> not).
> 
> After trying to boot on that new notebook, the external drive doesn't boot
> anymore. The encrypted partition is not recognized by the boot loader: it
> doesn't ask for a password. Yet, I can decrypt and mount that disk from my
> regular OpenBSD with no problems.
> 
> I can force the boot loader to open the encrypted drive by booting
> sr1a:/bsd. The kernel boots and fails to find a root partition. I tried to
> make it ask for the root partition (boot sr1a:/bsd -a), but it doesn't see
> it: it only offers sd0 (the encrypted NVME) and sd1 (the encrypted SSD).
> 
> I also tried to run installboot from my regular system against the opened
> and mounted SSD: didn't change anything. Any ideas what went wrong?
> 
> The information from bioctl -v and disklabel -h doesnt help: everything
> looks good.
> 
> Thank you.

Reply via email to