Files
miasma-os/docs/solarpowered-main/files/scripts/kernels/kernel-cachy.sh

56 lines
2.2 KiB
Bash

#!/usr/bin/env bash
# Remove Fedora kernel & remove leftover files
dnf -y remove \
kernel \
kernel-* && \
rm -r -f /usr/lib/modules/*
# Install dnf-plugins-core just in case
dnf -y install --setopt=install_weak_deps=False \
dnf-plugins-core \
dnf5-plugins
# Enable repos
dnf -y copr enable bieszczaders/kernel-cachyos-lto
dnf -y copr enable bieszczaders/kernel-cachyos-addons
# dnf -y copr enable ublue-os/akmods
dnf -y config-manager addrepo --from-repofile=https://negativo17.org/repos/fedora-multimedia.repo
dnf -y config-manager addrepo --from-repofile=https://raw.githubusercontent.com/terrapkg/subatomic-repos/main/terra.repo
# Handles kernel post-transaction scriptlet
# mv /usr/lib/kernel/install.d/05-rpmostree.install /usr/lib/kernel/install.d/05-rpmostree.install.bak
# mv /usr/lib/kernel/install.d/50-dracut.install /usr/lib/kernel/install.d/50-dracut.install.bak
# printf '%s\n' '#!/bin/sh' 'exit 0' > /usr/lib/kernel/install.d/05-rpmostree.install
# printf '%s\n' '#!/bin/sh' 'exit 0' > /usr/lib/kernel/install.d/50-dracut.install
# chmod +x \
# /usr/lib/kernel/install.d/05-rpmostree.install \
# /usr/lib/kernel/install.d/50-dracut.install
# Install CachyOS LTO kernel & akmods
dnf -y install --setopt=install_weak_deps=False \
kernel-cachyos-lto \
kernel-cachyos-lto-devel \
akmods \
akmod-evdi \
zenergy \
scx-scheds \
scx-tools \
scx-manager
dnf -y swap zram-generator-defaults cachyos-settings
# Handles kernel post-transaction scriptlet
# rm -f /usr/lib/kernel/install.d/05-rpmostree.install \
# /usr/lib/kernel/install.d/50-dracut.install
# mv /usr/lib/kernel/install.d/05-rpmostree.install.bak /usr/lib/kernel/install.d/05-rpmostree.install
# mv /usr/lib/kernel/install.d/50-dracut.install.bak /usr/lib/kernel/install.d/50-dracut.install
# Manually build modules, run depmod & generate initramfs
VER=$(ls /lib/modules) && \
akmods --force --kernels $VER --kmod zenergy && \
akmods --force --kernels $VER --kmod evdi && \
depmod -a $VER && \
dracut --kver $VER --force --add ostree --no-hostonly --reproducible /usr/lib/modules/$VER/initramfs.img
# Clean up repos from earlier
rm -f /etc/yum.repos.d/{*copr*,*multimedia*,*terra*}.repo