diff options
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/os-specific/linux/microcode/amd.nix')
-rw-r--r-- | infra/libkookie/nixpkgs/pkgs/os-specific/linux/microcode/amd.nix | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/microcode/amd.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/microcode/amd.nix new file mode 100644 index 000000000000..135187c9a108 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/microcode/amd.nix @@ -0,0 +1,29 @@ +{ stdenv, firmwareLinuxNonfree, libarchive }: + +stdenv.mkDerivation { + name = "amd-ucode-${firmwareLinuxNonfree.version}"; + + src = firmwareLinuxNonfree; + + sourceRoot = "."; + + buildInputs = [ libarchive ]; + + buildPhase = '' + mkdir -p kernel/x86/microcode + find ${firmwareLinuxNonfree}/lib/firmware/amd-ucode -name \*.bin \ + -exec sh -c 'cat {} >> kernel/x86/microcode/AuthenticAMD.bin' \; + ''; + + installPhase = '' + mkdir -p $out + echo kernel/x86/microcode/AuthenticAMD.bin | bsdcpio -o -H newc -R 0:0 > $out/amd-ucode.img + ''; + + meta = with stdenv.lib; { + description = "AMD Processor microcode patch"; + homepage = "https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git"; + license = licenses.unfreeRedistributableFirmware; + platforms = platforms.linux; + }; +} |