On 07/11/18 21:58, MLH wrote:
Unfortunately, gpt-on-raid1-on-gpt is not bootable, as opposed to disklabel-on-RAID1-on-disklabel (which has size limitations). The mbr boot code is able to account for disklabel-on-raid1, but not for gpt-on-raid1, see e.g. install/44982.
>
I'm not quite sure I am understanding your nomenclature here.
I don't blame you. Think of it as an onion.You start by putting gpts / disklabels on two empty disks, then create a partition designated as type raid on each. You configure the raid1, which sets up its own header at the beginning of the partition, and then create another ("inner") gpt / disklabel on the resulting raid device.
Now, the MBR boot sector code knows how to parse the outer gpt / disklabel for a partition marked 'bootable', then load and execute its first block (the PBR). The PBR code knows how to recognize a BSD disklabel raid partition and skip the fixed-size raid header[1], which requires a disklabel right at the start of the raid.
But as it is, the PBR code does not know how to find the inner gpt in presence of a raid header. ISTR this was because of variable size of on-disk structures, but my memory is hazy.
Cheerio, hauke[1] see comment at the beginning of <http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/i386/stand/bootxx/pbr.S?rev=1.22&content-type=text/x-cvsweb-markup>, and <http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/i386/stand/bootxx/boot1.c?rev=1.20&content-type=text/x-cvsweb-markup>.
-- The ASCII Ribbon Campaign Hauke Fath () No HTML/RTF in email Institut für Nachrichtentechnik /\ No Word docs in email TU Darmstadt Respect for open standards Ruf +49-6151-16-21344