Skip BIOS component if no BIOS boot partition can be found
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 196
- Forks
- 55
- Avg merge
- 3d 2h
- Merged PRs (30d)
- 14
Description
Describe the bug
Hi
After upgrading FCOS based ucore-hci:stable (https://github.com/ublue-os/ucore) form version: 42.20251012.3.0 to 43.20251024.3.0, bootloader-update service is failing to start during boot:
`bootloader-update.service - Update bootloader on boot
Loaded: loaded (/usr/lib/systemd/system/bootloader-update.service; enabled; preset: enabled)
Drop-In: /usr/lib/systemd/system/service.d
└─10-timeout-abort.conf
Active: failed (Result: exit-code) since Tue 2025-11-25 15:05:25 CET; 23h ago
Invocation: 286cac2dde87435bbc6e1aade5506f8b
Docs: https://github.com/coreos/bootupd
Main PID: 1721 (code=exited, status=1/FAILURE)
Mem peak: 49.7M
CPU: 228ms
Nov 25 15:05:24 ser systemd[1]: Starting bootloader-update.service - Update bootloader on boot...
Nov 25 15:05:25 ser bootupctl[1721]: Installing for i386-pc platform.
Nov 25 15:05:25 ser bootupctl[1721]: /usr/sbin/grub2-install: warning: ../grub-core/partmap/gpt.c:194:this GPT partition label contains no BIOS Boot Partition; embedding won't be possible.
Nov 25 15:05:25 ser bootupctl[1721]: /usr/sbin/grub2-install: error: embedding is not possible, but this is required for RAID and LVM install.
Nov 25 15:05:25 ser bootupctl[1721]: error: Failed to update BIOS: Failed to run "/usr/sbin/grub2-install" "--target" "i386-pc" "--boot-directory" "/boot" "--modules" "mdraid1x part_gpt" "/>
Nov 25 15:05:25 ser systemd[1]: bootloader-update.service: Main process exited, code=exited, status=1/FAILURE
Nov 25 15:05:25 ser systemd[1]: bootloader-update.service: Failed with result 'exit-code'.
Nov 25 15:05:25 ser systemd[1]: Failed to start bootloader-update.service - Update bootloader on boot.`
On my x86, UEFI based server, I have md raid partitions for "boot" and "root" on two GPT disks (nvme0n1 and nvme1n1) and have also three MBR based sdX devices attached and mounted:
`lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 1.9T 0 disk
└─sda1 8:1 0 1.9T 0 part /var/Vol1b
sdb 8:16 0 931.5G 0 disk
└─sdb1 8:17 0 931.5G 0 part /var/Bkpd
sdc 8:32 0 931.5G 0 disk
└─sdc1 8:33 0 931.5G 0 part /var/Bkps
nvme1n1 259:0 0 931.5G 0 disk
├─nvme1n1p1 259:2 0 127M 0 part
├─nvme1n1p2 259:3 0 384M 0 part
│ └─md126 9:126 0 383.9M 0 raid1 /boot
├─nvme1n1p3 259:4 0 64G 0 part
│ └─md127 9:127 0 63.9G 0 raid1 /var/lib/containers/storage/overlay
│ /usr/bin/swtpm
│ /var
│ /sysroot/ostree/deploy/fedora-coreos/var
│ /sysroot
│ /etc
├─nvme1n1p4 259:5 0 5G 0 part [SWAP]
└─nvme1n1p5 259:6 0 862G 0 part /var/Vol1
nvme0n1 259:1 0 931.5G 0 disk
├─nvme0n1p1 259:7 0 127M 0 part
├─nvme0n1p2 259:8 0 384M 0 part
│ └─md126 9:126 0 383.9M 0 raid1 /boot
├─nvme0n1p3 259:9 0 64G 0 part
│ └─md127 9:127 0 63.9G 0 raid1 /var/lib/containers/storage/overlay
│ /usr/bin/swtpm
│ /var
│ /sysroot/ostree/deploy/fedora-coreos/var
│ /sysroot
│ /etc
├─nvme0n1p4 259:10 0 5G 0 part [SWAP]
└─nvme0n1p5 259:11 0 862G 0 part /var/Vol2`
Not sure if the problem origin is ucore or baseline FCOS, so the issue is raised also for ucore: 325
Nevertheless please check the problem, as it looks serious and may potentially prevent booting on one of next restarts.
Reproduction steps
Boot FCOS 43 on UEDI based system with md raid on boot partition,
Expected behavior
bootloader-update systemd service is starting correctly during boot and properly updating bootloader.
Actual behavior
Systemd service bootloader-update failed to start during boot.
System details
BareMetal UEFI based x64 server.
FCOS 43.20251024.3.0
Butane or Ignition config
Additional information
No response
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the bootloader-update.service path and the bootupctl BIOS update flow that invokes grub2-install. Reproduce the FCOS 43 UEFI setup with md RAID and no BIOS Boot Partition, then trace how the BIOS component is selected. Done means the BIOS component is skipped when no BIOS boot partition is found and the service starts successfully.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100