Compare commits
15 Commits
03bc0c3bba
...
f371fba55e
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f371fba55e | ||
|
|
ac7d14e98a | ||
|
|
9a06941829 | ||
|
|
a3f1e0843a | ||
|
|
a936328c28 | ||
|
|
3b7a1e440f | ||
|
|
09760ca4a9 | ||
|
|
e91adc45ce | ||
|
|
e43e54dba9 | ||
|
|
17ece6cfde | ||
|
|
b924a4a4d8 | ||
|
|
1eefc90924 | ||
|
|
d2dc21a83f | ||
|
|
1ca3554ae7 | ||
|
|
fa8dee1ba4 |
BIN
docs/wallpapers/6293645.jpg
Normal file
|
After Width: | Height: | Size: 957 KiB |
BIN
docs/wallpapers/8.jpg
Normal file
|
After Width: | Height: | Size: 3.4 MiB |
|
After Width: | Height: | Size: 3.2 MiB |
|
Before Width: | Height: | Size: 2.0 MiB |
|
Before Width: | Height: | Size: 4.5 MiB |
|
Before Width: | Height: | Size: 11 MiB |
|
Before Width: | Height: | Size: 162 KiB After Width: | Height: | Size: 1.5 MiB |
|
After Width: | Height: | Size: 5.0 MiB |
BIN
files/assets/wallpapers/6293645.jpg
Normal file
|
After Width: | Height: | Size: 957 KiB |
BIN
files/assets/wallpapers/8.jpg
Normal file
|
After Width: | Height: | Size: 3.4 MiB |
|
Before Width: | Height: | Size: 387 KiB |
|
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 1.5 MiB |
|
Before Width: | Height: | Size: 4.5 MiB |
|
Before Width: | Height: | Size: 576 KiB |
|
Before Width: | Height: | Size: 234 KiB |
|
Before Width: | Height: | Size: 1.7 MiB |
|
After Width: | Height: | Size: 3.2 MiB |
|
After Width: | Height: | Size: 5.0 MiB |
@@ -19,29 +19,61 @@ KERNEL_PACKAGES=(
|
|||||||
kernel-cachyos-lto-modules
|
kernel-cachyos-lto-modules
|
||||||
)
|
)
|
||||||
|
|
||||||
# Disable kernel install hooks so the custom kernel installs cleanly into the image
|
# Disable kernel-install hooks so they don't trigger inside the container
|
||||||
|
# build environment. The initramfs will be generated explicitly below.
|
||||||
pushd /usr/lib/kernel/install.d
|
pushd /usr/lib/kernel/install.d
|
||||||
printf '%s\n' '#!/bin/sh' 'exit 0' > 05-rpmostree.install
|
printf '%s\n' '#!/bin/sh' 'exit 0' >05-rpmostree.install
|
||||||
printf '%s\n' '#!/bin/sh' 'exit 0' > 50-dracut.install
|
printf '%s\n' '#!/bin/sh' 'exit 0' >50-dracut.install
|
||||||
chmod +x 05-rpmostree.install 50-dracut.install
|
chmod +x 05-rpmostree.install 50-dracut.install
|
||||||
popd
|
popd
|
||||||
|
|
||||||
# Remove stock Fedora kernel packages
|
# Erase stock Fedora kernel RPMs from the package database
|
||||||
for pkg in kernel kernel-core kernel-modules kernel-modules-core; do
|
for pkg in kernel kernel-core kernel-modules kernel-modules-core; do
|
||||||
rpm --erase "$pkg" --nodeps || true
|
rpm --erase "$pkg" --nodeps || true
|
||||||
done
|
done
|
||||||
|
|
||||||
# Remove leftover kernel module directory
|
# Remove ALL existing kernel module directories. The original script used
|
||||||
CURRENT_MODULES=$(ls /usr/lib/modules | head -n1)
|
# `head -n1` which only removed the first entry — on Kinoite's base image
|
||||||
if [ -n "$CURRENT_MODULES" ]; then
|
# there are typically two kernel versions, leaving an orphaned module
|
||||||
rm -rf "/usr/lib/modules/$CURRENT_MODULES"
|
# directory that confuses rpm-ostree/bootc at deploy time.
|
||||||
fi
|
for KVER in $(ls /usr/lib/modules 2>/dev/null); do
|
||||||
|
rm -rf "/usr/lib/modules/$KVER"
|
||||||
|
done
|
||||||
|
|
||||||
# Install the CachyOS LTO kernel (repos were added via the preceding dnf module)
|
|
||||||
dnf5 -y install "${KERNEL_PACKAGES[@]}"
|
dnf5 -y install "${KERNEL_PACKAGES[@]}"
|
||||||
|
|
||||||
# Version-lock to prevent the kernel from being overwritten by base image updates
|
|
||||||
dnf5 versionlock add "${KERNEL_PACKAGES[@]}" || true
|
dnf5 versionlock add "${KERNEL_PACKAGES[@]}" || true
|
||||||
|
|
||||||
# /boot is not used in atomic container images
|
# Identify the newly installed CachyOS kernel version
|
||||||
|
NEW_KVER=$(ls /usr/lib/modules | head -n1)
|
||||||
|
|
||||||
|
# Ensure vmlinuz is at the path expected by rpm-ostree and bootc for boot
|
||||||
|
# entry generation. Some COPR kernel RPMs only install vmlinuz to /boot and
|
||||||
|
# not to /usr/lib/modules/<kver>/vmlinuz; copy it over if missing.
|
||||||
|
if [ ! -f "/usr/lib/modules/${NEW_KVER}/vmlinuz" ]; then
|
||||||
|
if [ -f "/boot/vmlinuz-${NEW_KVER}" ]; then
|
||||||
|
cp "/boot/vmlinuz-${NEW_KVER}" "/usr/lib/modules/${NEW_KVER}/vmlinuz"
|
||||||
|
else
|
||||||
|
echo "ERROR: vmlinuz not found for kernel ${NEW_KVER}" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Generate the initramfs inside the container image so that rpm-ostree and
|
||||||
|
# bootc can use it directly at deploy time. Without this step, Kinoite boots
|
||||||
|
# with no initramfs and hits a dracut emergency shell (the "wall of errors").
|
||||||
|
# --no-hostonly : include all drivers, not just the CI build host's hardware
|
||||||
|
# --add ostree : include the ostree dracut module for atomic deployments
|
||||||
|
dracut \
|
||||||
|
--reproducible \
|
||||||
|
--no-hostonly \
|
||||||
|
--add "ostree" \
|
||||||
|
--filesystems "btrfs" \
|
||||||
|
--add-drivers "btrfs" \
|
||||||
|
--force \
|
||||||
|
"/usr/lib/modules/${NEW_KVER}/initrd" \
|
||||||
|
"${NEW_KVER}"
|
||||||
|
|
||||||
|
# Atomic images manage /boot via the bootloader layer; clear any kernel
|
||||||
|
# files the RPM dropped there.
|
||||||
rm -rf /boot/*
|
rm -rf /boot/*
|
||||||
|
|||||||
BIN
files/system/usr/share/wallpapers/6293645.jpg
Normal file
|
After Width: | Height: | Size: 957 KiB |
BIN
files/system/usr/share/wallpapers/8.jpg
Normal file
|
After Width: | Height: | Size: 3.4 MiB |
|
Before Width: | Height: | Size: 387 KiB |
|
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 1.5 MiB |
|
Before Width: | Height: | Size: 4.5 MiB |
|
Before Width: | Height: | Size: 576 KiB |
|
Before Width: | Height: | Size: 234 KiB |
|
Before Width: | Height: | Size: 1.7 MiB |
|
After Width: | Height: | Size: 3.2 MiB |
|
After Width: | Height: | Size: 5.0 MiB |
@@ -28,7 +28,6 @@ modules:
|
|||||||
- alacritty
|
- alacritty
|
||||||
- ripgrep
|
- ripgrep
|
||||||
- fd-find
|
- fd-find
|
||||||
- realtime-setup
|
|
||||||
- zoxide
|
- zoxide
|
||||||
- fzf
|
- fzf
|
||||||
|
|
||||||
|
|||||||
@@ -3,11 +3,11 @@
|
|||||||
# image will be published to ghcr.io/<user>/<name>
|
# image will be published to ghcr.io/<user>/<name>
|
||||||
name: miasma-os
|
name: miasma-os
|
||||||
# description will be included in the image's metadata
|
# description will be included in the image's metadata
|
||||||
description: A personal spin based on Kinoite targeted towards musicians and music producers, with the CachyOS kernel for low-latency performance
|
description: An KDE based Universal Blue image targeted towards musicians and music producers inspired by Fedora Jam
|
||||||
|
|
||||||
# the base image to build on top of (FROM) and the version tag to use
|
# the base image to build on top of (FROM) and the version tag to use
|
||||||
base-image: ghcr.io/ublue-os/kinoite-main
|
base-image: quay.io/fedora-ostree-desktops/kinoite
|
||||||
image-version: latest # latest is also supported if you want new updates ASAP
|
image-version: 43
|
||||||
|
|
||||||
modules:
|
modules:
|
||||||
# Add CachyOS repos first so the kernel swap script can use them
|
# Add CachyOS repos first so the kernel swap script can use them
|
||||||
|
|||||||