- Added org.osbuild.debian.bootupd stage with A/B partition support - Created bootupd.toml configuration with atomic update settings - Implemented systemd service and preset for bootupd - Added A/B partition configuration for atomic bootloader updates - Created EFI directory structure for bootupd bootloader management - Added comprehensive test suite for bootupd stage (2/2 tests passing) - Created example manifests for both Debian 13 and 14 with bootupd - Updated README documentation to reflect bootupd implementation - Updated stage execution order and future roadmap This completes the modern bootloader management implementation, providing both traditional GRUB2 and modern bootupd options.
179 lines
5.1 KiB
JSON
179 lines
5.1 KiB
JSON
{
|
|
"version": "2",
|
|
"pipelines": [
|
|
{
|
|
"name": "build",
|
|
"runner": "org.osbuild.linux",
|
|
"stages": [
|
|
{
|
|
"name": "org.osbuild.debian.sources",
|
|
"options": {
|
|
"suite": "forky",
|
|
"mirror": "https://deb.debian.org/debian",
|
|
"components": ["main", "contrib", "non-free"],
|
|
"additional_sources": [
|
|
"deb https://deb.debian.org/debian-security forky-security main contrib non-free",
|
|
"deb https://deb.debian.org/debian-updates forky-updates main contrib non-free"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "org.osbuild.debian.debootstrap",
|
|
"options": {
|
|
"suite": "forky",
|
|
"mirror": "https://deb.debian.org/debian",
|
|
"variant": "minbase",
|
|
"arch": "amd64",
|
|
"components": ["main", "contrib", "non-free"]
|
|
}
|
|
},
|
|
{
|
|
"name": "org.osbuild.debian.apt",
|
|
"options": {
|
|
"packages": [
|
|
"ostree",
|
|
"bootc",
|
|
"bootupd",
|
|
"systemd",
|
|
"systemd-sysv",
|
|
"linux-image-amd64",
|
|
"efibootmgr",
|
|
"sudo",
|
|
"openssh-server",
|
|
"curl",
|
|
"wget",
|
|
"vim",
|
|
"less",
|
|
"locales",
|
|
"ca-certificates",
|
|
"tzdata",
|
|
"net-tools",
|
|
"iproute2",
|
|
"resolvconf",
|
|
"firmware-linux",
|
|
"firmware-linux-nonfree",
|
|
"initramfs-tools"
|
|
],
|
|
"update": true,
|
|
"clean": true
|
|
}
|
|
},
|
|
{
|
|
"name": "org.osbuild.debian.locale",
|
|
"options": {
|
|
"language": "en_US.UTF-8",
|
|
"additional_locales": ["en_GB.UTF-8", "de_DE.UTF-8", "fr_FR.UTF-8"],
|
|
"default_locale": "en_US.UTF-8"
|
|
}
|
|
},
|
|
{
|
|
"name": "org.osbuild.debian.timezone",
|
|
"options": {
|
|
"timezone": "UTC"
|
|
}
|
|
},
|
|
{
|
|
"name": "org.osbuild.debian.users",
|
|
"options": {
|
|
"users": {
|
|
"debian": {
|
|
"password": "$6$rounds=656000$salt$hashedpassword",
|
|
"shell": "/bin/bash",
|
|
"groups": ["sudo", "users", "adm"],
|
|
"uid": 1000,
|
|
"gid": 1000,
|
|
"home": "/home/debian",
|
|
"comment": "Debian User"
|
|
},
|
|
"admin": {
|
|
"password": "$6$rounds=656000$salt$hashedpassword",
|
|
"shell": "/bin/bash",
|
|
"groups": ["sudo", "users", "adm", "wheel"],
|
|
"uid": 1001,
|
|
"gid": 1001,
|
|
"home": "/home/admin",
|
|
"comment": "Administrator"
|
|
}
|
|
},
|
|
"default_shell": "/bin/bash",
|
|
"default_home": "/home"
|
|
}
|
|
},
|
|
{
|
|
"name": "org.osbuild.debian.systemd",
|
|
"options": {
|
|
"enable_services": [
|
|
"ssh",
|
|
"systemd-networkd",
|
|
"systemd-resolved"
|
|
],
|
|
"disable_services": [
|
|
"systemd-firstboot",
|
|
"systemd-machine-id-commit"
|
|
],
|
|
"mask_services": [
|
|
"systemd-remount-fs",
|
|
"systemd-machine-id-commit"
|
|
],
|
|
"config": {
|
|
"DefaultDependencies": "no",
|
|
"DefaultTimeoutStartSec": "0",
|
|
"DefaultTimeoutStopSec": "0"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "org.osbuild.debian.bootc",
|
|
"options": {
|
|
"enable": true,
|
|
"config": {
|
|
"auto_update": true,
|
|
"rollback_enabled": true
|
|
},
|
|
"kernel_args": [
|
|
"console=ttyS0",
|
|
"console=tty0",
|
|
"root=UUID=ROOT_UUID",
|
|
"quiet",
|
|
"splash"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "org.osbuild.debian.bootupd",
|
|
"options": {
|
|
"enable": true,
|
|
"efi_partition": "/dev/sda1",
|
|
"boot_partition": "/dev/sda2",
|
|
"auto_update": true,
|
|
"rollback_enabled": true,
|
|
"a_b_partitions": true,
|
|
"config": {
|
|
"update_strategy": "atomic",
|
|
"rollback_timeout": 30,
|
|
"auto_rollback": true
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "org.osbuild.debian.ostree",
|
|
"options": {
|
|
"repository": "/var/lib/ostree/repo",
|
|
"branch": "debian/forky/x86_64/bootupd",
|
|
"subject": "Debian Forky OSTree System with bootupd",
|
|
"body": "Complete Debian 14 Forky OSTree system with modern bootupd bootloader management"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"assembler": {
|
|
"name": "org.osbuild.debian.qemu",
|
|
"options": {
|
|
"format": "qcow2",
|
|
"filename": "debian-forky-bootupd-ostree.qcow2",
|
|
"size": "20G",
|
|
"ptuuid": "12345678-1234-1234-1234-123456789012"
|
|
}
|
|
}
|
|
}
|