Re: F29 System Wide Change: Make BootLoaderSpec the default

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

 



On Wed, Jun 20, 2018 at 8:35 AM, Lennart Poettering
<mzerqung@xxxxxxxxxxx> wrote:
> On Di, 19.06.18 11:17, Chris Murphy (lists@xxxxxxxxxxxxxxxxx) wrote:
>
>> > Today, systemd has this generator that will automatically find the ESP
>> > for you and mount it to /efi or /boot. The idea behind that is that
>> > installers can choose whether they want to merge $BOOT and the ESP or
>> > not:
>> >
>> > 1. If they are merged, then the ESP (and thus also $BOOT) is mounted
>> >    to /boot, automatically by the generator. No other preparation is
>> >    needed, and /efi does not exist. (Distros could even make /efi a
>> >    symlink → /boot, but I personally wouldn't bother).
>> >
>> > 2. If they are not merged, then the ESP is mounted to /efi,
>> >    automatically by the generator. And /boot would be mounted as $BOOT
>> >    via an /etc/fstab entry added by the installer.
>> >
>> > And as mentioned, I'd generally recommend everybody to go for option
>> > #1 because it is a lot simpler, and EFI has trivial access to all
>> > kernels and such.
>>
>> Except, it's not simple for installers to migrate to a new bigger ESP
>> in the dual boot case. And having different layouts for UEFI and BIOS
>> and whether there's dual boot or single boot, isn't simpler.
>
> Again, if you don't want to resize the ESP, then go for option #2
> above. But if the ESP is usable, then go for option #1.

In 100% of the cases where the ESP already exists, it is too small to
share. No one. Not Apple, not Microsoft, not Windows OEMs, not Fedora,
not any distro, creates an ESP bigger than 550MB. Typical is 99MB for
the Microsoft installer (I have a laptop partitioned by Microsoft's
install, not an OEM installer, and it's 99MB), and 128MB for Apple,
and 200MB for Linux distros. None of these are big enough to share.

And the ESP partition is wedged in, again in 100% of cases. It can't
be resized in place.

Therefore, Option #2 will be extremely common. What percent of Fedora
users dual boot? I have no empirical data. I'd guess 1/2.

And in my opinion, it's not simple to say: OK if you have this size
ESP to start, you get this layout, and if it's bigger you get this
other layout, and if it's BIOS you have this 3rd layout. And now we
have to document all of this, and train the installer, and openqa, and
all the people who help others out with their problems on #fedora and
Ask Fedora and users@. I understand it, and I think it's a clusterfuck
of complication. I can only imagine the end user confusion, people who
actually just want to get shit done.

It is possible to just ignore the ESP by treating it pretty much the
same as the MBR gap and BIOS Boot. And have one layout for all three
cases. That's simple.

>
>> If $BOOT is defined as where non-static bootloader config + kernel +
>> initramfs goes, and if shared $BOOT is a good thing for Linux distros,
>> then the $BOOT to always create is type 0xEA / bc13c2ff... and not
>> conflate it with the location for the bootloader binaries: the ESP on
>> UEFI, and either MBR gap or BIOSBoot on BIOS.
>
> Well, I am pretty sure legacy-free systems should not be bothered by
> having two partitions for that. That just complicates stuff.

No, it really doesn't. The *standard* Fedora installation today
already has two partitions for that, ESP and /boot.

You have to decide which is more important. Broad adoption, which will
require equal doses of compromise and simplicity. Or narrow adoption.
The BLS, as it is today, is barely even narrowly adopted, let alone
broadly adopted. And in my opinion it's because it's neither simple,
nor does it compromise.

And as Fedora is right now looking to implement BLS, what did they
actually do? Adopt the BLS file format and drop in concept, and
abandon the other 90% of the spec by punting.

I'll tell you what. Maybe consider a general purpose layout and a
simplified layout. The typical layout represents a compromise no
matter the firmware, and no matter what OS is already present - your
option 2. This would be used for workstations, and any case where dual
or multiboot is expected. And for things like Fedora VM images, IoT,
possibly server, possibly ARM - where the sharing aspect of $BOOT is
not expected or a consideration, go with the simplified layout - your
option 1.

*shrug*

>I mean,
> adding some minimal kludges to support Windows-cross-boot is fine, but
> adjusting everything with that case in the center of everything is
> quite wrong.

It isn't just Windows. It's macOS. It's all other Linux distros.


> Also note that we put together the boot loader spec with systemd-boot
> as our implementation of it, as a reference implementation if you so
> will. systemd-boot is a very simple, straight-forward boot loader,
> that adds a few things missing in UEFI itself, and doesn't contain
> code for parsing partition tables or file systems, for searching for
> devices and so on, like grub does. It implements the spec, but
> explicitly doesn't support splitting $BOOT and the ESP. I am pretty
> sure we as the spec authors should keep our implementation and the
> spec aligned.

It has the appearance of setting the spec to a bootloader, rather than
setting the spec to solve broad problems, get broad support, and have
a shared $BOOT among the distros. As it is right now, it ignores
enough relevant use cases, that it can't go anywhere it already isn't
being used. As it is right now, it will never grow its market
acceptance.

And you can certainly have one spec, that has two use cases: general,
and simple. And the systemd-boot can be the reference implementation
for the simple use case portion of that spec. And the general purpose
portion *might* have enough merit with shared $BOOT to get the
interest of the distros. But maybe they don't care about that, so far
they all seem to treat stomping on prior Linux distros as a
competitive sport.



-- 
Chris Murphy
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx/message/PWDV27SSQUXOSI5DHSGV4UOLB2FN2J4U/




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [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