I have an old Ceton Infinitv PCIe cablecard that has a linux kernel module on GitHub that I was able to get working in NixOS by manually building and installing the kernel module. I would now like to get it working “properly”.
I followed the wiki at Linux kernel - NixOS Wiki section on “Packaging out-of-tree kernel modules” and appear to have got the GitHub package downloaded and the build step initiated, however the build is currently failing to create some temporary directories. Here is my nixos-rebuild switch
output:
building Nix…
building the system configuration…
these 7 derivations will be built:
/nix/store/31is297lad2rjdbxb6wla29jjgxp3chw-ctn91xx-1.0-5.15.71.drv
/nix/store/1112fh2wbr2q3glvv284az4gk8nd1nzk-linux-5.15.71-modules.drv
/nix/store/pjjgw1wq6m3nvhvmbnxfv3b4br8xmwkd-linux-5.15.71-modules-shrunk.drv
/nix/store/bin99r2150s671w5h0vp174bjdmbamqm-stage-1-init.sh.drv
/nix/store/ip6c4v3dh22862m0m09v9352h73ds1gq-kernel-modules.drv
/nix/store/v40312nbcfy3xwscl3rzkrwxy1h2rbj1-initrd-linux-5.15.71.drv
/nix/store/pycaqyijy56cba20y3q8q4xcyqpxr2hc-nixos-system-myhostname0-22.05.3475.ed9b904c5eb.drv
building ‘/nix/store/31is297lad2rjdbxb6wla29jjgxp3chw-ctn91xx-1.0-5.15.71.drv’…
unpacking sources
unpacking source archive /nix/store/lp24mn2n9gfl1nd53r2fy78446yr96b6-source
source root is source
patching sources
configuring
no configure script, doing nothing
building
build flags: SHELL=/nix/store/9zm6br2ri10a0b71dll2wrim5bnhg6b6-bash-5.1-p16/bin/bash KERNELRELEASE=5.15.71 KERNEL_DIR=/nix/store/bkhj9ilbmvhmzig8ncnnp1yv10cxkl1r-linux-5.15.71-dev/lib/modules/5.15.71/build INSTALL_MOD_PATH=$(out)
make[1]: Entering directory ‘/nix/store/bkhj9ilbmvhmzig8ncnnp1yv10cxkl1r-linux-5.15.71-dev/lib/modules/5.15.71/build’
mkdir: cannot create directory ‘.tmp_51’: Permission denied
mkdir: cannot create directory ‘.tmp_53’: Permission denied
mkdir: cannot create directory ‘.tmp_55’: Permission denied
mkdir: cannot create directory ‘.tmp_58’: Permission denied
mkdir: cannot create directory ‘.tmp_60’: Permission denied
mkdir: cannot create directory ‘.tmp_62’: Permission denied
mkdir: cannot create directory ‘.tmp_64’: Permission denied
mkdir: cannot create directory ‘.tmp_66’: Permission denied
mkdir: cannot create directory ‘.tmp_68’: Permission denied
mkdir: cannot create directory ‘.tmp_70’: Permission denied
mkdir: cannot create directory ‘.tmp_72’: Permission denied
mkdir: cannot create directory ‘.tmp_86’: Permission denied
mkdir: cannot create directory ‘.tmp_88’: Permission denied
mkdir: cannot create directory ‘.tmp_90’: Permission denied
mkdir: cannot create directory ‘.tmp_92’: Permission denied
mkdir: cannot create directory ‘.tmp_94’: Permission denied
mkdir: cannot create directory ‘.tmp_96’: Permission denied
mkdir: cannot create directory ‘.tmp_98’: Permission denied
mkdir: cannot create directory ‘.tmp_100’: Permission denied
mkdir: cannot create directory ‘.tmp_102’: Permission denied
mkdir: cannot create directory ‘.tmp_104’: Permission denied
mkdir: cannot create directory ‘.tmp_106’: Permission denied
mkdir: cannot create directory ‘.tmp_108’: Permission denied
mkdir: cannot create directory ‘.tmp_120’: Permission denied
mkdir: cannot create directory ‘.tmp_122’: Permission denied
mkdir: cannot create directory ‘.tmp_124’: Permission denied
mkdir: cannot create directory ‘.tmp_126’: Permission denied
mkdir: cannot create directory ‘.tmp_129’: Permission denied
mkdir: cannot create directory ‘.tmp_131’: Permission denied
mkdir: cannot create directory ‘.tmp_133’: Permission denied
mkdir: cannot create directory ‘.tmp_135’: Permission denied
mkdir: cannot create directory ‘.tmp_137’: Permission denied
SYNC include/config/auto.conf.cmd
mkdir: cannot create directory ‘.tmp_165’: Permission denied
mkdir: cannot create directory ‘.tmp_167’: Permission denied
mkdir: cannot create directory ‘.tmp_169’: Permission denied
mkdir: cannot create directory ‘.tmp_171’: Permission denied
mkdir: cannot create directory ‘.tmp_173’: Permission denied
mkdir: cannot create directory ‘.tmp_175’: Permission denied
mkdir: cannot create directory ‘.tmp_177’: Permission denied
mkdir: cannot create directory ‘.tmp_179’: Permission denied
ln: failed to create symbolic link ‘source’: Permission denied
make[2]: *** [/nix/store/bkhj9ilbmvhmzig8ncnnp1yv10cxkl1r-linux-5.15.71-dev/lib/modules/5.15.71/source/Makefile:574: outputmakefile] Error 1
make[1]: *** [/nix/store/bkhj9ilbmvhmzig8ncnnp1yv10cxkl1r-linux-5.15.71-dev/lib/modules/5.15.71/source/Makefile:739: include/config/auto.conf.cmd] Error 2
make[1]: *** [include/config/auto.conf.cmd] Deleting file ‘include/generated/autoconf.h’
make[1]: unlink: include/generated/autoconf.h: Permission denied
make[1]: Leaving directory ‘/nix/store/bkhj9ilbmvhmzig8ncnnp1yv10cxkl1r-linux-5.15.71-dev/lib/modules/5.15.71/build’
make: *** [Makefile:38: ctn91xx_module] Error 2
error: builder for ‘/nix/store/31is297lad2rjdbxb6wla29jjgxp3chw-ctn91xx-1.0-5.15.71.drv’ failed with exit code 2
error: 1 dependencies of derivation ‘/nix/store/ip6c4v3dh22862m0m09v9352h73ds1gq-kernel-modules.drv’ failed to build
error: 1 dependencies of derivation ‘/nix/store/1112fh2wbr2q3glvv284az4gk8nd1nzk-linux-5.15.71-modules.drv’ failed to build
error: 1 dependencies of derivation ‘/nix/store/pycaqyijy56cba20y3q8q4xcyqpxr2hc-nixos-system-geonixlab0-22.05.3475.ed9b904c5eb.drv’ failed to build