#!/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 # Configure exclusion dnf -y config-manager setopt "fedora*".exclude=" \ kernel \ kernel-core \ kernel-modules \ kernel-modules-core \ kernel-modules-extra \ kernel-devel \ kernel-headers \ " # Enable repos for kernel-blu and akmods dnf -y copr enable sentry/kernel-blu # dnf -y copr enable ublue-os/akmods dnf -y config-manager addrepo --from-repofile=https://raw.githubusercontent.com/terrapkg/subatomic-repos/main/terra.repo dnf -y config-manager addrepo --from-repofile=https://negativo17.org/repos/fedora-multimedia.repo # Install akmods, kernel, and modules dnf -y install --setopt=install_weak_deps=False \ kernel \ kernel-devel \ kernel-modules-extra \ akmods \ akmod-evdi \ help2man \ v4l2loopback \ zenergy # Manually build modules, run depmod & generate initramfs VER=$(ls /lib/modules) && akmods --force --kernels $VER --kmod v4l2loopback && akmods --force --kernels $VER --kmod zenergy && 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*,*terra*,*multimedia*}.repo