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.
This commit is contained in:
parent
d0947df006
commit
1df6380151
36
pkgs/os-specific/linux/lsirec/default.nix
Normal file
36
pkgs/os-specific/linux/lsirec/default.nix
Normal file
@ -0,0 +1,36 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, python3
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "lsirec";
|
||||
version = "unstable-2019-03-03";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "marcan";
|
||||
repo = "lsirec";
|
||||
rev = "2dfb6dc92649feb01a3ddcfd117d4a99098084f2";
|
||||
sha256 = "sha256-8v+KKjAJlJNpUT0poedRTQfPiDiwahrosXD35Bmh3jM=";
|
||||
};
|
||||
|
||||
buildInputs = [ python3 ];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
install -Dm755 'lsirec' "$out/bin/lsirec"
|
||||
install -Dm755 'sbrtool.py' "$out/bin/sbrtool"
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "LSI SAS2008/SAS2108 low-level recovery tool for Linux";
|
||||
homepage = "https://github.com/marcan/lsirec";
|
||||
platforms = platforms.linux;
|
||||
license = licenses.bsd2;
|
||||
maintainers = with maintainers; [ Luflosi ];
|
||||
};
|
||||
}
|
@ -22605,6 +22605,8 @@ with pkgs;
|
||||
|
||||
lockdep = callPackage ../os-specific/linux/lockdep { };
|
||||
|
||||
lsirec = callPackage ../os-specific/linux/lsirec { };
|
||||
|
||||
lsiutil = callPackage ../os-specific/linux/lsiutil { };
|
||||
|
||||
kaitai-struct-compiler = callPackage ../development/compilers/kaitai-struct-compiler { };
|
||||
|
Loading…
Reference in New Issue
Block a user