ostree/bootupd.yaml
djach7 c611d4da96 Adds bootupd update to boot process
Updates bootupd.yaml to enable bootupctl-update upon system boot. This allows bootupd to work as expected on Fedora IoT raw image systems, with all expected components installed.

Signed-off-by: djach7 <djachimo@redhat.com>
2024-12-16 16:42:00 -05:00

32 lines
No EOL
1 KiB
YAML

# KEEP THIS IN SYNC WITH https://github.com/coreos/fedora-coreos-config/blob/testing-devel/manifests/bootupd.yaml
# See also: https://pagure.io/workstation-ostree-config/blob/main/f/bootupd.yaml
#
#Integration with https://github.com/coreos/bootupd
packages:
- bootupd
postprocess:
- |
#!/bin/bash
set -xeuo pipefail
# Transforms /usr/lib/ostree-boot into a bootupd-compatible update payload
/usr/bin/bootupctl backend generate-update-metadata
# Trigger a bootloader update on boot
cat > /usr/lib/systemd/system/bootloader-update.service << 'EOF'
[Unit]
Description=Update bootloader on boot
Documentation=https://github.com/coreos/bootupd
ConditionFirmware=uefi
[Service]
Type=oneshot
ExecStart=/usr/bin/bootupctl update
RemainAfterExit=yes
MountFlags=slave
[Install]
WantedBy=multi-user.target
EOF
chmod 644 /usr/lib/systemd/system/bootloader-update.service
echo "enable bootloader-update.service" > /usr/lib/systemd/system-preset/81-iot.preset