From c6a99ce1b60ff5b27d72f48f2bd7273c0ca1350f Mon Sep 17 00:00:00 2001 From: badblocks <4161747+badbl0cks@users.noreply.github.com> Date: Mon, 23 Mar 2026 13:21:25 -0700 Subject: [PATCH] add more detail and info to readme, especially for uCore --- README.md | 67 ++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 41 insertions(+), 26 deletions(-) diff --git a/README.md b/README.md index f6aa52e..eb11651 100644 --- a/README.md +++ b/README.md @@ -1,39 +1,54 @@ # ublue-custom   [![bluebuild build badge](https://github.com/badbl0cks/ublue/actions/workflows/build.yml/badge.svg)](https://github.com/badbl0cks/ublue/actions/workflows/build.yml) -These are customizations of upstream Universal Blue images, which themselves are customizations of Fedora CoreOS. +These are customizations of upstream Universal Blue images, which themselves are customizations of Fedora CoreOS and Silverblue. ## Prepare -If you are not yet on an existing atomic Fedora installation, you will first need to install your choice of one normally (e.g. Bazzite via ISO on bare metal). -Once installed, you can use that installation to complete the steps below. +These are atomic, ostree-based Fedora OCI images. ISO/LiveCD-packaged builds are not provided, so you will +need to install by rebasing from an existing installation. If you do not yet have an existing system to +rebase from, you will first need to install your choice of one normally (e.g. Silverblue/Bazzite/CoreOS/etc) +before continuing. After completing the installation, you can complete the steps below. -## Installation - -To rebase an existing atomic Fedora installation to this build, including any ublue-based installation: - -- First rebase to the unsigned image, to get the proper signing keys and policies installed: - ``` - rpm-ostree rebase ostree-unverified-registry:ghcr.io/badbl0cks/bazzite-gnome-badblocks:latest - ``` -- Reboot to complete the rebase: - ``` - systemctl reboot - ``` -- Then rebase to the signed image, like so: - ``` - rpm-ostree rebase ostree-image-signed:docker://ghcr.io/badbl0cks/bazzite-gnome-badblocks:latest - ``` -- Reboot again to complete the installation - ``` - systemctl reboot - ``` +> [!WARNING] +> If you are installing uCore (which is based off of Fedora CoreOS), rebasing from Fedora IoT or any of the +> Atomic Desktops (e.g. Silverblue) is NOT supported! CoreOS images must be provisioned with an +> [ignition config](https://docs.fedoraproject.org/en-US/fedora-coreos/producing-ign/) and do not offer GUI +> installers. If ignition doesn't provide a desired feature, then CoreOS doesn't support that feature, and +> subsequently uCore won't either. Rebasing from a non CoreOS-based system to gain a filesystem feature or +> GUI installation is very likely to cause problems later on. ## Images -Currently the following images are available: -- bazzite-gnome-badblocks (Desktop gaming) -- ucore-hci-badblocks (Server/NAS-oriented) +Currently the following custom images are available: +- bazzite-gnome-badblocks (desktop/gaming-oriented) + > Based on Bazzite, a custom Fedora Atomic image built with cloud native technology that brings the best of Linux gaming to all of your devices - including your favorite handheld. +- ucore-hci-badblocks (server/NAS-oriented; REQUIRES IGNITION) + > Based on uCore, an OCI image of Fedora CoreOS with "batteries included". More specifically, it's an opinionated, custom CoreOS image, built daily with some common tools added in. The idea is to make a lightweight server image including commonly used services or the building blocks to host them. +## Rebasing + +Rebasing is the only supported installation method for these custom images. To rebase an existing atomic Fedora +installation to one of these custom builds, follow the steps below. + +> [!HINT] +> Be sure to replace <IMAGE-NAME> in the commands below with the actual image name you want to use. + +- First rebase to the unsigned image, in order to properly import this repository's signing keys and policies: + ``` + rpm-ostree rebase ostree-unverified-registry:ghcr.io/badbl0cks/:latest + ``` +- Reboot to complete the initial rebase: + ``` + systemctl reboot + ``` +- Then rebase to the signed image: + ``` + rpm-ostree rebase ostree-image-signed:docker://ghcr.io/badbl0cks/:latest + ``` +- Reboot again to complete the signed rebase: + ``` + systemctl reboot + ``` ## Verification