debian-ostree-systems-notes/readme.md
2025-09-01 17:41:46 +00:00

93 lines
No EOL
4.5 KiB
Markdown

# 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/<USERNAME> /sysroot/ostree/deploy/lirios/var/home
```
(Replace <USERNAME> 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/)