name: particle-os-ostree description: Real ublue-os architecture with OSTree, bootupd, and bootc base-image: debian:trixie-slim image-version: "13" stages: - type: org.osbuild.debian.ostree options: # OSTree configuration ostree_repo: "particle-os-repo" ostree_branch: "particle-os/debian-trixie" ostree_ref: "particle-os/debian-trixie" # Container extraction and OSTree commit container_image: "debian:trixie-slim" ostree_mode: "archive" - type: org.osbuild.debian.apt options: packages: # Core system packages - systemd - systemd-sysv - udev - procps - util-linux - mount - passwd - login - bash - coreutils # OSTree packages (available in standard repos) - ostree - ostree-boot # Kernel and boot essentials - linux-image-amd64 - linux-headers-amd64 - initramfs-tools # Basic tools - curl - wget - vim - less - locales - ca-certificates - tzdata update: true clean: true - type: org.osbuild.debian.ostree_boot options: # OSTree boot configuration ostree_boot_dir: "/usr/lib/ostree-boot" kernel_path: "/usr/lib/ostree-boot/vmlinuz" initrd_path: "/usr/lib/ostree-boot/initrd.img" # bootupd configuration bootupd_enable: true bootupd_config: | [bootupd] enabled = true [bootupd.efi] enabled = true [bootupd.legacy] enabled = true - type: org.osbuild.debian.locale options: language: en_US.UTF-8 default_locale: en_US.UTF-8 - type: org.osbuild.debian.timezone options: timezone: UTC - type: org.osbuild.debian.users options: users: admin: password: "$6$rounds=656000$salt$hashedpassword" shell: /bin/bash groups: ["users", "sudo", "adm"] uid: 1000 gid: 1000 home: /home/admin comment: "System Administrator" default_shell: /bin/bash default_home: /home - type: org.osbuild.ostree_deploy options: # OSTree deployment configuration ostree_repo: "particle-os-repo" ostree_ref: "particle-os/debian-trixie" deployment_mode: "ostree" # Filesystem structure immutable_dirs: ["/usr", "/boot", "/lib", "/lib64"] mutable_dirs: ["/var", "/etc", "/home", "/tmp"] # Bootloader configuration bootloader: "bootupd" bootloader_config: | [bootupd] enabled = true [bootupd.efi] enabled = true [bootupd.legacy] enabled = true [bootupd.ostree] enabled = true ref = "particle-os/debian-trixie" - type: org.osbuild.qemu options: formats: ["raw", "qcow2"] size: "10G" filename: "particle-os-ostree" output: formats: ["raw", "qcow2"] size: "10G" path: "particle-os-ostree" metadata: author: "particle-os" category: "ostree" tags: ["ostree", "bootupd", "bootc", "container-native", "immutable"] description: "Real ublue-os architecture with OSTree, bootupd, and bootc" target_audience: "Developers, system administrators, ublue-os users" based_on: "debian:trixie-slim + ublue-os architecture" architecture: "ostree + bootupd + bootc"