Unix & Linux Stack Exchange
Q&A for users of Linux, FreeBSD and other Unix-like operating systems
Latest Questions
6
votes
1
answers
5172
views
Triple boot with systemd-boot: How to boot Windows 10 and 11 directly without Windows boot manager?
I recently installed Windows 11 on my home PC in addition to Arch Linux but my wife isn't ready to switch until after her exams, so we keep Windows 10 around for now, leading to a very convoluted booting situation: 1. On boot, systemd boot manager will wait for 3 seconds with a default of Windows 10...
I recently installed Windows 11 on my home PC in addition to Arch Linux but my wife isn't ready to switch until after her exams, so we keep Windows 10 around for now, leading to a very convoluted booting situation:
1. On boot, systemd boot manager will wait for 3 seconds with a default of Windows 10 if nothing is chosen manually. When choosing Arch Linux, everything is fine and it will boot that, however when choosing Windows:
2. It will boot Windows 11 and only then show the Windows boot manager, which will show Windows 10 and 11 but not Arch Linux (else this could be used directly) and wait 30 seconds and will boot whatever is booted last. If this Windows 11 is chosen, it will start it, however if Windows 10 is chosen:
3. It will restart again, showing systemd boot manager again. Now if one chooses Windows 10, it will finally start it.
My goal is to just have the following 3 entries in my systemd-boot menu, how can I achieve that?
1. Arch Linux
2. Windows 10 (default)
3. Windows 11
And chosing either Windows option should boot that directly. I looked around in the
/boot/efi/Microsoft/Boot
folder but the only .efi
files are bootmgfw.efi
and bootmgr.efi
.
## $ bootctl list
Boot Loader Entries:
title: Arch Linux
id: arch.conf
source: /boot/loader/entries/arch.conf
linux: /vmlinuz-linux-ck-skylake
initrd: /intel-ucode.img
/initramfs-linux-ck-skylake.img
options: root=/dev/nvme0n1p5 rw nvidia-drm.modeset=1 systemd.unified_cgroup_hierarchy=false
title: MemTest86
id: memtest86-efi.conf
source: /boot/loader/entries/memtest86-efi.conf
title: Windows 10 (default)
id: windows.conf
source: /boot/loader/entries/windows.conf
title: Windows Boot Manager
id: auto-windows
source: /sys/firmware/efi/efivars/LoaderEntries-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f
title: Reboot Into Firmware Interface
id: auto-reboot-to-firmware-setup
source: /sys/firmware/efi/efivars/LoaderEntries-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f
## /boot/loader/loader.conf
timeout 3
console-mode max
default windows.conf
## /boot/loader/entries/windows.conf
title Windows 10
efi /EFI/Microsoft/Boot/bootmgfw.efi
Konrad Höffner
(1028 rep)
Jan 30, 2022, 09:31 AM
• Last activity: Jun 4, 2025, 11:08 PM
1
votes
1
answers
2946
views
EFI Boot list and EFI Boot Manager timeout setting not working
How can I change the 'timeout' setting of the EFI boot manager? I am trying to dual-boot Windows 8 and Ubuntu and I would like to be able to choose one or the other OS at my machine boot time. I already tried to use `sudo efibootmgr -t 10` from within Ubuntu, but that didn't work for me as I don't s...
How can I change the 'timeout' setting of the EFI boot manager? I am trying to dual-boot Windows 8 and Ubuntu and I would like to be able to choose one or the other OS at my machine boot time.
I already tried to use
sudo efibootmgr -t 10
from within Ubuntu, but that didn't work for me as I don't see a list to choose from when my computer loads but boots directly to grub
.
Here are more details:
$ efibootmgr -v
BootCurrent: 0000
Timeout: 10 seconds
BootOrder: 0000,0002
Boot0000* debian HD(13,GPT,007a058a-8e5e-45df-8d97-6575b66b5355,0x1afa9000,0x113000)/File(\EFI\debian\grubx64.efi)
Boot0002* Windows Boot Manager HD(13,GPT,007a058a-8e5e-45df-8d97-6575b66b5355,0x1afa9000,0x113000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}....................
$ bootctl status
systemd-boot not installed in ESP.
System:
Firmware: n/a (n/a)
Secure Boot: disabled
Setup Mode: user
Current Boot Loader:
Product: n/a
Features: - Boot counting
- Menu timeout control
- One-shot menu timeout control
- Default entry control
- One-shot entry control
- Support for XBOOTLDR partition
- Support for passing random seed to OS
- Boot loader sets ESP partition information
ESP: n/a
File: `-n/a
Random Seed:
Passed to OS: no
System Token: not set
Exists: no
Available Boot Loaders on ESP:
ESP: /efi (/dev/disk/by-partuuid/007a058a-8e5e-45df-8d97-6575b66b5355)
File: `-/EFI/BOOT/bootx64.efi
Boot Loaders Listed in EFI Variables:
Title: debian
ID: 0x0000
Status: active, boot-order
Partition: /dev/disk/by-partuuid/007a058a-8e5e-45df-8d97-6575b66b5355
File: `-/EFI/debian/grubx64.efi
Title: Windows Boot Manager
ID: 0x0002
Status: active, boot-order
Partition: /dev/disk/by-partuuid/007a058a-8e5e-45df-8d97-6575b66b5355
File: `-/EFI/Microsoft/Boot/bootmgfw.efi
Boot Loader Entries:
$BOOT: /efi (/dev/disk/by-partuuid/007a058a-8e5e-45df-8d97-6575b66b5355)
0 entries, no entry could be determined as default.
Is it because of the systemd-boot not installed in ESP
?
**UPDATE:**
Here is my status after carrying out the tasks in Peter's answer.
$ efibootmgr -v
BootCurrent: 0000
Timeout: 6 seconds
BootOrder: 0001,0000,0002
Boot0000* debian HD(13,GPT,007a058a-8e5e-45df-8d97-6575b66b5355,0x1afa9000,0x113000)/File(\EFI\debian\grubx64.efi)
Boot0001* Linux Boot Manager HD(13,GPT,007a058a-8e5e-45df-8d97-6575b66b5355,0x1afa9000,0x113000)/File(\EFI\systemd\systemd-bootx64.efi)
Boot0002* Windows Boot Manager HD(13,GPT,007a058a-8e5e-45df-8d97-6575b66b5355,0x1afa9000,0x113000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}....................
$ bootctl status
System:
Firmware: n/a (n/a)
Secure Boot: disabled
Setup Mode: user
Current Boot Loader:
Product: n/a
Features: - Boot counting
- Menu timeout control
- One-shot menu timeout control
- Default entry control
- One-shot entry control
- Support for XBOOTLDR partition
- Support for passing random seed to OS
- Boot loader sets ESP partition information
ESP: n/a
File: `-n/a
Random Seed:
Passed to OS: no
System Token: set
Exists: yes
Available Boot Loaders on ESP:
ESP: /efi (/dev/disk/by-partuuid/007a058a-8e5e-45df-8d97-6575b66b5355)
File: `-/EFI/systemd/systemd-bootx64.efi (systemd-boot 245.4-4ubuntu3.1)
File: `-/EFI/BOOT/bootx64.efi (systemd-boot 245.4-4ubuntu3.1)
Boot Loaders Listed in EFI Variables:
Title: Linux Boot Manager
ID: 0x0001
Status: active, boot-order
Partition: /dev/disk/by-partuuid/007a058a-8e5e-45df-8d97-6575b66b5355
File: `-/EFI/systemd/systemd-bootx64.efi
Title: debian
ID: 0x0000
Status: active, boot-order
Partition: /dev/disk/by-partuuid/007a058a-8e5e-45df-8d97-6575b66b5355
File: `-/EFI/debian/grubx64.efi
Title: Windows Boot Manager
ID: 0x0002
Status: active, boot-order
Partition: /dev/disk/by-partuuid/007a058a-8e5e-45df-8d97-6575b66b5355
File: `-/EFI/Microsoft/Boot/bootmgfw.efi
Boot Loader Entries:
$BOOT: /efi (/dev/disk/by-partuuid/007a058a-8e5e-45df-8d97-6575b66b5355)
0 entries, no entry could be determined as default.
$ cat "$(bootctl -x)/loader/loader.conf"
#timeout 3
#console-mode keep
default f1439fc415644fedb2360e6691283080-*
timeout 5
console-mode max
editor yes
auto-entries yes
auto-firmware yes
random-seed-mode always
$ bootctl status | grep f1439fc415644fe | wc
0 0 0
So Peter,
- where does the default f1439fc415644fedb2360e6691283080-*
comes from in the /loader/loader.conf
file and what does it means? And what did you mean when you put default Windows
there?
- and most importantly, I now can see that EFI Boot list/menu, just it has Windows Boot Manager
and the Reboot into firmware
your mentioned, but it doesn't have the Linux / debian menu that I want. what I'm missing?
xpt
(1858 rep)
Sep 6, 2021, 04:32 AM
• Last activity: Apr 18, 2025, 10:02 PM
2
votes
1
answers
3126
views
Where are kernel and initramfs files for systemd-boot?
I'm trying to do a fresh install and use `systemd-boot` as the bootloader for my ESP, but in the [install instructions](https://wiki.archlinux.org/index.php/systemd-boot#EFI_boot) on step 4 it says: > Copy your kernel and initramfs onto that ESP. But where are `vmlinuz-linux` and `initramfs-linux.im...
I'm trying to do a fresh install and use
systemd-boot
as the bootloader for my ESP, but in the [install instructions](https://wiki.archlinux.org/index.php/systemd-boot#EFI_boot) on step 4 it says:
> Copy your kernel and initramfs onto that ESP.
But where are vmlinuz-linux
and initramfs-linux.img
located? I can't find them for the life of me. Do I need to install bootctl
before those files are available? Nothing exists in /boot
in either my Arch Linux install disk or the partitions that I'm working with
starscream_disco_party
(165 rep)
Aug 4, 2016, 05:35 PM
• Last activity: Apr 11, 2025, 12:07 PM
1
votes
0
answers
47
views
Systemd-boot load another entry if main entry damaged
I use systemd-boot, I have two Linux systems, identical, two so that when updating the device, one is a backup And I don't understand, I have two systems, both are visible in the menu, by default, system #1 is loaded. Timeout 0. But if you delete this system manually, i.e. simulate a situation when...
I use systemd-boot, I have two Linux systems, identical, two so that when updating the device, one is a backup
And I don't understand, I have two systems, both are visible in the menu, by default, system #1 is loaded. Timeout 0. But if you delete this system manually, i.e. simulate a situation when the system is damaged and should start backup system #2, but there is an attempt to load the main one, there is a system boot error, and the backup one does not load. Only if you enter the boot menu and select it. How can I make it so that the backup one loads automatically? Is this possible? Is this called a fallback?
All system have entries, all system visible in menu and can loaded.
I expect that if system #1 is damaged, then system #2 should start But maybe I don't understand bootloaders correctly.
I need in that, becouse device have not keyboard to choose system #2 by hands.
So What should I do to automatically boot the backup system if the primary system is dead?
Den Kuznetsov
(11 rep)
Mar 10, 2025, 10:09 AM
• Last activity: Mar 10, 2025, 01:02 PM
0
votes
0
answers
17
views
can systemd-boot keep one older version?
I am trying out the systemd-boot + secure boot, it looks nice and straightforward, apt hook and systemd-boot-update.service can keep it automatically update. But I would like to keep one older version in case the new version does not work. Is there any mechanism allow this to happen with `bootctl up...
I am trying out the systemd-boot + secure boot, it looks nice and straightforward, apt hook and systemd-boot-update.service can keep it automatically update.
But I would like to keep one older version in case the new version does not work. Is there any mechanism allow this to happen with
bootctl update
?
Wang
(1395 rep)
Mar 4, 2025, 03:06 PM
2
votes
1
answers
2390
views
Can systemd-boot remember your previous choice?
Is it possible to have systemd-boot remember your last choice and default to that at next boot?
Is it possible to have systemd-boot remember your last choice and default to that at next boot?
Jamie Kitson
(733 rep)
Jan 12, 2021, 09:42 AM
• Last activity: Sep 25, 2024, 11:02 PM
-1
votes
1
answers
109
views
I can no longer dual boot
My setup used to be a dual boot system with Pop OS and Windows 10, which are both on separate SSD drives. It worked fine and now I recently just changed from Pop OS to fedora. In the install procedure of fedora I wiped my Pop OS drive and installed fedora on that. Now however, I can't boot into wind...
My setup used to be a dual boot system with Pop OS and Windows 10, which are both on separate SSD drives. It worked fine and now I recently just changed from Pop OS to fedora. In the install procedure of fedora I wiped my Pop OS drive and installed fedora on that.
Now however, I can't boot into windows, at all. Even from the BIOS. Just as a sanity check I've unplugged and re-plugged my SATA cables in my PC case with every possible configuration there is. Even when only my Windows 10 drive is plugged in on it's own the computer just throws me into the BIOS.
I've also tried resetting my settings in my BIOS to no avail. As well as changing the SATA config from RAID to AHCI and back again with no difference.
I've tried using a windows 10 USB drive to see if there's anything I can do in the *repair your computer* bit. But I can't even get there. I at least see it as a boot option in the BIOS. A UEFI version and a non-UEFI option.
I've tried
Trying to mount that drive I get an error with the partition I would expect there to boot info and get the following error
os-prober
with no luck even though I can see the damn windows drive in the 'disks' program and when doing lsblk
. 
❯ sudo mount /dev/sde1 /mnt
mount: /mnt: wrong fs type, bad option, bad superblock on /dev/sde1, missing codepage or helper program, or other error.
dmesg(1) may have more information after failed mount system call.
I'm not sure if that's the expected behaviour but just letting it be known in case it means something.
Mounting sde2
seems fine but looking around I don't see the kind of files that guides suggest there would be, such as apparently \EFI\Microsoft\Boot\bootmgfw.efi
which doesn't exist on sde2.
---
I think clearly something happened in the install of fedora. Specifically when I wiped my Pop OS drive. It must have had some config on there that managed the dual booting. If I recall, Pop OS uses systemd-boot
and fedora is using grub, so maybe some kind of issue there?
I'm not sure how to proceed so any advice or further information needed let me know.
For now I'm going to re-create my windows USB drive just incase if it's not in the same state I remember it but I doubt it will be any different as that USB drive hasn't changed in over 5 years.
Thanks.
EDIT: After re-burning the windows USB image and apparently maybe some dead USB ports on my PC case I was able to get into the recover tool.
I was then able to go into the command prompt and type in:
bootrec /fixmbr
Which was fine. Then:
bootrec /fixboot
Which was not fine. As I had the output Element not found
.
I then went into diskpart
and ran LIST DISK
and the only response I got was the USB disk I was currently in.
shmink
(145 rep)
Jul 2, 2024, 11:00 PM
• Last activity: Jul 5, 2024, 02:12 PM
0
votes
1
answers
5555
views
Arch linux: Failed to mount /boot
when I try to start uo my system I get this error: ``` [Failed] Failed to mount /boot See 'systemctl status boot.mount' for details [DEPEND] Dependency filed for Local File System ``` then some more logs and ``` You are in emergency mode. After logging in, type "journalctl -xb" to view system logs,...
when I try to start uo my system I get this error:
[Failed] Failed to mount /boot
See 'systemctl status boot.mount' for details
[DEPEND] Dependency filed for Local File System
then some more logs and
You are in emergency mode. After logging in, type "journalctl -xb" to view
system logs, "systemctl reboot" to reboot, or "exit" to continue bootup.
Cannot open access to console, the root account is locked.
See sulogin(8) man page for more details.
Press Enter to contienue
What can i do to fix it ? I am not able to log in to mu system but I am able to run run arch-chroot
from live USB.
Edit: this in systemctl status boot.mount
mount: /boot: unknown file system 'vfat'
Jan Černý
(1723 rep)
Oct 8, 2023, 03:39 PM
• Last activity: Jun 29, 2024, 08:14 PM
0
votes
0
answers
326
views
Systemd-boot: where loader parameters are stored?
I've installed Arch-linux with `archinstall`, choosing `systemd-boot` as the bootloader and with full-disk encryption. Lots of manuals refers to file `/boot/loader/entries/arch.conf` (or similar one), but my folder `/boot/loader/entries` is empty and file `/boot/loader/loader.conf` have only one lin...
I've installed Arch-linux with
archinstall
, choosing systemd-boot
as the bootloader and with full-disk encryption.
Lots of manuals refers to file /boot/loader/entries/arch.conf
(or similar one), but my folder /boot/loader/entries
is empty and file /boot/loader/loader.conf
have only one line: timeout 3
.
Where are other boot parameters stored?
MPEI_stud
(43 rep)
Apr 13, 2024, 06:34 PM
• Last activity: Apr 13, 2024, 06:41 PM
0
votes
1
answers
1064
views
How do I enable UEFI secure boot for a linux build made with yocto?
I'm producing a yocto build, and want to enable UEFI Secure Boot on the intel machine I'm using. This is a pretty basic yocto build, using core-image-minimal and meta-intel. The artifacts it produces look like: ./core-image-minimal-intel-corei7-64.wic ./bzImage-intel-corei7-64.bin ./bzImage--6.1.38+...
I'm producing a yocto build, and want to enable UEFI Secure Boot on the intel machine I'm using. This is a pretty basic yocto build, using core-image-minimal and meta-intel. The artifacts it produces look like:
./core-image-minimal-intel-corei7-64.wic
./bzImage-intel-corei7-64.bin
./bzImage--6.1.38+git0+d62bfbd59e_11e606448a-r0-intel-corei7-64-20240208204456.bin
./core-image-minimal-intel-corei7-64.manifest
./OvmfPkKek1.crt
./OvmfPkKek1.pem
./systemd-bootx64.efi
./core-image-minimal-intel-corei7-64-20240215181510.rootfs.tar.xz
./microcode.cpio
./modules-intel-corei7-64.tgz
./core-image-minimal-intel-corei7-64-20240215181510.rootfs.manifest
./microcode_20230808.cpio
./modules--6.1.38+git0+d62bfbd59e_11e606448a-r0-intel-corei7-64-20240208204456.tgz
./bzImage
./core-image-minimal-intel-corei7-64-20240215181510.testdata.json
./grub-efi-bootx64.efi
./ovmf.vars.qcow2
./core-image-minimal-intel-corei7-64.qemuboot.conf
./ovmf.secboot.code.qcow2
./linuxx64.efi.stub
./OvmfPkKek1.key
./ovmf.secboot.qcow2
./core-image-minimal-intel-corei7-64.tar.xz
./core-image-minimal-intel-corei7-64-20240215181510.rootfs.wic
./ovmf.code.qcow2
./core-image-minimal.env
./core-image-minimal-systemd-bootdisk-microcode.wks
./ovmf.qcow2
./core-image-minimal-intel-corei7-64-20240215181510.qemuboot.conf
./core-image-minimal-intel-corei7-64.testdata.json
My boot partition looks like:
./loader
./loader/loader.conf
./loader/entries
./loader/entries/boot.conf
./EFI
./EFI/BOOT
./EFI/BOOT/bootx64.efi
./bzImage
I can't figure out how to enable secure boot using these files. There's an option to enroll a signature, and when I do that using the bootx64.efi file, and then try and boot, I get some sort of bzImage error, and then something about a security policy violation.
I get similar (but different) errors when I try and do the same process on a random Kali linux install off of a USB drive.
There are also uefi options like "enroll signature", "enroll PK", "enroll KEK", etc., and I tried these hoping to be able to select those OvmfPkKek1* files yocto is producing, assuming those are the keys, but they don't show up on disk when browsing my boot partition via the uefi interface, even though I copied them over. I'm not sure why.
Any ideas how I make this install work with secure boot?
Dave
(45 rep)
Feb 20, 2024, 09:44 PM
• Last activity: Feb 21, 2024, 06:35 PM
0
votes
1
answers
217
views
systemd-boot not asking for password?
I run Arco linux, boot with systemd-boot on an LUKS encrypted btrfs root partition drive but it never ask me for a password for the root drive on boot. Not good. Where should I start looking?
I run Arco linux, boot with systemd-boot on an LUKS encrypted btrfs root partition drive but it never ask me for a password for the root drive on boot. Not good.
Where should I start looking?
Dark_Stoner
(147 rep)
Feb 16, 2024, 01:11 PM
• Last activity: Feb 16, 2024, 02:07 PM
1
votes
1
answers
334
views
How can I manually install a Yocto image?
I'm having difficulties installing an image I've built with Yocto. In the past I've always used u-boot, MBR, and legacy boot. Installing Yocto meant creating `boot` and `rootfs` partitions, installing the first stage u-boot boot loader, and copying the files in `/boot` to the boot partition (a FAT32...
I'm having difficulties installing an image I've built with Yocto. In the past I've always used u-boot, MBR, and legacy boot. Installing Yocto meant creating
boot
and rootfs
partitions, installing the first stage u-boot boot loader, and copying the files in /boot
to the boot partition (a FAT32 partition).
Now I'm trying to do something very different for an Intel machine that doesn't seem to support legacy boot. I'm using systemd-boot
, GPT, and UEFI.
If I directly write my .wic
image that's produced by Yocto, it correctly boots. But if I instead try and follow a process as above where I manually partition and copy files over, it will run systemd-boot
, but once it tries to load my boot entry, nothing happens.
One thing I did notice is that the /boot
directory that's in the rootfs.tar.gz
produced by Yocto is different from the /boot
directory that's on the .wic
file. The kernels are different (different sizes) and the .wic
file includes a microcode.cpio
file.
I tried copying the boot files from the .wic
file and installing them manually when installing, but that got me to a point where it says EFI stub: Loaded initrd from LINUX_EFI_INITRD_MEDIA_GUID device path
, but then nothing happens after that.
Is there any guide to installing Yocto images by manually partitioning on UEFI systems?
I'm not doing anything unusual other than maybe the installation method. I'm building nanbield
, core-image-base
, and have added the meta-intel layer.
This is my local.conf:
MACHINE ?= "intel-corei7-64"
MACHINE ??= "qemux86-64"
DISTRO ?= "poky"
EXTRA_IMAGE_FEATURES ?= "debug-tweaks"
USER_CLASSES ?= "buildstats"
PATCHRESOLVE = "noop"
BB_DISKMON_DIRS ??= "\
STOPTASKS,${TMPDIR},1G,100K \
STOPTASKS,${DL_DIR},1G,100K \
STOPTASKS,${SSTATE_DIR},1G,100K \
STOPTASKS,/tmp,100M,100K \
HALT,${TMPDIR},100M,1K \
HALT,${DL_DIR},100M,1K \
HALT,${SSTATE_DIR},100M,1K \
HALT,/tmp,10M,1K"
PACKAGECONFIG:append:pn-qemu-system-native = " sdl"
IMAGE_FEATURES += "read-only-rootfs"
IMAGE_FSTYPES = "tar.xz"
CORE_IMAGE_EXTRA_INSTALL += "kernel-modules"
# OS packages
CORE_IMAGE_EXTRA_INSTALL += "openssh"
CORE_IMAGE_EXTRA_INSTALL += "nginx"
CORE_IMAGE_EXTRA_INSTALL += "openssl"
CORE_IMAGE_EXTRA_INSTALL += "gnupg"
CORE_IMAGE_EXTRA_INSTALL += "iptables"
CORE_IMAGE_EXTRA_INSTALL += "logrotate"
CORE_IMAGE_EXTRA_INSTALL += "mongodb"
CORE_IMAGE_EXTRA_INSTALL += "sudo"
CORE_IMAGE_EXTRA_INSTALL += "rsync"
CORE_IMAGE_EXTRA_INSTALL += "procps"
# Python packages
CORE_IMAGE_EXTRA_INSTALL += "python3"
CORE_IMAGE_EXTRA_INSTALL += "python3-flask"
CORE_IMAGE_EXTRA_INSTALL += "python3-setuptools"
CORE_IMAGE_EXTRA_INSTALL += "python3-pymongo"
CORE_IMAGE_EXTRA_INSTALL += "python3-cryptography"
CORE_IMAGE_EXTRA_INSTALL += "python3-scrypt"
CORE_IMAGE_EXTRA_INSTALL += "python3-pip"
CORE_IMAGE_EXTRA_INSTALL += "python3-pyserial"
CORE_IMAGE_EXTRA_INSTALL += "python3-pyudev"
# Feature services
CORE_IMAGE_EXTRA_INSTALL += "dnsmasq"
CORE_IMAGE_EXTRA_INSTALL += "rsyslog"
CORE_IMAGE_EXTRA_INSTALL += "ntp"
CORE_IMAGE_EXTRA_INSTALL += "ntpq"
CORE_IMAGE_EXTRA_INSTALL += "ntp-utils"
CORE_IMAGE_EXTRA_INSTALL += "freeradius"
CORE_IMAGE_EXTRA_INSTALL += "net-snmp"
# Remove the following packages before 1.0 release
CORE_IMAGE_EXTRA_INSTALL += "coreutils"
CORE_IMAGE_EXTRA_INSTALL += "vim"
This is my bblayers.conf:
# POKY_BBLAYERS_CONF_VERSION is increased each time build/conf/bblayers.conf
# changes incompatibly
POKY_BBLAYERS_CONF_VERSION = "2"
BBPATH = "${TOPDIR}"
BBFILES ?= ""
BBLAYERS ?= " \
/data/opis-current/meta \
/data/opis-current/meta-poky \
/data/opis-current/meta-yocto-bsp \
/data/opis-current/meta-openembedded/meta-oe \
/data/opis-current/meta-openembedded/meta-python \
/data/opis-current/meta-openembedded/meta-webserver \
/data/opis-current/meta-openembedded/meta-networking \
/data/opis-current/meta-intel \
"
Dave
(45 rep)
Feb 6, 2024, 07:49 PM
• Last activity: Feb 9, 2024, 04:40 PM
2
votes
3
answers
6705
views
Deleted the Windows EFI partition, What to do?
I installed Pop-OS in a dual-boot system. Previously, my EFI partition was around 250mb. Pop Installer told me that it was too small. So instead of resizing and moving (due to possibility of data loss and Windows not booting), I deleted the old EFI partition and created a new EFI partition for insta...
I installed Pop-OS in a dual-boot system.
Previously, my EFI partition was around 250mb. Pop Installer told me that it was too small. So instead of resizing and moving (due to possibility of data loss and Windows not booting), I deleted the old EFI partition and created a new EFI partition for install.
Output of
efibootmgr
:
BootCurrent: 0006
Timeout: 1 seconds
BootOrder: 0006,0007,0002
Boot0002* Windows Boot Manager
Boot0006* Pop!_OS 20.04 LTS
Boot0007* UEFI OS
Output of bootctl
:
System:
Firmware: UEFI 2.70 (American Megatrends 5.13)
Secure Boot: disabled
Setup Mode: user
Current Boot Loader:
Product: systemd-boot 245.4-4ubuntu3.6pop0~1617377648~20.04~eafddeb
Features: ✓ Boot counting
✓ Menu timeout control
✓ One-shot menu timeout control
✓ Default entry control
✓ One-shot entry control
✓ Support for XBOOTLDR partition
✓ Support for passing random seed to OS
✓ Boot loader sets ESP partition information
ESP: /dev/disk/by-partuuid/06919b6c-bed1-461e-9b6d-04dc9597fd38
File: └─/EFI/SYSTEMD/SYSTEMD-BOOTX64.EFI
Random Seed:
Passed to OS: yes
System Token: set
Exists: yes
Available Boot Loaders on ESP:
ESP: /boot/efi (/dev/disk/by-partuuid/06919b6c-bed1-461e-9b6d-04dc9597fd38)
File: └─/EFI/systemd/systemd-bootx64.efi (systemd-boot 245.4-4ubuntu3.6pop0~1617377648~20.04~eafddeb)
File: └─/EFI/BOOT/BOOTX64.EFI (systemd-boot 245.4-4ubuntu3.6pop0~1617377648~20.04~eafddeb)
Boot Loaders Listed in EFI Variables:
Title: Pop!_OS 20.04 LTS
ID: 0x0006
Status: active, boot-order
Partition: /dev/disk/by-partuuid/06919b6c-bed1-461e-9b6d-04dc9597fd38
File: └─/EFI/SYSTEMD/SYSTEMD-BOOTX64.EFI
Title: UEFI OS
ID: 0x0007
Status: active, boot-order
Partition: /dev/disk/by-partuuid/06919b6c-bed1-461e-9b6d-04dc9597fd38
File: └─/EFI/BOOT/BOOTX64.EFI
Boot Loader Entries:
$BOOT: /boot/efi (/dev/disk/by-partuuid/06919b6c-bed1-461e-9b6d-04dc9597fd38)
Default Boot Loader Entry:
title: Pop!_OS
id: Pop_OS-current.conf
source: /boot/efi/loader/entries/Pop_OS-current.conf
linux: /EFI/Pop_OS-39f0e06d-54c4-4fd3-af74-605fcd37bc55/vmlinuz.efi
initrd: /EFI/Pop_OS-39f0e06d-54c4-4fd3-af74-605fcd37bc55/initrd.img
options: root=UUID=39f0e06d-54c4-4fd3-af74-605fcd37bc55 ro quiet loglevel=0 systemd.show_status=false splash
There is no Windows in EFI variables.
I increased the timeout of systemd-boot to 5 seconds, and now I see _Pop OS_ and _Boot to System Firmware_.
[This](https://unix.stackexchange.com/a/628581/474303) answer required the Windows EFI partition, which I deleted. Is there a way to get Windows Entry in systemd-boot?
Gparted (if it matters):

Mayank
(173 rep)
Oct 3, 2021, 05:48 AM
• Last activity: Dec 4, 2023, 07:28 PM
4
votes
1
answers
815
views
How to pass extra options to OpenBSD's EFI boot loader with systemd-boot?
I have an extra `systemd-boot` entry for OpenBSD. ``` $ cat /boot/loader/entries/bsd.conf title OpenBSD efi /extra/bootx64.efi ``` It works and I manage to get into `boot` shell, The problem is that by default it tries to boot from `hd0`, I need it to boot from `hd1`, which I have to specify manuall...
I have an extra
systemd-boot
entry for OpenBSD.
$ cat /boot/loader/entries/bsd.conf
title OpenBSD
efi /extra/bootx64.efi
It works and I manage to get into boot
shell,
The problem is that by default it tries to boot from hd0
,
I need it to boot from hd1
, which I have to specify manually with
> set device hd1
I tried the following, but it didn't work
$ cat /boot/loader/entries/bsd.conf
title OpenBSD
efi /extra/bootx64.efi
options set device hd1a # it does not work
Is there a way to pass hd1
as a parameter to bootx64.efi
, without typing it manually?
andreoss
(202 rep)
Apr 2, 2023, 02:19 AM
• Last activity: Dec 3, 2023, 08:48 AM
0
votes
0
answers
149
views
systemd-boot partition not recognised as bootable
Installing Arch to an old ASUS G74Sx with a Samsung SSD as the main system drive and a Seagate for data I've partitioned and installed system to `/dev/sda` for systemd-boot as so: root@archiso ~ # parted -l GNU Parted 3.6 Using /dev/sda ... Model: ATA Samsung SSD 860 (scsi) Disk /dev/sda: 500GB Sect...
Installing Arch to an old ASUS G74Sx with a Samsung SSD as the main system drive and a Seagate for data
I've partitioned and installed system to
/dev/sda
for systemd-boot as so:
root@archiso ~ # parted -l
GNU Parted 3.6
Using /dev/sda
...
Model: ATA Samsung SSD 860 (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 538MB 537MB fat32 boot, esp
2 538MB 500GB 500GB ext4
....
root@archiso ~ # fdisk -l /dev/sda
Model: ATA Samsung SSD 860 (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 538MB 537MB fat32 boot, esp
2 538MB 500GB 500GB ext4
Configures systemd-boot as so:
# blkid
...
/dev/sda2: UUID="4b3bca9b-c49f-4414-abd4-96b02c66cd8c" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="d46a8ce3-6a36-4e22-8713-5f8a23c4c471"
/dev/sda1: UUID="F948-C4C3" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="6879733a-9c2c-4a9a-8093-875e2c25a111"
...
AFTER arch-chroot /mnt
root@archiso loader]# cat loader.conf
#timeout 3
#console-mode keep
default arch
timeout 4
console-mode max
editor no
[root@archiso loader]# cat entries/arch.conf
Arch Linux
linux /vmlinuz-linux
initrd /intel-ucode.img
initrd /initramfs-linux.img
options root=PARTUUID="d46a8ce3-6a36-4e22-8713-5f8a23c4c471" rw
But startup prompts for a boot disk. Please, where is the error?
For @telcoM
root@archiso ~ # efibootmgr -v
EFI variables are not supported on this system.
error trace:
EFI is enabled in BIOS
Running the installer and issuing that command gives a different result
root@archiso ~ # efibootmgr -v
** Warning ** : Boot000a is not UEFI Spec compliant (lowercase hex in name)
** Warning ** : please recreate these using efibootmgr to remove this warning.
error trace:
BootCurrent: 000A
Timeout: 0 seconds
BootOrder: 000A,0001,0002,0000
Boot0000* Hard Drive BBS(HD,,0x0)
dp: 05 01 09 00 02 00 00 00 00 / 7f ff 04 00
Boot0001* CD/DVD Drive BBS(CDROM,,0x0)
dp: 05 01 09 00 03 00 00 00 00 / 7f ff 04 00
Boot0002* asmt test HD(1,MBR,0x5cfcc5eb,0x185000,0x7800)/File()
dp: 04 01 2a 00 01 00 00 00 00 50 18 00 00 00 00 00 00 78 00 00 00 00 00 00 eb c5 fc 5c 00 00 00 00 00 00 00 00 00 00 00 00 01 01 / 04 04 06 00 00 00 / 7f ff 04 00
Boot000a* UEFI: USB USB Hard Drive PciRoot(0x0)/Pci(0x1d,0x0)/USB(1,0)/USB(3,0)/HD(1,MBR,0x5cfcc5eb,0x185000,0x7800)
dp: 02 01 0c 00 d0 41 03 0a 00 00 00 00 / 01 01 06 00 00 1d / 03 05 06 00 01 00 / 03 05 06 00 03 00 / 04 01 2a 00 01 00 00 00 00 50 18 00 00 00 00 00 00 78 00 00 00 00 00 00 eb c5 fc 5c 00 00 00 00 00 00 00 00 00 00 00 00 01 01 / 7f ff 04 00
Stephen Boston
(2526 rep)
Sep 26, 2023, 01:34 AM
• Last activity: Sep 26, 2023, 04:21 AM
0
votes
4
answers
5552
views
Pop OS, How to enable boot messages to be printed on screen during boot up
In Ubuntu I know how can I enable post message from below link But currently I'm using [Pop! OS][1] is same branch/implementation from Ubuntu but I can not find way how can I enable post message at boot time, as above mention steps there don't have any files (maybe because it not GRUB system) [1]: h...
In Ubuntu I know how can I enable post message from below link But currently I'm using Pop! OS is same branch/implementation from Ubuntu but I can not find way how can I enable post message at boot time, as above mention steps there don't have any files (maybe because it not GRUB system)
Mahesh More
(21 rep)
May 25, 2020, 04:23 PM
• Last activity: Sep 8, 2023, 11:39 AM
1
votes
1
answers
2212
views
How to open all LUKS volumes with use of a single password?
I'm using EndeavorOS (basically Arch), but with systemd-boot and dracut for initrd. I have a simple setup with an unencrypted boot partition and LUKS-encrypted root and swap partitions. Specifically, the setup is described in the output below: ```` $ cat /etc/fstab # UUID=8A2F-4076 /efi vfat default...
I'm using EndeavorOS (basically Arch), but with systemd-boot and dracut for initrd. I have a simple setup with an unencrypted boot partition and LUKS-encrypted root and swap partitions. Specifically, the setup is described in the output below:
`
$ cat /etc/fstab
#
UUID=8A2F-4076 /efi vfat defaults,noatime 0 2
/dev/mapper/luks-81733cbe-81f5-4506-8369-1c9b62e7d6be / ext4 defaults,noatime 0 1
/dev/mapper/luks-9715a3f9-f701-47b8-9b55-5143ca88dcd8 swap swap defaults 0 0
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
$ lsblk -f
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
nvme0n1
├─nvme0n1p1 vfat FAT32 8A2F-4076 915.6M 8% /efi
├─nvme0n1p2 crypto_LUKS 1 81733cbe-81f5-4506-8369-1c9b62e7d6be
│ └─luks-81733cbe-81f5-4506-8369-1c9b62e7d6be ext4 1.0 endeavouros d8d14c59-8704-4fb8-ad02-7d20a26bc1e1 843.6G 2% /
└─nvme0n1p3 crypto_LUKS 1 9715a3f9-f701-47b8-9b55-5143ca88dcd8
└─luks-9715a3f9-f701-47b8-9b55-5143ca88dcd8 swap 1 swap b003ea64-a38d-464c-8609-7278e21f8a0f [SWAP]
`
The problem is that each time I boot up the computer, I need to enter my password twice; once for the root partition and once of the swap (note I use the same password for both if that helps). This has become nuisance. So my question is: Is there a way to automatically decrypt my swap partition upon a successful passphrase for the root?
There has been a question very similar to this with [a sensible answer](https://unix.stackexchange.com/a/392286/509294) , but did not work. The first part of the answer is Debian-centric with a script option not present in other distributions. The second part uses crypttab to specify the location of a keyfile used to decrypt other partitions.
As of now, my crypttab in initrd looks like this, which specifies a /crypto_keyfile.bin
that exists in the root partition to open either of the partitions:
`
$ lsinitrd --file /etc/crypttab
luks-81733cbe-81f5-4506-8369-1c9b62e7d6be /dev/disk/by-uuid/81733cbe-81f5-4506-8369-1c9b62e7d6be /crypto_keyfile.bin luks
luks-9715a3f9-f701-47b8-9b55-5143ca88dcd8 /dev/disk/by-uuid/9715a3f9-f701-47b8-9b55-5143ca88dcd8 /crypto_keyfile.bin luks
`
This approach does not work for two reasons:
1. Contrary to what the linked answer suggests (being that the user is queried for the partitions by the order of crypttab entries), the order is random at each boot. Even if I could automatically open my swap partition after opening the root, if swap comes first, then I am still forced to enter the password for root since keyfile is on root.
2. It seems to me that after entering password for root, the filesystem is not mounted immediately. The /crypto_keyfile.bin
is actually searched inside the initrd filesystem, which explains the following errors in journal appearing twice: systemd-cryptsetup: Failed to activate, key file '/crypto_keyfile.bin' missing.
So if I am on the right track, how could I ensure systemd-cryptsetup
to query me first for the root partition and second for the swap each time, and how can I ensure that after opening root, the filesystem is mounted and /crypto_keyfile.bin
is successfully found to open the swap partition?
Otherwise, if I am completely off track here, is there a way to achieve what I want?
Thanks.
Snusifer
(113 rep)
Jul 19, 2023, 06:53 PM
• Last activity: Jul 25, 2023, 09:05 AM
26
votes
3
answers
27011
views
How do I skip the 90s timeout in systemd
Is it possible to interactively skip the 90s timeout in systemd? For example, when it is waiting for a disk to become available or user to log out? I know it will fail eventually, so can I just make it fail now? I hate just staring at the screen helplessly.
Is it possible to interactively skip the 90s timeout in systemd? For example, when it is waiting for a disk to become available or user to log out? I know it will fail eventually, so can I just make it fail now? I hate just staring at the screen helplessly.
user7610
(2188 rep)
Sep 15, 2016, 05:46 PM
• Last activity: May 1, 2023, 04:42 PM
0
votes
2
answers
1625
views
Start a service at boot time in systemd
I have placed a systemd service file in `usr/lib/systemd/system/testfile.service`. Here is the service file: [Unit] Description=Test service [Service] Type=notify ExecStart=/bin/dd.sh ExecReload=/bin/kill -HUP $MAINPID KillMode=process Restart=on-failure RestartSec=30s [Install] WantedBy=multi-user....
I have placed a systemd service file in
usr/lib/systemd/system/testfile.service
.
Here is the service file:
[Unit]
Description=Test service
[Service]
Type=notify
ExecStart=/bin/dd.sh
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartSec=30s
[Install]
WantedBy=multi-user.target
I tried to start the service at boot time these two ways:
1. Created a softlink for the file from /usr/lib/systemd/systemd
to /etc/systemd/system/multi-user.target.wants
(manually and by using systemctl enable
command) and rebooted the system; testfile
service started successfully at boot time.
2. Created a dependency in the existing running service file like After=testfile.service
and Wants=testfile.service
, then rebooted the system; testfile
service started successfully.
But when I place the file /usr/lib/systemd/system
without using approaches 1 or 2 above, the service is not started. I feel that placing the service file in /usr/lib/systemd/system/
is enough for any service to start automatically, without creating the softlinks to wants directory or creating the dependency with the other services.
Please let me know, how do I start a service at boot time which is present in the /usr/lib/systemd/system
directory without using approaches 1 or 2 above?
I have also created preset files in usr/lib/systemd/system-preset/
to disable and enable a few services, but it seems like those preset files were not executed: services which I have disabled in the preset file are still enabled after boot up. Please let me know how to debug this issue.
RAJESH DASARI
(3 rep)
Aug 14, 2016, 05:51 AM
• Last activity: Apr 12, 2023, 09:48 AM
2
votes
2
answers
6283
views
Uninstall grub from Debian (I'am using systemd-boot!)
The first thing I do with a new Linux box is to install systemd-boot. Grub, one would think this abomination was made of the hand of MS! Okay, back to subject: I just ran an upgrade on my new Debian Buster and a new kernel update was available and the update-package seems to look for grub and it mad...
The first thing I do with a new Linux box is to install systemd-boot. Grub, one would think this abomination was made of the hand of MS!
Okay, back to subject:
I just ran an upgrade on my new Debian Buster and a new kernel update was available and the update-package seems to look for grub and it made me think I better remove it, not that I expect the upgrade to run much smoother though, but it seems to be the right thing to do, I never thought of that.
As I said it's disabled in favour of Systemd-boot which works perfectly on the box..
It seems I got these grub related packages installed:
Should I just uninstall them all? Any perticarly order? Any other steps to do? E.g. is it safe to delete the folder **/boot/grub/**
Or am I better off just leaving it?
Okay, back to subject:
I just ran an upgrade on my new Debian Buster and a new kernel update was available and the update-package seems to look for grub and it made me think I better remove it, not that I expect the upgrade to run much smoother though, but it seems to be the right thing to do, I never thought of that.
As I said it's disabled in favour of Systemd-boot which works perfectly on the box..
It seems I got these grub related packages installed:

Should I just uninstall them all? Any perticarly order? Any other steps to do? E.g. is it safe to delete the folder **/boot/grub/**
Or am I better off just leaving it?
MrCalvin
(766 rep)
Jul 21, 2019, 01:26 PM
• Last activity: Mar 17, 2023, 08:43 AM
Showing page 1 of 20 total questions