Skip to content

Latest commit

 

History

History
178 lines (141 loc) · 7.78 KB

README.md

File metadata and controls

178 lines (141 loc) · 7.78 KB

☀️ solarpowered ☀️

solarpowered is a learning and hobby project. My main goal is to better understand OCI images as a concept and in practice, and to eventually end up with the ideal base image for my laptop and future devices.

These images boot and are fully functional for daily operations - further than that, I do not guarantee anything.

Why did you name this 'solarpowered'?

Because I like Gawain from Fate/Extra & Fate/Grand Order.

Image details

  • BlueBuild Template with actions set up. WIthout BlueBuild, I would never have come up with the idea of exploring OCI images.
  • silverblue-main as base image for solarpowered and solarpowered-ex. Only the latest Fedora relase is supported. Release versions will be bumped 1-2 months after it is made available for public.

Build status

solarpowered-raw solarpowered solarpowered-ex solarizzed
Description Base image built upon vanilla Silverblue Optimized for Lenovo T480/s devices Optimized for desktop PCs with AMD internals Image based on bazzite-deck with added desktop prettifiers and VPN
Build status build-ublue build-ublue build-ublue build-ublue
Functional status Fully functional & DD Fully functional & DD Fully functional & DD Fully functional & DD
Build schedule Mondays & Fridays, 17:00 UTC Thursdays, 17:30 UTC Mondays & Thursdays, 17:30 UTC Mondays, 6:00 UTC

solarpowered

This image supports Lenovo T480(s) and contains:

tlp.service is enabled by default with TLP default configs. systemd-rfkill.{service,socket} is disabled by default.

  • throttled

throttled is shipped with the defaults but slightly different configuration structure. I use universal values for AC and battery so there is no [UNDERVOLT.AC] nor [UNDERVOLT.BATTERY], only [UNDERVOLT]. Documented in the throttled README.

  • zcfan

The following packages are explicitly removed from the base image due to conflicts.

  • fprintd
  • fprintd-pam
  • tuned and tuned-ppd
  • thermald

solarpowered-ex

This configuration is intended to support my desktop configuration. Changes to this image is frequent.

Desktop configuration details
Type Model
Motherboard ASRock B550M WiFi SE
CPU AMD Ryzen 5 5600
GPU Sapphire AMD Navi 23 Radeon RX 6600
Wireless adapter Intel Dual Band Wireless-AC 3168NGW
Bluetooth adapter Intel Wireless-AC 3168 Bluetooth
Storage Solidigm P41 Plus 1 TB
Controller Fantech Nova PRO WGP14V2 recognized as Sony DualShock 4 [CUH-ZCT2x]
Webcam/Mic 0c45:636b Microdia Lumi Cam

This image contains:

B550 suspend fix

This image includes the fix to B550 boards suspend issue. Enable the fix with the following command:

sudo systemctl enable --now b550-suspend-fix.service

solarizzed

This image contains the following minor additions:

  • VSCodium installed natively
  • Windscribe VPN client
  • Fonts
  • Multiple sound themes (Deepin, Oxygen, Pop!, and Yaru)
  • Multiple icon sets (Tela and Qogir) and themes (ChromeOS, Layan, Plasma-Overdose)

Installation

You can install by rebasing from Silverblue or generating an ISO file yourself. If you decide to give this a go, and would like to provide feedback and/or suggestions, feel free to open a new issue!

Rebase

To rebase from a Silverblue installation, follow the steps below.

solarpowered

  1. Rebase to the unsigned image to get the proper signing keys + policies installed and reboot automatically:
rpm-ostree rebase ostree-unverified-registry:ghcr.io/askpng/solarpowered:latest --reboot
  1. Rebase to the signed image and reboot automatically:
rpm-ostree rebase ostree-image-signed:docker://ghcr.io/askpng/solarpowered:latest --reboot

solarpowered-ex

  1. Rebase to the unsigned image to get the proper signing keys + policies installed and reboot automatically:
rpm-ostree rebase ostree-unverified-registry:ghcr.io/askpng/solarpowered-ex:latest --reboot
  1. Rebase to the signed image and reboot automatically:
rpm-ostree rebase ostree-image-signed:docker://ghcr.io/askpng/solarpowered-ex:latest --reboot

solarizzed

  1. Rebase to the unsigned image to get the proper signing keys + policies installed and reboot automatically:
rpm-ostree rebase ostree-unverified-registry:ghcr.io/askpng/solarizzed:latest --reboot
  1. Rebase to the signed image and reboot automatically:
rpm-ostree rebase ostree-image-signed:docker://ghcr.io/askpng/solarizzed:latest --reboot

ISO

An ISO file for a fresh install can be generated using docker or podman from a Silverblue system.

Docker: solarpowered

mkdir ./iso-output
sudo docker run --rm --privileged --volume ./iso-output:/build-container-installer/build --pull=always \
ghcr.io/jasonn3/build-container-installer:latest \
IMAGE_REPO=ghcr.io/askpng \
IMAGE_NAME=solarpowered \
IMAGE_TAG=latest \
VARIANT=Silverblue

Docker: solarpowered-ex

mkdir ./iso-output
sudo docker run --rm --privileged --volume ./iso-output:/build-container-installer/build --pull=always \
ghcr.io/jasonn3/build-container-installer:latest \
IMAGE_REPO=ghcr.io/askpng \
IMAGE_NAME=solarpowered-ex \
IMAGE_TAG=latest \
VARIANT=Silverblue

Podman: solarpowered

mkdir ./iso-output
sudo podman run --rm --privileged --volume ./iso-output:/build-container-installer/build --security-opt label=disable --pull=newer \
ghcr.io/jasonn3/build-container-installer:latest \
IMAGE_REPO=ghcr.io/askpng \
IMAGE_NAME=solarpowered \
IMAGE_TAG=latest \
VARIANT=Silverblue

Podman: solarpowered-ex

mkdir ./iso-output
sudo podman run --rm --privileged --volume ./iso-output:/build-container-installer/build --security-opt label=disable --pull=newer \
ghcr.io/jasonn3/build-container-installer:latest \
IMAGE_REPO=ghcr.io/askpng \
IMAGE_NAME=solarpowered-ex \
IMAGE_TAG=latest \
VARIANT=Silverblue

Verification

These images are signed with Sigstore's cosign.

Verify cosign.pub

Download the cosign.pub file from this repo and run the following command within the same directory:

cosign verify --key cosign.pub ghcr.io/askpng/solarpowered