52 lines
1.2 KiB
Nix
52 lines
1.2 KiB
Nix
#
|
|
# Kernel module for i915 sr-iov support.
|
|
#
|
|
# vim: et:ts=2:sw=2:
|
|
#
|
|
{
|
|
stdenv,
|
|
lib,
|
|
nukeReferences,
|
|
fetchFromGitHub,
|
|
linuxPackages,
|
|
}:
|
|
let
|
|
kernel = linuxPackages.kernel;
|
|
in
|
|
stdenv.mkDerivation rec {
|
|
name = "i915-sriov-${version}-${kernel.version}";
|
|
version = "2024-05-07";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "strongtz";
|
|
repo = "i915-sriov-dkms";
|
|
rev = "3d7a1b3fa4706d8da316d8e794d54db96856a2b9";
|
|
hash = "sha256-TJk0zmXA2sUhbDu0jsA/1kFeIba8ZIZ0a4joPK4v8Ck=";
|
|
};
|
|
|
|
kernelVersion = kernel.version;
|
|
nativeBuildInputs = kernel.moduleBuildDependencies ++ [ nukeReferences ];
|
|
|
|
postUnpack = ''
|
|
cp -r $src/drivers/gpu/drm/i915/* .
|
|
ls -lah
|
|
'';
|
|
|
|
buildPhase = ''
|
|
make -j$(nproc) -C ${kernel.dev}/lib/modules/${kernel.modDirVersion}/build M=$(pwd) KVER=${kernel.modDirVersion}
|
|
'';
|
|
|
|
installPhase = ''
|
|
mkdir -p $out/lib/modules/$kernelVersion/misc
|
|
for x in $(find . -name '*.ko'); do
|
|
nuke-refs $x
|
|
cp $x $out/lib/modules/$kernelVersion/misc/
|
|
done
|
|
'';
|
|
|
|
meta = with lib; {
|
|
description = "A kernel module to enable SR-IOV on modern intel devices";
|
|
license = licenses.gpl2;
|
|
platforms = platforms.linux;
|
|
};
|
|
}
|