# Notes about OSTREE operating systems ## Fedora Atomic Treefile → rpm-ostree → Container Image → Registry Upload → bootc-image-builder → osbuild → Bootable Disk Image [rpm-ostree](https://github.com/projectatomic/rpm-ostree)\ [bootc base-images](https://gitlab.com/fedora/bootc/base-images)\ [bootc-image-builder](https://github.com/osbuild/bootc-image-builder)\ [osbuild packages](https://packages.fedoraproject.org/pkgs/osbuild/) ( [source code](https://github.com/osbuild/osbuild) ) ### Documentation [ostree](https://ostreedev.github.io/ostree/)\ [bootc](https://bootc-dev.github.io/bootc/)\ [Creating bootc images from scratch](https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/10/html/using_image_mode_for_rhel_to_build_deploy_and_manage_operating_systems/generating-a-custom-minimal-base-image) #### Maybe usefule notes https://www.reddit.com/r/Fedora/comments/1d88z2h/question_how_to_include_file_in_initramfs_on/\ https://jordemort.dev/blog/hdmi-edid-silverblue-and-you/ ### Other #### Liri OS Liri OS is available as an immutable tree with reliable updates and easy rollbacks.\ Right now the live image installs a traditional, package-based system, but if you are running Fedora Silverblue you can try the rpm-ostree based version of Liri OS today.\ First of all add the remote and pull the latest version: ```bash ref=lirios/unstable/x86_64/desktop ostree remote add --no-gpg-verify liri https://repo.liri.io/ostree/repo/ ostree pull liri:$ref ostree admin os-init lirios ostree admin deploy --os=lirios --karg-proc-cmdline liri:$ref checksum=$(ostree rev-parse $ref) for i in /etc/passwd /etc/group /etc/shadow /etc/fstab \ /etc/default/grub /etc/locale.conf \ /etc/ostree/remotes.d/liri.conf; do cp $i /ostree/deploy/lirios/deploy/${checksum}.0/$i done ``` If you have a separate /home mount point, you'll need to change that fstab copy to refer to /var/home.\ If you don't have a separate /home mount point, then you need to make sure that a symlink will be created: ```bash echo 'L /var/home - - - - ../sysroot/home' > /ostree/deploy/lirios/deploy/${checksum}.0/etc/tmpfiles.d/00rpm-ostree.conf ``` and copy your home directory from the fedora-workstation deployment: ```bash cp -a /sysroot/ostree/deploy/fedora-workstation/var/home/ /sysroot/ostree/deploy/lirios/var/home ``` (Replace with your actual username) ## Debian official info [Debian ostree-boot-examples](https://salsa.debian.org/debian/ostree/-/tree/debian/latest/debian/ostree-boot-examples?ref_type=heads) [man files](https://salsa.debian.org/debian/ostree/-/tree/debian/latest/man?ref_type=heads) ## EndlessOS [deb-ostree-builder](https://github.com/dbnicholson/deb-ostree-builder)\ https://github.com/endlessm/eos-image-builder\ [eos-updater](https://github.com/endlessm/eos-updater)\ https://github.com/endlessm/eos-boot-helper ## Apertis https://www.apertis.org/guides/image_devel/ostree\ https://www.apertis.org/guides/image_devel/how_to_build_your_first_image/\ https://gitlab.apertis.org/pkg/apertis-update-manager\ https://gitlab.apertis.org/pkg/apertis-dev-tools\ https://gitlab.apertis.org/pkg/apertis-customizations\ https://gitlab.apertis.org/pkg/apertis-archive-keyring\ https://gitlab.apertis.org/pkg/apertis-flatdeb\ https://gitlab.apertis.org/pkg/apertis-hawkbit-agent\ https://gitlab.apertis.org/pkg/apertis-tests # Debian/apt [apt2ostree](https://github.com/stb-tester/apt2ostree)\ [LWN article Merkle trees and build systems](https://lwn.net/Articles/821367/) ## Debian Atomic (unproven) Cant make a bootable disk Treefile → apt-ostree → Container Image → Registry Upload → deb-bootc-image-builder → debian-forge → Bootable Disk Image [debian-atomic tree files](https://git.raines.xyz/particle-os/debian-atomic-config/src/branch/main/treefiles) [apt-ostree](https://git.raines.xyz/particle-os/apt-ostree) An attempt at 1:1 implementation of rpm-ostree\ [deb-bootc-image-builder](https://git.raines.xyz/particle-os/deb-bootc-image-builder) A fork of bootc-image-manager\ [debian-forge](https://git.raines.xyz/particle-os/debian-forge) Project name of a fork of osbuild\ [debian-bootc-base-images](https://git.raines.xyz/particle-os/debian-bootc-base-images) A fork of Fedora's bootc-base-images ## Distrobution build tools [debos](https://github.com/go-debos/debos) is a tool-chain for simplifying the process of building a Debian-based OS image.\ [Fedora coreos-assembler](https://github.com/coreos/coreos-assembler) aka COSA\ [Boot Loader Specification (BLS)](https://uapi-group.org/specifications/specs/boot_loader_specification/)