lsirec: init at unstable-2019-03-03

This adds lsirec, a utility that can be used to modify and recover certain LSI HBA PCIe cards.
My Dell R610 Server has an anti-feature that prevents the machine from booting, if any PCIe card not blessed by Dell for such usage is installed in the "storage slot" of the server. I used lsiutil to flash a different firmware to my "Dell PERC H310" to convert it into a "Dell 6Gbps SAS HBA Adapter". I was then able to use lsirec and the included sbrtool python script to modify my "Dell 6Gbps SAS HBA Adapter" card into pretending to be a "Dell PERC H200 Integrated" card, finally making it work in the storage slot and circumventing the stupid firmware check.

Luflosi 1df63801 d0947df0

+38
+36
pkgs/os-specific/linux/lsirec/default.nix
···
··· 1 + { lib 2 + , stdenv 3 + , fetchFromGitHub 4 + , python3 5 + }: 6 + 7 + stdenv.mkDerivation rec { 8 + pname = "lsirec"; 9 + version = "unstable-2019-03-03"; 10 + 11 + src = fetchFromGitHub { 12 + owner = "marcan"; 13 + repo = "lsirec"; 14 + rev = "2dfb6dc92649feb01a3ddcfd117d4a99098084f2"; 15 + sha256 = "sha256-8v+KKjAJlJNpUT0poedRTQfPiDiwahrosXD35Bmh3jM="; 16 + }; 17 + 18 + buildInputs = [ python3 ]; 19 + 20 + installPhase = '' 21 + runHook preInstall 22 + 23 + install -Dm755 'lsirec' "$out/bin/lsirec" 24 + install -Dm755 'sbrtool.py' "$out/bin/sbrtool" 25 + 26 + runHook postInstall 27 + ''; 28 + 29 + meta = with lib; { 30 + description = "LSI SAS2008/SAS2108 low-level recovery tool for Linux"; 31 + homepage = "https://github.com/marcan/lsirec"; 32 + platforms = platforms.linux; 33 + license = licenses.bsd2; 34 + maintainers = with maintainers; [ Luflosi ]; 35 + }; 36 + }
+2
pkgs/top-level/all-packages.nix
··· 22605 22606 lockdep = callPackage ../os-specific/linux/lockdep { }; 22607 22608 lsiutil = callPackage ../os-specific/linux/lsiutil { }; 22609 22610 kaitai-struct-compiler = callPackage ../development/compilers/kaitai-struct-compiler { };
··· 22605 22606 lockdep = callPackage ../os-specific/linux/lockdep { }; 22607 22608 + lsirec = callPackage ../os-specific/linux/lsirec { }; 22609 + 22610 lsiutil = callPackage ../os-specific/linux/lsiutil { }; 22611 22612 kaitai-struct-compiler = callPackage ../development/compilers/kaitai-struct-compiler { };