k...@munnari.oz.au (Robert Elz) writes: > Date: Tue, 8 Jul 2025 21:03:45 -0000 (UTC) > From: mlel...@serpens.de (Michael van Elst) > Message-ID: <104k13h$k7p$1...@serpens.de>
> | % strings /usr/mdec/bootxx_ffsv2 |grep -i slice > | no slice >Hmm .. I did a recursive grep on src/sys and didn't find that, but >I was probably looking for SLICE (upper case) which is what the >reported message was. That's bizarre, why would be use "slice" there? > | bootxx_ffsv2 looks for a MBR with a NetBSD partition (type 169), > | it will only look for a GPT if it gets started with $GPT_MAGIC > | in %eax (from a hybrid MBR). >That's horrid, and needs fixing, it should be possible to boot from >GPT if the MBR is a PMBR as well. I don't know x86 assembler well >enough to fix that, but it looks as if checking for the PMBR magic >in the same sequence that the checks for various FAT types (if that >is being compiled in), and the NetBSD MBR type, should allow it to >work, if there's enough space to shovel in whatever else is needed. "Enough space" in the PBR is probably the problem here. Another might be the following magic: boot_gpt: /* DS:SI has a pointer to the hybrid MBR handover structure */ movl (GPT_ENTRY_OFF+GPT_ENT_LBA_OFF+0)(%si), %ebp movl (GPT_ENTRY_OFF+GPT_ENT_LBA_OFF+4)(%si), %edi That probably doesn't exist. If I understand grub, it's also passing a 0 value in %si in this case, which only comes out if it had loaded the relevant GPT entry into the beginning of the data segment.