/ublue_akmods

A caching layer for pre-built Fedora akmod RPMs

Primary LanguageShellApache License 2.0Apache-2.0

build-38 build-39 build-40

ublue-os akmods

A layer for adding extra kernel modules to your image. Use for better hardware support and a few other features!

Features

Feel free to PR more kmod build scripts into this repo!

How it's organized

The akmods image is built and published daily. However, there's not a single image but several, given various kernel support we now provide.

Here's a rundown on how it's organized.

We do our best to support all current builds of Fedora, current versions of the kernel modules listed, and the latest NVIDIA driver. Note: NVIDIA legacy driver version 470 is no longer provided as RPMfusion has ceased updates to the package and it no longer builds with kernel 6.8 which has now released for Fedora 38 and 39. Also the -550 extra driver version tag has been removed as the latest driver will always be included.

The majority of the drivers are tagged with KERNEL_TYPE-FEDORA_RELEASE. NVIDIA drivers are bundled distinctly with tag KERNEL_TYPE-FEDORA_RELEASE-NVIDIA_VERSION.

KERNEL_TYPE FEDORA_RELEASE TAG
Fedora stock kernel 38 main-38
39 main-39
40 main-40
patched for ASUS devices 39 asus-39
40 asus-40
patched fsync 39 fsync-39
patched Microsoft Surface devices 39 surface-39
40 surface-40

Usage

To install one of these kmods, you'll need to install any of their specific dependencies (checkout the build-prep.sh and the specific build-FOO.sh script for details.

For common images, add something like this to your Containerfile, replacing TAG with one of the something-FR tags above:

COPY --from=ghcr.io/ublue-os/akmods:TAG /rpms/ /tmp/rpms
RUN find /tmp/rpms
RUN rpm-ostree install /tmp/rpms/ublue-os/ublue-os-akmods*.rpm
RUN rpm-ostree install /tmp/rpms/kmods/kmod-v4l2loopback*.rpm

For NVIDIA images, add something like this to your Containerfile, replacing TAG with one of the something-FR-NVV tags above:

COPY --from=ghcr.io/ublue-os/akmods:TAG /rpms/ /tmp/rpms
RUN find /tmp/rpms
RUN rpm-ostree install /tmp/rpms/ublue-os/ublue-os-nvidia*.rpm
RUN rpm-ostree install /tmp/rpms/kmods/kmod-nvidia.rpm

These examples show:

  1. copying all the rpms from the respective akmods images
  2. installing the respective ublue specific RPM
  3. installing a kmods RPM.

Adding kmods

If you have a kmod you want to contribute send a pull request by adding a script using build-kmod-wl.sh as an example.

Verification

These images are signed with sisgstore's cosign. You can verify the signature by downloading the cosign.pub key from this repo and running the following command, replacing RELEASE with either 38 or 39:

cosign verify --key cosign.pub ghcr.io/ublue-os/akmods:RELEASE

Metrics

Alt