public inbox for gentoo-user@lists.gentoo.org
 help / color / mirror / Atom feed
From: Michael <confabulate@kintzios.com>
To: gentoo-user@lists.gentoo.org
Subject: Re: [gentoo-user] Dual booting with Windows 10
Date: Thu, 27 May 2021 12:01:27 +0100	[thread overview]
Message-ID: <2032349.OBFZWjSADL@lenovo.localdomain> (raw)
In-Reply-To: <4623607.GXAFRqVoOG@wstn>

[-- Attachment #1: Type: text/plain, Size: 5354 bytes --]

On Thursday, 27 May 2021 09:22:33 BST Peter Humphrey wrote:
> On Wednesday, 26 May 2021 14:49:01 BST Michael wrote:
> > On Tuesday, 25 May 2021 16:23:01 BST Peter Humphrey wrote:
> > > Thanks for the offer, Michael, but let me clear a few things up first.
> > > 
> > > 1.  I don't use symlinks in /boot.
> > 
> > This allows a simpler single boot partition (ESP) & filesystem set up
> > (VFAT).
> 
> How do symlinks work on a FAT32 partition?

They don't.  Hence binary Linux distributions' boot files are typically spread 
over two partitions, ESP and /.  Distributions which deploy symlinks of 
vmlinuz, vmlinuz.old and initrd.gz, initrd.gz.old, plus all the kernel files 
they point to, have these stored on the OS / partition under /boot/.  The OS / 
partition is invariably formatted with a filesystem which supports symlinks, 
e.g. ext4.

The 3rd party boot manager's efi image is stored instead on the ESP, in a 
subdirectory under mountpoint /boot/efi.

When a distribution's kernel update/install scripts are run, the latest kernel 
images are copied to /boot/ and the vmlinuz and initrd.gz symlinks are 
replaced accordingly.

The boot manager's efi image under /boot/efi does not change, unless it has a 
new version installed.


> --->8
> 
> > > I followed the installation handbook, boot-loader section, to create a
> > > UEFI
> > > boot entry. I followed the syntax precisely, with several variations at
> > > various attempts. In every case, the UEFI BIOS listed the new entry but
> > > couldn't execute it.
> > 
> > This should work to launch your systemd-boot:
> > 
> > efibootmgr --create --disk /dev/nvme0n1 --part 1 --label "systemd-boot" --
> > loader "\EFI\Boot\bootx64.efi"
> 
> It didn't, but ...

Hmm ... if neither "\EFI\systemd\systemd-bootx64.efi", nor the fallback image 
"\EFI\Boot\bootx64.efi" allowed you to boot Gentoo, then I suspect this was 
because something was amiss with the systemd-boot configuration.  The UEFI 
firmware would be able to load and run either of the above files (one is a 
copy of the other).  Thereafter, it would be up to the systemd-boot image to 
manage the boot process and load whatever you had pointed it to and it had 
managed to find.

Of course, this assumes the systemd-boot entry was above the Microsoft boot 
manager entry in the UEFI boot menu list.  Running 'efibootmgr' or going into 
the UEFI menu at start up would confirm the list order as far as the MoBo 
firmware is concerned.


> > This would also work, if vmlinuz-5.10.27-gentoo, config-5.10.27-gentoo,
> > and
> > System.map-5.10.27-gentoo are stored on the ESP under the EFI/ directory,
> 
> > e.g. in EFI/Linux/, to launch your current kernel directly:
> 
> That's the point I was missing - where those three files live. I had them at
> the root of the FS, as implied by the installation wiki.

Right, the installation handbook is trying to cover all bases and the 
permutations of partition table types, partitions, fs formats and mountpoints 
are large.

The idea of using vmlinuz symlinks at the root of /boot is to simplify/script 
the installation of a new kernel.  The boot manager just needs to be 
configured to boot vmlinuz and vmlinuz old and this does not change.  What 
does change is the kernel image these symlinks point to.  Keeping kernel 
images on the OS / partition means the ESP itself can be quite small too, 
since only the boot manager efi image and a fallback image need to be stored 
on it.

The systemd-boot specification expects devs to drop their kernels within a 
suitably named subdirectory within the EFI directory, which is why systemd-
boot is averse to a small size ESP.


> --->8
> 
> > 2. Use some other better suited 3rd party boot manager (not systemd-boot).
> > The principle is broadly the same as your present setup.  Each boot
> > manager
> > has its own idiosyncrasies and commands of choice.  GRUB is quite
> > automated, although you can overwrite its grub.conf menu and decline
> > using
> > update-grub, or grub-mkconfig to generate it.  Then again, why would you
> > select such a heavily automated and complicated piece of software, only to
> > bypass the very functionality its devs wanted to offer?   Contrastingly,
> > syslinux is very simple and lightweight, but you have to manually
> > configure
> > its also very simple boot menu.
> 
> I don't want to start on about grub. I washed my hands of it a few years
> ago, after struggling to set it up to offer a choice including a kernel
> with three run-level options: default, no X and no network.

Heh! I've always felt GRUB2, as opposed to GRUB-legacy, was trying to solve a 
problem I never had.  ;-)

That said, GRUB2 offers minimal hassle when used with vanilla configurations.


> > PS.  The UEFI firmware will scan more than a single VFAT partition marked
> > as ESP type, but as far as I know this will only work if the ESP is on
> > the first disk - I haven't tried it.
> 
> That may be Wol's answer.
> 
> Thanks again for all the work you've put into this, Michael.

You're welcome.  :-)

I found choosing a tool which is a best fit for the user requirements is 
usually easier than trying to bend a less suitable tool to do what you desire.  
If a boot menu at *each* start up is a must, have you given syslinux any 
consideration?  It is simpler to configure and probably more flexible than 
systemd-boot.

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  reply	other threads:[~2021-05-27 11:01 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-21 14:42 [gentoo-user] Dual booting with Windows 10 peter
2021-05-21 19:06 ` Michael
2021-05-24 13:11   ` Peter Humphrey
2021-05-24 15:14     ` Michael
2021-05-25 15:23       ` Peter Humphrey
2021-05-25 16:43         ` antlists
2021-05-25 19:02           ` Peter Humphrey
2021-05-26  4:02             ` Wols Lists
2021-05-27 15:02             ` Sid Spry
2021-05-26 13:49         ` Michael
2021-05-27  8:22           ` Peter Humphrey
2021-05-27 11:01             ` Michael [this message]
2021-05-27 11:38               ` Peter Humphrey
  -- strict thread matches above, loose matches on Subject: below --
2017-09-13 22:12 Peter Humphrey
2017-09-14  4:09 ` R0b0t1
2017-09-14  4:36   ` Sam Jorna
2017-09-14  4:43     ` R0b0t1
2017-09-14  5:01       ` Sam Jorna
2017-09-14  8:20   ` Peter Humphrey
2017-09-14 18:51     ` R0b0t1
2017-09-17 14:12       ` Peter Humphrey
2017-09-18  4:17         ` R0b0t1
2017-09-18  7:53           ` Peter Humphrey
2017-09-18 10:52             ` Mick
2017-09-18 11:09               ` Peter Humphrey
2017-09-18 11:17                 ` Mick
2017-09-18 13:06                   ` Peter Humphrey
2017-09-19  4:15             ` R0b0t1
2017-09-19 11:07               ` Peter Humphrey
2017-09-15  1:16 ` Taiidan
2017-09-15  4:04   ` R0b0t1
2017-09-15  9:03     ` Radoje Stojisic
2017-09-16  3:25       ` R0b0t1
2017-09-16  8:46       ` Taiidan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2032349.OBFZWjSADL@lenovo.localdomain \
    --to=confabulate@kintzios.com \
    --cc=gentoo-user@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox