NetBSD-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: booting from gpt/raid?



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


Home | Main Index | Thread Index | Old Index