diff --git a/pkgs/misc/mlxbf-bootimages/default.nix b/pkgs/misc/mlxbf-bootimages/default.nix new file mode 100644 index 000000000000..a7552c0bb5cb --- /dev/null +++ b/pkgs/misc/mlxbf-bootimages/default.nix @@ -0,0 +1,41 @@ +{ stdenv +, lib +, fetchurl +, dpkg +}: + +stdenv.mkDerivation rec { + pname = "mlxbf-bootimages"; + version = "4.0.3-12704"; + + src = fetchurl { + url = let mainVersion = builtins.elemAt (lib.splitString "-" version) 0; in + "https://linux.mellanox.com/public/repo/bluefield/${mainVersion}/bootimages/prod/${pname}-signed_${version}_arm64.deb"; + hash = "sha256-e13XZhxf41240Qu+hh2a9+KIvZCL+8k5JyZrpJCHmI8="; + }; + + nativeBuildInputs = [ + dpkg + ]; + + unpackCmd = "dpkg -x $curSrc src"; + + # Only install /lib. /usr only contains the licenses which are also available + # in /lib. + installPhase = '' + find lib -type f -exec install -D {} $out/{} \; + ''; + + meta = with lib; { + description = "BlueField boot images"; + homepage = "https://github.com/Mellanox/bootimages"; + # It is unclear if the bootimages themselves are Open Source software. They + # never explicitly say they are. They contain Open Source software licensed + # under bsd2, bsd2Patent, bsd3. However, it is probably safer to assume + # they are unfree. See https://github.com/Mellanox/bootimages/issues/3 + license = licenses.unfree; + platforms = [ "aarch64-linux" ]; + maintainers = with maintainers; [ nikstur ]; + }; +} + diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6b03392cf33e..e0fc733e4a28 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -26453,6 +26453,8 @@ with pkgs; armTrustedFirmwareS905 ; + mlxbf-bootimages = callPackage ../misc/mlxbf-bootimages { }; + microcodeAmd = callPackage ../os-specific/linux/microcode/amd.nix { }; microcodeIntel = callPackage ../os-specific/linux/microcode/intel.nix { };