93 lines
No EOL
4.5 KiB
Markdown
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/) |