git.iko.soy/typeable/nixpkgs
on master help sign in
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.

commit1df6380151bebebc1bfc793e790e15a0c4ac6502 authorLuflosi <luflosi@luflosi.de> dateTue 20 Jul 2021, 15:05 (5 years ago) parentd0947df
2 files changed+38
pkgs/os-specific/linux/lsirec/default.nix+36 pkgs/top-level/all-packages.nix+2
pkgs/os-specific/linux/lsirec/default.nixnew file+36
@@ -0,0 +1,36 @@
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+}
pkgs/top-level/all-packages.nix+2
@@ -22605,6 +22605,8 @@ with pkgs;
2260522605
2260622606 lockdep = callPackage ../os-specific/linux/lockdep { };
2260722607
22608+ lsirec = callPackage ../os-specific/linux/lsirec { };
22609+
2260822610 lsiutil = callPackage ../os-specific/linux/lsiutil { };
2260922611
2261022612 kaitai-struct-compiler = callPackage ../development/compilers/kaitai-struct-compiler { };