You are not logged in.

#1 2017-06-30 11:26:20

forty-two
Member
Registered: 2017-06-30
Posts: 21

[SOLVED] Dual booting (UEFI system) with systemd-boot.

So I followed all the instructions given at the Arch Installation Wiki page and everything went fine. However, I'm can't see my Arch system from the Systemd-Boot menu.

Details:- The Systemd-Boot menu shows the following options:
               Windows Boot Manager (<-- Windows installation, which I can currently boot)
               EFI Default Loader (<-- under which 2 options: WinBootMgr and BIOS menu again)
               Firmware Interface (<-- which is the BIOS menu)

When I boot using the LiveUSB stick, I can well mount the Arch partition (ext4) (base installation and tweaks complete after having chrooted) at /mnt
and the EFI partition (the esp) at /mnt/boot.
Directories under /mnt/boot :
|
|-EFI--|
|         |-Boot (A .efi file present)
|         |
|         |-Microsoft (A .efi file and many other things present)
|         |
|         |-systemd (A .efi file present)
|
|-loader--|
              |-entries (Empty directory)
              |
              |-loader.conf (contents of which is: #timeout 3
                                                                     default 1ad65d1cb05646b5b151b6908c985588-* )

I had created the systemd boot (after exiting out of chroot) by using the following command:
> bootctl --path=/mnt/boot install

I guess I have to create some configuration files under /mnt/boot/loader/entries and also copy the 3 files (vmlinuz-linux, initramfs-linux.img, initramfs-linux-fallback.img)
which I have lying about in the /mnt/boot directory (before I mount the EFI partition there) to somewhere like /mnt/boot/EFI/???. Both the Arch-wiki on Dual Booting and the one on
systemd-boot did not clarify how to make the boot menu entries manually.
-------------------------------------------------------------------------------------------------------------------------
SOLUTION: Make the arch.conf file in the esp (as stated in the wiki) as per @V1del reply.
-------------------------------------------------------------------------------------------------------------------------

Last edited by forty-two (2017-09-28 13:53:35)

Offline

#2 2017-06-30 13:33:14

Maniaxx
Member
Registered: 2014-05-14
Posts: 738

Re: [SOLVED] Dual booting (UEFI system) with systemd-boot.

I think the 'efibootmgr' part is missing.


sys2064

Offline

#3 2017-06-30 14:04:18

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,657

Re: [SOLVED] Dual booting (UEFI system) with systemd-boot.

efibootmgr has nothing to do with this

@forty-two
You haven't yet defined an entry for Arch Linux https://wiki.archlinux.org/index.php/Sy … figuration (Don't stop after the basic config snippet, read on to the defining a boot entry paragraph)

And you should've mounted the EFI partition to /mnt/boot before installing the system with pacstrap. You can either copy the vmlinux files you have lying about now to the properly mounted /boot (copy them elsewhere, then mount /boot, then move them there) or reinstall the linux package after an arch-chroot and veryfing that your ESP is correctly mounted on /boot (you don't explicitly need to mount it to /boot/EFI veryfing that it is mounted on /boot and then installing the linux package should correctly place the vmlinuz files)

Last edited by V1del (2017-06-30 14:08:54)

Offline

#4 2017-06-30 15:24:23

Blasphemist
Member
From: Colorado
Registered: 2013-01-17
Posts: 160

Re: [SOLVED] Dual booting (UEFI system) with systemd-boot.

forty-two wrote:

I had created the systemd boot using the following command:
> bootctl --path=/mnt/boot install

When you are still using arch-chroot and using the command above, the path does not include /mnt. Use this, --path=/boot install

In the arch-chroot environment the ESP is seen as being mounted to /boot in your case.


Simple and Open

Offline

#5 2017-07-02 04:03:51

forty-two
Member
Registered: 2017-06-30
Posts: 21

Re: [SOLVED] Dual booting (UEFI system) with systemd-boot.

Blasphemist wrote:
forty-two wrote:

I had created the systemd boot using the following command:
> bootctl --path=/mnt/boot install

When you are still using arch-chroot and using the command above, the path does not include /mnt. Use this, --path=/boot install

In the arch-chroot environment the ESP is seen as being mounted to /boot in your case.

Well, no. I executed the bootctl command after having exited out of chroot. So, that part was correct.

Offline

#6 2017-07-02 04:06:54

forty-two
Member
Registered: 2017-06-30
Posts: 21

Re: [SOLVED] Dual booting (UEFI system) with systemd-boot.

V1del wrote:

efibootmgr has nothing to do with this

@forty-two
You haven't yet defined an entry for Arch Linux https://wiki.archlinux.org/index.php/Sy … figuration (Don't stop after the basic config snippet, read on to the defining a boot entry paragraph)

And you should've mounted the EFI partition to /mnt/boot before installing the system with pacstrap. You can either copy the vmlinux files you have lying about now to the properly mounted /boot (copy them elsewhere, then mount /boot, then move them there) or reinstall the linux package after an arch-chroot and veryfing that your ESP is correctly mounted on /boot (you don't explicitly need to mount it to /boot/EFI veryfing that it is mounted on /boot and then installing the linux package should correctly place the vmlinuz files)

Oh, I got it. So, do I dump the three files at the root of esp/EFI or put them in esp/EFI/Arch ?
Thanks for pointing out that we should mount /boot first and then pacstrap.

I'll post back after I've tried putiing the files in esp/EFI/Arch and made an entry as outlined in the wiki.

Last edited by forty-two (2017-07-02 04:11:53)

Offline

#7 2017-07-02 04:13:05

forty-two
Member
Registered: 2017-06-30
Posts: 21

Re: [SOLVED] Dual booting (UEFI system) with systemd-boot.

Maniaxx wrote:

I think the 'efibootmgr' part is missing.

I suppose that's for GRUB, which does not do automatic os detection without efibootmgr and os-prober.

Offline

#8 2017-07-02 12:26:24

Maniaxx
Member
Registered: 2014-05-14
Posts: 738

Re: [SOLVED] Dual booting (UEFI system) with systemd-boot.

No, its for configuring/validating the efi boot entries in nvram.
https://wiki.gentoo.org/wiki/Efibootmgr

Usually these entries are created by grub-install or bootctl automatically. Just run the binary and check the boot entries manually to see if this stage is ok.

Edit: If it boots to systemd it is ok.

Last edited by Maniaxx (2017-07-02 12:33:30)


sys2064

Offline

#9 2017-07-02 13:20:23

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,657

Re: [SOLVED] Dual booting (UEFI system) with systemd-boot.

Don't put them into an EFI subdirectory, just put them at the root of your /boot (after having it mounted) if you put them into a subdirectory you will have to define the paths in the entries confs specifically.

Offline

#10 2017-07-03 15:39:12

Blasphemist
Member
From: Colorado
Registered: 2013-01-17
Posts: 160

Re: [SOLVED] Dual booting (UEFI system) with systemd-boot.

forty-two wrote:
Blasphemist wrote:
forty-two wrote:

I had created the systemd boot using the following command:
> bootctl --path=/mnt/boot install

When you are still using arch-chroot and using the command above, the path does not include /mnt. Use this, --path=/boot install

In the arch-chroot environment the ESP is seen as being mounted to /boot in your case.

Well, no. I executed the bootctl command after having exited out of chroot. So, that part was correct.

The installation guide clearly describes being in the arch-chroot environment when installing the boot loader. Seems like unnecessary complications not to do that.


Simple and Open

Offline

Board footer

Powered by FluxBB