[syslinux] Linux software RAID 1.2 superblocks

H. Peter Anvin hpa at zytor.com
Sat Jun 12 12:17:56 PDT 2010


On 06/12/2010 01:30 AM, Ferenc Wagner wrote:
>>
>> Thought some more about it today, and the main trick is to make it
>> user-friendly which means adding support to the installer.
> 
> Agreed.
> 
>> I'm touching some of that code already, and I might have time to
>> implement it over the weekend.
> 
> That sounds great.  As part of the problem is finding the real partition
> offset, some of this code might be reused to support booting from an LVM
> logical volume (at least if it's a single linear map).  I even *think*
> that the LVM metadata is not placed at the very beginning of the PV,
> which would make booting from an entire disk PV theoretically possible.
> And yes, I'd use this, especially in virtual setups.
> 
> Now, of course I don't say you should try implementing all this over the
> weekend, just consider them as possible further directions and leave the
> necessary "hooks" around to make future advances easier.  :)

Actually, I have had a fairly detailed discussion with Alistair about
LVM support, and yes, LVM support seems perfectly reasonable, but that's
a bigger job.

The one thing I'm still mulling over how to handle is how to deal with
partitioned mdraids with 1.2 superblock (0.9/1.0 mdraid superblocks are
unaffected, and 1.1 superblocks are simply unbootable).  You can't boot
a stock MBR on the mdraid volume (at least without installing an INT 13h
shim, which is possible but messy) since an MBR generally doesn't expect
a nonzero disk offset, unlike a Volume Boot Record (VBR), which the
Syslinux boot sector is normally installed as.

The easiest option is to install the Syslinux boot sector in the boot
sector of the mdraid members, and make Syslinux handle the offsetting
internally.  It would, however, mean that active bits on the partition
table inside the mdraid would not be honored.

A more complex variant would be to write a special mdraid bootstrap code
which would take the place of the MBR, and walk the partition table
inside the mdraid.  That'd be a fair bit more complex, however.

Thoughts?

	-hpa

-- 
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel.  I don't speak on their behalf.




More information about the Syslinux mailing list