about summary refs log tree commit diff
path: root/pkgs/tools/system/vboot_reference
diff options
context:
space:
mode:
authorGergely Risko <gergely@risko.hu>2013-05-27 12:10:19 +0200
committerGergely Risko <gergely@risko.hu>2013-05-27 12:10:19 +0200
commit601e9dfd947e7f1cdb4989c60d3749ea968277d9 (patch)
tree89fb5f82e7b0b995a6c3fcae833ad2d20b00ad29 /pkgs/tools/system/vboot_reference
parent2ad7c40a6699c7ea611654588f8db9efe9d35937 (diff)
downloadnixlib-601e9dfd947e7f1cdb4989c60d3749ea968277d9.tar
nixlib-601e9dfd947e7f1cdb4989c60d3749ea968277d9.tar.gz
nixlib-601e9dfd947e7f1cdb4989c60d3749ea968277d9.tar.bz2
nixlib-601e9dfd947e7f1cdb4989c60d3749ea968277d9.tar.lz
nixlib-601e9dfd947e7f1cdb4989c60d3749ea968277d9.tar.xz
nixlib-601e9dfd947e7f1cdb4989c60d3749ea968277d9.tar.zst
nixlib-601e9dfd947e7f1cdb4989c60d3749ea968277d9.zip
Add vboot_reference: tools needed for installing custom OS on Chromebooks
Diffstat (limited to 'pkgs/tools/system/vboot_reference')
-rw-r--r--pkgs/tools/system/vboot_reference/default.nix39
1 files changed, 39 insertions, 0 deletions
diff --git a/pkgs/tools/system/vboot_reference/default.nix b/pkgs/tools/system/vboot_reference/default.nix
new file mode 100644
index 000000000000..257a4ec4fd0b
--- /dev/null
+++ b/pkgs/tools/system/vboot_reference/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchgit, pkgconfig, libuuid, openssl }:
+
+let
+  arch = if stdenv.system == "x86_64-linux" then "x86_64"
+    else if stdenv.system == "i686-linux" then "x86"
+    else throw "vboot_reference for: ${stdenv.system} not supported!";
+
+  version = "20130507";
+  checkout = "25/50225/2";
+in stdenv.mkDerivation {
+  name = "vboot_reference-${version}";
+
+  src = fetchgit {
+    url = "http://git.chromium.org/git/chromiumos/platform/vboot_reference.git";
+    rev = "refs/changes/${checkout}";
+    sha256 = "00qhwhh5ygrcfm9is8hrk1spqdvfs6aa744h10jbr03zics5bvac";
+  };
+
+  buildInputs = [ pkgconfig openssl
+                  (stdenv.lib.overrideDerivation libuuid
+                    (args: { configureFlags = args.configureFlags + " --enable-static"; })) ];
+
+  buildPhase = ''
+    make ARCH=${arch} `pwd`/build/cgpt/cgpt
+    make ARCH=${arch} `pwd`/build/utility/vbutil_kernel
+    make ARCH=${arch} `pwd`/build/utility/vbutil_key
+    make ARCH=${arch} `pwd`/build/utility/vbutil_keyblock
+    make ARCH=${arch} `pwd`/build/utility/vbutil_firmware
+  '';
+
+  installPhase = ''
+    ensureDir $out/bin
+    cp build/cgpt/cgpt $out/bin
+    cp build/utility/vbutil_kernel $out/bin
+    cp build/utility/vbutil_key $out/bin
+    cp build/utility/vbutil_keyblock $out/bin
+    cp build/utility/vbutil_firmware $out/bin
+  '';
+}