You are not logged in.

#1 2015-07-15 21:27:03

Stevearch
Member
From: North Wales
Registered: 2014-04-21
Posts: 80

Question regarding bootctl

Hey guys,

Quick question I hope your can help with.
I've done some digging on the web but can't find a definitive answer.

When installing Arch if you create a directory like this -

 mkdir -p /mnt/boot/efi 

Then mount your EFI partition to: /mnt/boot/efi

 mount /dev/sdxZ /mnt/boot/efi 

Then proceed to this part of the wiki: https://wiki.archlinux.org/index.php/Be … therboards
Now - The wiki states that you should have your config similar to this -
title          Arch Linux
linux          /vmlinuz-linux
initrd         /initramfs-linux.img
options        root=/dev/sdaX rw

My question is - If I've mounted the EFI partition inside of another folder (called efi in this instance) will it be able to find: /vmlinuz-linux & /initramfs-linux.img ?

The reason I ask is because I've tried to get this working many times and It just cannot find the Linux Kernel in my /Boot directory.
I'm assuming that bootctl is trying to look for the Kernel in the /boot/efi directory?

If I use GRUB it works fine by the way.

Sorry if this doesn't make much sense.

Last edited by Stevearch (2015-07-15 21:29:14)

Offline

#2 2015-07-15 21:28:08

Stevearch
Member
From: North Wales
Registered: 2014-04-21
Posts: 80

Re: Question regarding bootctl

If any of you are wondering why I'm opting to mount the EFI partition to a folder inside of /boot It's because I want to retain the ability to symlink in the /boot directory (keeping it as an EXT4 FS) something you cannot do with VFAT.

Last edited by Stevearch (2015-07-15 21:28:40)

Offline

#3 2015-07-15 21:41:37

Head_on_a_Stick
Member
From: London
Registered: 2014-02-20
Posts: 7,732
Website

Re: Question regarding bootctl

From the ArchWiki page you have linked in your OP:

Mounting the EFI partition at /boot is strongly recommended

The Beginner's Guide does not recommended mounting /boot/efi to the ESP.
https://wiki.archlinux.org/index.php/Be … partitions

systemd-boot can only boot kernel images & initial ram disks that are located on the ESP and this will only happen if /boot is mounted to the EFI system partition (not /boot/efi).

There are workarounds:
https://wiki.archlinux.org/index.php/EF … unt_Points

EDIT: To clarify, the paths in the configuration file are relative to the EFI system partition.

If you have mounted /boot/efi to the ESP then "/vmlinuz-linux" will be equivalent to "/boot/efi/vmlinuz-linux"

Last edited by Head_on_a_Stick (2015-07-15 21:46:18)

Offline

#4 2015-07-15 21:45:47

Stevearch
Member
From: North Wales
Registered: 2014-04-21
Posts: 80

Re: Question regarding bootctl

Head_on_a_Stick wrote:

From the ArchWiki page you have linked in your OP:

Mounting the EFI partition at /boot is strongly recommended

The Beginner's Guide does not recommended mounting /boot/efi to the ESP.
https://wiki.archlinux.org/index.php/Be … partitions

systemd-boot can only boot kernel images & initial ram disks that are located on the ESP and this will only happen if /boot is mounted to the EFI system partition (not /boot/efi).

There are workarounds:
https://wiki.archlinux.org/index.php/EF … unt_Points

Thank you for clearing that up smile

I pretty much gathered this was the case but just wanted to make sure.

I assume (because it works flawlessly anyway) that I don't need to bother copying Kernels over when using GRUB for UEFI boot?

EDIT: Just seen your edit, thank you for a clear and fast response. This community really is the best for help.

Last edited by Stevearch (2015-07-15 21:47:57)

Offline

#5 2015-07-15 21:50:14

Head_on_a_Stick
Member
From: London
Registered: 2014-02-20
Posts: 7,732
Website

Re: Question regarding bootctl

Stevearch wrote:

I don't need to bother copying Kernels over when using GRUB for UEFI boot?

No, in the case of GRUB the binary is located at /boot/efi/EFI/grubx64.efi (I think) and this is capable of loading a kernel image outside the ESP.

This is the difference between a bootloader (such as GRUB) and a bootmanager (such as systemd-boot) -- bootmanagers rely on the kernel's ability to boot itself (CONFIG_EFI_STUB) and so the kernel must be on the ESP; bootloaders do the "grunt work" of booting themselves and the bootloader binary must be on the ESP but the kernel image can be elsewhere.

Last edited by Head_on_a_Stick (2015-07-15 21:50:56)

Offline

Board footer

Powered by FluxBB