Build kernel modules for any version of unRAID
  • Shell 67.9%
  • Perl 17.2%
  • Dockerfile 14.9%
Find a file
2021-11-01 20:08:55 -05:00
.github/workflows Changed branch master to main 2021-07-04 09:23:12 +01:00
build.sh Switch to the new CDN for stock unRAID and add support for pre-release versions 2021-11-01 20:08:55 -05:00
Dockerfile Switch to the new CDN for stock unRAID and add support for pre-release versions 2021-11-01 20:08:55 -05:00
get-modules.pl First version 2021-07-03 09:48:12 -05:00
LICENSE Initial commit 2021-07-03 09:46:40 -05:00
README.md Updated README 2021-07-04 09:34:13 +01:00

Building Kernel Modules for unRAID

This is a Docker container that can build additional kernel modules for unRAID servers. Just give it one or more kernel config snippets and an unRAID version to build for, and it will produce an output folder containing all of the newly built modules.

$ sudo docker --rm -it \
    -v /path/to/custom/config:/config \
    -v /path/to/output:/output \
    -e UNRAID_VERSION=6.9.2
    # optional:
    -v /path/to/download/cache:/cache \
    gameonwhales/unraid-module-builder

The image gameonwhales/unraid-module-builder is automatically generated using Github Actions, alternatively, you can build your own by cloning this repo.

Inputs

/path/to/config should be a directory containing one or more files ending in .config. These files should contain a snippet of configuration in the same format as the Linux kernel's .config file. For example, to build the uinput.ko module, it might look like this:

CONFIG_INPUT_UINPUT=m

/path/to/output is simply a directory where the build script will put the generated modules once they're built.

/path/to/download/cache is a directory that can be used to cache downloaded files between runs, so they don't have to be redownloaded. This is optional; if you don't provide it, the files will simply be downloaded each time.

UNRAID_VERSION should be set to the version of unRAID you're building for.