On Wed, 29 May 2019 21:41:13 -0600
Chris Murphy <lists(a)colorremedies.com> wrote:
Thanks for the detailed response. That's complicated, and I've saved it
for future reference; I'll need to let it settle for a while before
reading it again.
No symlinks on FAT.
As complicated as it seems, the way forward for two or more Fedora's
is a separate boot volume that's shared among them. And remove the
automount of the EFI system partition on the older distro versions.
GRUB + blscfg.mod will see /boot/loader/entries contains a bunch of
*conf files, one per each distro specific kernel installed.
OK I just realized a problem. There is only one grubenv and it will
define the root file system as a variable that all of the *conf files
will pick up and set as a boot parameter.
Option 1: It is possible to change 'options $kernelopts ' by removing
$kernelopts and explicitly list the boot parameters you want including
a different root.
Option 2: It is possible to have two, maybe three, different variables
for kernel options in the grubenv, each with a different root; and
then just edit the older *conf files to use the proper variable, .e.g.
$kernelopts30 or $kernelopts31
Option 3: It is possible to have more than one 'options' key in each
*conf file and they are combined
So an fc30 conf file:
...
options $kernelopts
options root=/dev/mapper/fedora-root30
And fc31 conf file
...
options $kernelopts
options root=/dev/mapper/fedora-root31
That would cause both fc30 and fc31 to boot with the same kernel
options in common except for the root which is explicitly set in the
*conf file. I haven't tested how the *conf files are created however;
I don't know if they are copied, which would preserve the custom
defined root, appropriate for that distro version. So this needs
testing and a write up if it works.
Would a simple alternative be to install the UEFI Fedora versions on
different disks? Each would have their own /boot/efi so they wouldn't
step on each other. And just selecting a different disk to boot would
select the different version of Fedora on that disk. No solution to
the general problem, but an easy implementation if there is more than
one disk.
The installer has a rather explicit bootloader related error message
if a /boot/efi mount point is not defined on a computer with UEFI
firmware presented. A common test@ axiom is: don't tell us it didn't
work or that it failed. Tell us exactly in detail what did happen.
i.e. a screenshot or cell photo of the point of failure, and likely
also logs.
I deleted the mbr partition with gdisk, and retyped all the existing
linux partitions to linux filesystem (8300), and the install then
succeeded, and seems to be UEFI, though it failed to boot, which I am
still investigating. There are BLS entries in /boot/loader/entries.
# fdisk -l /dev/sda
Device Start End Sectors Size Type
/dev/sda1 2097152 4194303 2097152 1G Linux filesystem
/dev/sda2 4194304 6291455 2097152 1G Linux filesystem
/dev/sda3 6291456 48234495 41943040 20G Linux swap
/dev/sda4 48234496 572522495 524288000 250G Linux filesystem
/dev/sda5 572522496 1096810495 524288000 250G Linux filesystem
/dev/sda6 1096810496 5860532223 4763721728 2.2T Linux filesystem
/dev/sda8 6144 2097151 2091008 1021M EFI System