intel-ucode: Generate an early loadable microcode image
This commit is contained in:
parent
0d186a88a5
commit
8baaff95e6
@ -1,31 +1,34 @@
|
|||||||
{ stdenv, fetchurl, microcode2ucode }:
|
{ stdenv, fetchurl, libarchive }:
|
||||||
|
|
||||||
let version = "20140624"; in
|
stdenv.mkDerivation rec {
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
|
||||||
name = "microcode-intel-${version}";
|
name = "microcode-intel-${version}";
|
||||||
|
version = "20150121";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://downloadmirror.intel.com/23984/eng/microcode-${version}.tgz";
|
url = "http://downloadmirror.intel.com/24661/eng/microcode-${version}.tgz";
|
||||||
sha256 = "0dza0bdlx7q88yhnynvfgkrhgf7ycrq6mlp6hwnpp2j3h33jlrml";
|
sha256 = "1cznv3f25cxkwxdc930ab0ifvq0c76fryppadi4p26a2pf9knd93";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ microcode2ucode ];
|
buildInputs = [ libarchive ];
|
||||||
|
|
||||||
sourceRoot = ".";
|
sourceRoot = ".";
|
||||||
|
|
||||||
buildPhase = ''
|
buildPhase = ''
|
||||||
intel-microcode2ucode microcode.dat
|
gcc -O2 -Wall -o intel-microcode2ucode ${./intel-microcode2ucode.c}
|
||||||
|
./intel-microcode2ucode microcode.dat
|
||||||
'';
|
'';
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out/lib/firmware
|
mkdir -p $out kernel/x86/microcode
|
||||||
cp -r intel-ucode "$out/lib/firmware/"
|
mv microcode.bin kernel/x86/microcode/GenuineIntel.bin
|
||||||
|
echo kernel/x86/microcode/GenuineIntel.bin | bsdcpio -o -H newc -R 0:0 > $out/intel-ucode.img
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = {
|
meta = with stdenv.lib; {
|
||||||
homepage = http://www.intel.com/;
|
homepage = http://www.intel.com/;
|
||||||
description = "Microcode for Intel processors";
|
description = "Microcode for Intel processors";
|
||||||
license = stdenv.lib.licenses.unfree;
|
license = licenses.unfree;
|
||||||
|
maintainers = with maintainers; [ wkennington ];
|
||||||
|
platforms = platforms.linux;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user