Re: rfc: EFI System partition, FAT32, repair and non-persistent mount

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

 



On Thu, Mar 20, 2014 at 9:32 AM, Przemek Klosowski
<przemek.klosowski@xxxxxxxx> wrote:
> On 03/20/2014 01:21 AM, Chris Murphy wrote:
>> You can in theory just have a bunch of RAID-1 (mirrored) ESPs, because
>> of how RAID-1 works; each individual member can also be mounted as if it
>> was just a plain old partition, which is how the firmware will mount it.
>
> This shouldn't be done. It's a source of corruption to treat an md raid1
> device as a plain volume, rather than as a degraded md device. If the plain
> partition volume is modified, its mdadm metadata won't be updated, so when
> the array is finally assembled, mdadm has no idea member devices are not
> sync'd, and also has no way to resolve the ambiguity.
>
> Right, but UEFI doesn't write to it----it just uses them to read the boot
> content. It would be better if UEFI could read software raid1 even if it was
> degraded due to disk failures, but apparently it can't, so Adam's scheme is
> the only possibility.

Um.

EFI_FILE_PROTOCOL's Write method sounds suspiciously like it writes to
a filesystem.

>>
>> Because of this, at least one raid stack kernel maintainer wants to do away
>> with the use of mdadm metadata v 1.0 by anaconda. It's v1.0 metadata that
>> permits this plain old  partition treatment as a side effect.
>
> It is a darn useful side effect. How else can you implement redundant boot
> that is transparently updated? I could (and did) try
> multiple /boot partitions on separate drives by copying the partition
> content after updates, but it was fragile and I was never confident that it
> would work when I needed it. Adam's raid1 /boot just seems more reliable,
> especially if it became a designed feature.
>

I think you may be confusing /boot and ESP (aka /boot/efi).  They are
not the same thing.

You get a transparently updated list of kernels by doing it exactly
the way that Chris suggested.  You have /boot on md raid with metadata
1.1 or 1.2.  Or you have /boot on any other sensible RAID backing
store, where sensible means that everything that mounts it knows that
it's RAID.

Then you stick something *that never changes* into each copy of the
ESP.  And you don't even pretend that ESP is RAID -- it's simply a
bunch of FAT filesystems that *are not mounted read/write* except for
when the bootloader is reinstalled.  And you do *not* reinstall the
bootloader just because you have a new kernel.

All of the RAID devices are only ever accessed by RAID drivers.  All
of the ESP non-RAID filesystems are treated as the crappy FAT
filesystems that they are and are almost never written by Linux
userspace.

--Andy
-- 
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxxx
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct





[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]
  Powered by Linux