You are not logged in.

#1 2023-07-02 19:37:19

funkaddict
Member
Registered: 2018-08-13
Posts: 106

[SOLVED] Installation of systemd-boot

Hi there,

I have a Dell Latitude 9410 with:

/dev/nvme0n1p1 -> 1G (boot)
/dev/nvme0n1p2 -> 475G (Volume, encrypted)

In the encrypted nvme0n1p2 I have already installed arch as explained in the wiki.

I have booted from a live-usb stick, chrooted into the installed arch in /nvme0n1p2.

nvem0n1p1 is formated as F32 and mounted at /boot.

Still I fail to install systemd-boot:

bootctl install
Couldn't find EFI system partition...

When I try to manually give the path, it says:

bootctl install --esp-path=/mnt/boot
File system "mnt/boot" is not a FAT EFI SYstem Partition (ESP) file system.

I wonder why, I did format nvme0n1p1 as F32 before.

Would be thankful for any advice.

Cheers

Last edited by funkaddict (2023-07-05 11:52:08)

Offline

#2 2023-07-02 21:20:40

jonno2002
Member
Registered: 2016-11-21
Posts: 684

Re: [SOLVED] Installation of systemd-boot

first you say ESP is mounted to /boot then you manually tell bootctl that its mounted to /mnt/boot.... which is it ? have you even mounted the ESP ? where was the ESP mounted during the install process ?

Offline

#3 2023-07-04 13:54:05

funkaddict
Member
Registered: 2018-08-13
Posts: 106

Re: [SOLVED] Installation of systemd-boot

Hey thank you,

I found the issue. When creating the partitions, using fdisk, I did not specify the respective partition /dev/nvme0n1p1/ as EFI. After correcting this, I was able to install systemd-boot.
However, I ran into another issue, when configuring systemd-boot.

When starting the machine it reads

Error preparing initrd not found

I have

cryptsetup open /dev/nvme0n1p2 crypted
mount /dev/mapper/crypted /mnt
mount /dev/nvme0n1p1 /mnt/boot/

Then after chrooting into the new Arch installation:

arch-chroot /mnt

I configured:  /boot/loader/loader.conf

#timeout 3
#console-mode keep
default arch.conf
timeout 0

and
/boot/loader/entries/arch.conf

title     Arch Linux
linux   /vmlinuz-linux
initrd   /intel-ucode.img
initrd   /initramfs-linux.img
options cryptdevice=UUID=ab649bef-...-cca:crypted root=/dev/mapper/crypted quiet rw

the UUID of the crypted device (/dev/nvme0n1p2) was found by blkid while being chrooted into the new Arch installation.

I am not sure now, where is my wrong turn.

Last edited by funkaddict (2023-07-04 20:51:33)

Offline

#4 2023-07-04 15:46:06

3beb6e7c46a615a
Member
Registered: 2021-03-27
Posts: 165

Re: [SOLVED] Installation of systemd-boot

The error says that systemd-boot failed to find either of the initrds specified in the loader entry; that's way before the kernel gets loaded and tries to decrypt your partition.

So the obvious question is: Do both of these initrd files exist on your EFI system partition?

Did you perhaps forget to run mkinitcpio during installation? Or accidentally ran it before mounting the system partition to /mnt/boot?

Offline

#5 2023-07-04 20:50:58

funkaddict
Member
Registered: 2018-08-13
Posts: 106

Re: [SOLVED] Installation of systemd-boot

Thank you. I checked the respective folder and found that

intel-ucode.img

was not there. Obviously I forgot to install the respective package. So for testing I deleted the respective line in /boot/loader/entries/arch.conf
When now powering up the system it takes some seconds but then shows following:

[TIME] Timed out waiting for device /dev/mapper/crypted
[DEPEND] Dependency failed for Initrd Root Device.
[DEPEND] Dependency failed for /sysroot.
[DEPEND] Dependency failed for Initrd Root File System.
[DEPEND] Dependency failed for Mountpoints Configured in the Real Root.

So it seems that I made another mistake. I checked the fstab and it looks legit to me. There is the UUID of the boot partition and the UUID of the decrypted root directory listed.
To me this sounds as there is an error in the /boot/loader/entries/arch.conf
I checked it again but cannot find an error here, besides the missing u-code which I have removed temporarily:

title     Arch Linux
linux   /vmlinuz-linux
initrd   /initramfs-linux.img
options cryptdevice=UUID=ab649bef-...-cca:crypted root=/dev/mapper/crypted quiet rw

I regenerated

mkinitcpio -p linux

Here an error was shown:

Warning: No fsck helpers found,. fsck will not be run on boot.
...
Warning: errors were encountered during the build. The image may not be complete

I am not sure, but I understood that this is not critical for now.

Offline

#6 2023-07-04 21:49:02

jonno2002
Member
Registered: 2016-11-21
Posts: 684

Re: [SOLVED] Installation of systemd-boot

[TIME] Timed out waiting for device /dev/mapper/crypted

theres your problem, it cant find your cryptdevice, is the uuid correct ? it should be the uuid for "/dev/nvme0n1p2" NOT the uuid for "/dev/mapper/crypted"

EDIT: also do you have the "encrypt" hook in your mkinitcpio.conf.... refer to this step in the wiki:
https://wiki.archlinux.org/title/Dm-cry … mkinitcpio

Last edited by jonno2002 (2023-07-04 21:55:40)

Offline

#7 2023-07-05 07:01:36

funkaddict
Member
Registered: 2018-08-13
Posts: 106

Re: [SOLVED] Installation of systemd-boot

jonno2002 wrote:

theres your problem, it cant find your cryptdevice, is the uuid correct ? it should be the uuid for "/dev/nvme0n1p2" NOT the uuid for "/dev/mapper/crypted"

Indeed. I used the uuid for "/dev/nvme0n1p2" not for "/dev/mapper/crypted"

blkid
/dev/nvme0n1p1: UUID="AA04-CED4" BLOCK_SIZE="4096 TYPE="vfat" PARTUIUID="da234989-4e40-437f-a084-05d813e87c14"
/dev/nvme0n1p2: UUID="ad649bef-9bb5-4f89-a5a6-d84a878a5cca" TYPE="crypto_LUKS" PARTUUID="b74e20e6-469e-4ff7-8ef9-63a902c87a8b"
/dev/loop0: BLOCK_SIZE="1048576" TYPE="squashfs"
/dev/mapper/crypted: UUID="e8c91664-ffe9-4076-b8a1-98126d5e13d" UUID_SUB="fd8de1f9-1eb7-40dc-a062-3b8572b64996" BLOCK_SIZE="4096" TYPE="btrfs"
.
.
.

Respectively the /boot/loaders/entries/arch.conf contains the uuid for "/dev/nvme0n1p2":

title Arch Linux
linux /vmlinuz-linux
initrd /initramfs-linux.img
options cryptdevice=UUID=ad649bef-9bb5-4f89-a5a6-d84a878a5cca:crypted root=/dev/mapper/crypted quiet rw
jonno2002 wrote:

EDIT: also do you have the "encrypt" hook in your mkinitcpio.conf.... refer to this step in the wiki:
https://wiki.archlinux.org/title/Dm-cry … mkinitcpio

My mkinitcpio.conf has the following hooks:

base systemd autodetect modconf kms keyboard sd-vconsole block sd-encrypt lvm2 filesystems fsck

Offline

#8 2023-07-05 08:02:16

jonno2002
Member
Registered: 2016-11-21
Posts: 684

Re: [SOLVED] Installation of systemd-boot

i see your using a systemd based initramfs, i have no experience with this as i use a busybox initramfs but according to the wiki here:
https://wiki.archlinux.org/title/Dm-cry … -generator
instead of

cryptdevice=UUID=ad649bef-9bb5-4f89-a5a6-d84a878a5cca:crypted

you need

rd.luks.name=ad649bef-9bb5-4f89-a5a6-d84a878a5cca=crypted

try it anyway, cant hurt

Last edited by jonno2002 (2023-07-05 08:04:58)

Offline

#9 2023-07-05 11:46:49

funkaddict
Member
Registered: 2018-08-13
Posts: 106

Re: [SOLVED] Installation of systemd-boot

jonno2002 wrote:

i see your using a systemd based initramfs, i have no experience with this as i use a busybox initramfs but according to the wiki here:
https://wiki.archlinux.org/title/Dm-cry … -generator
instead of

cryptdevice=UUID=ad649bef-9bb5-4f89-a5a6-d84a878a5cca:crypted

you need

rd.luks.name=ad649bef-9bb5-4f89-a5a6-d84a878a5cca=crypted

try it anyway, cant hurt

Thank you for the hint. I was reading again through the respective WIKI article and also this  thread  in the forum helped me.
I decided to use busybox over systemd-boot. This does not really solve the problem but, I can decrypt the encrypted volume and boot the OS now. I think I will skip the systemd- based initramfs for now until I have a better understanding what exactly I am dealing with.



Thank you!

Offline

Board footer

Powered by FluxBB