silvernobara icon indicating copy to clipboard operation
silvernobara copied to clipboard

Fedora Silverblue with Project Nobara enhancements

Fedora Silvernobara

Docker Image CI
Fedora Silverblue with Project Nobara gaming enhancements.
I do not provide any ostree remote for this project or any support. Use at your own risks.

How to use

A github CI updates the docker once changes are made in the repository. The docker generate a fresh remote every 3 hours. Nginx or Apache are required to host the repository.
The docker only requires a volume on /repo.
Once your repo is self-hosted add it on Silverblue and rebase:

sudo ostree remote add --no-gpg-verify remote-name https://your-domain.local/ostree
sudo rpm-ostree rebase remote-name:fedora/36/x86_64/silvernobora

Special thanks

Original README.md on pagure: Manifests for rpm-ostree based Fedora variants

This is the configuration needed to create rpm-ostree based variants of Fedora. Each variant is described in a YAML treefile which is then used by rpm-ostree to compose an ostree commit with the package requested.

In the Fedora infrastructure, this happens via pungi with Lorax (templates).

Fedora Silverblue

  • Website: https://silverblue.fedoraproject.org/ (sources)
  • Documentation: https://docs.fedoraproject.org/en-US/fedora-silverblue/ (sources)
  • Issue tracker: https://github.com/fedora-silverblue/issue-tracker/issues

Fedora Kinoite

  • Website: https://kinoite.fedoraproject.org/ (sources)
  • Documentation: https://docs.fedoraproject.org/en-US/fedora-kinoite/ (sources)
  • Issue tracker: https://pagure.io/fedora-kde/SIG/issues

Building

Instructions to perform a local build of Silverblue:

# Clone the config
git clone https://pagure.io/workstation-ostree-config && cd workstation-ostree-config

# Prepare repo & cache
mkdir -p repo cache && ostree --repo=repo init --mode=archive

# Build (compose) the variant of your choice
sudo rpm-ostree compose tree --repo=repo --cachedir=cache fedora-silverblue.yaml

# Update summary file
ostree summary --repo=repo --update

Testing

Instructions to test the resulting build:

  • First, serve the ostree repo using an HTTP server.
  • Then, on an already installed Silverblue system:
# Add an ostree remote
sudo ostree remote add testremote http://<IP_ADDRESS>/repo

# Pin the currently deployed (and probably working) version
sudo ostree admin pin 0

# List refs from variant remote
sudo ostree remote refs testremote

# Switch to your variant
sudo rpm-ostree rebase testremote:fedora/35/x86_64/silverblue

Historical references

Building and testing instructions:

  • https://dustymabe.com/2017/10/05/setting-up-an-atomic-host-build-server/
  • https://dustymabe.com/2017/08/08/how-do-we-create-ostree-repos-and-artifacts-in-fedora/
  • https://www.projectatomic.io/blog/2017/12/compose-custom-ostree/
  • https://www.projectatomic.io/docs/compose-your-own-tree/

For some background, see:

Note also this repo obsoletes https://pagure.io/atomic-ws