59 lines
1.7 KiB
Nix
59 lines
1.7 KiB
Nix
{ pkgs, lib, ... }:
|
|
let
|
|
kernel = pkgs.linuxPackages.kernel;
|
|
i40e = pkgs.stdenv.mkDerivation rec {
|
|
name = "i40e-${version}-${kernel.version}";
|
|
version = "2.13.10";
|
|
|
|
src = pkgs.fetchFromGitHub {
|
|
owner = "dmarion";
|
|
repo = "i40e";
|
|
rev = "7228a7c3b362c3170baa2f9a9c6870a900e78dbd";
|
|
sha256 = "087kvq9wrc1iw6vig8cqcx7cb6346wx8qxzb85c3n8638vq1vrxr";
|
|
};
|
|
|
|
hardeningDisable = [ "pic" ];
|
|
|
|
configurePhase = ''
|
|
cd src
|
|
kernel_version=${kernel.modDirVersion}
|
|
sed -i -e 's|/lib/modules|${kernel.dev}/lib/modules|' Makefile
|
|
sed -i -e 's|/lib/modules|${kernel.dev}/lib/modules|' common.mk
|
|
export makeFlags="BUILD_KERNEL=$kernel_version"
|
|
'';
|
|
|
|
installPhase = ''
|
|
install -v -D -m 644 i40e.ko "$out/lib/modules/$kernel_version/kernel/drivers/net/i40e/i40e2.ko"
|
|
'';
|
|
|
|
dontStrip = true;
|
|
|
|
enableParallelBuilding = true;
|
|
|
|
meta = {
|
|
description = "Linux kernel drivers for Intel Ethernet adapters and LOMs (LAN On Motherboard)";
|
|
homepage = "https://github.com/dmarion/i40e";
|
|
license = lib.licenses.gpl2;
|
|
};
|
|
};
|
|
in
|
|
{
|
|
# i40e2 = i40e;
|
|
boot.kernelPackages = pkgs.linuxPackagesFor (
|
|
pkgs.linux_5_10.override {
|
|
argsOverride = rec {
|
|
src = pkgs.fetchurl {
|
|
url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
|
|
sha256 = "1nzhl1y6avfl77fyqwjwy3qc6679gp92k0d3aarscrdydcml5yid";
|
|
};
|
|
version = "5.10.239";
|
|
modDirVersion = "5.10.239";
|
|
};
|
|
}
|
|
);
|
|
# boot.kernelPackages = pkgs.linuxKernel.packages.linux_5_10;
|
|
# overlay = self: super: {
|
|
# linuxPackages_5_4 = super.linuxPackages_5_4 // { inherit i40e; };
|
|
# };
|
|
}
|