Re: F29 System Wide Change: Make BootLoaderSpec the default

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

 



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.

> 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. 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. Note that ESP and $BOOT have the same semantics,
life-cycles and requirements, hence they should really be the same if
possible, and only be split if they can't.

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.

That said, it's of course up to Fedora to implement the spec in
Fedora. If it always wants to split the two partitions, by all means,
go for it, but I think it's needless complication except if you
actually dual boot with Windows.

> Windows, macOS, the various distros - they all have substantial
> differences in how they boot. But the one commonality I most
> consistently see? The bootloader teaches the pre-boot environment,
> right off the bat, how to read a real file system, and from that real
> file system the kernel and initramfs are loaded.

MacOS has native apple file system read support in their firmware,
they rely on the firmware to read the stuff they need directly from
the final disk. We don't have that luxury.

The good thing about using VFAT for $BOOT is that it is the common
ground pretty much everything involved in booting groks, if they grok
a file system at all. UEFI knows it, and so does the Raspberry Pi boot
protocol. The Linux initrd knows it and so does the Linux host OS,
Windows knows it. MacOS knows it. Grub knows it.

Lennart

-- 
Lennart Poettering, Red Hat
_______________________________________________
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/NBA5TJT5PKLLIJJYVJSMKWAB2P4D4SZO/




[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