makeInitrd: Make the compressor configurable

This commit is contained in:
Shea Levy 2013-02-19 11:49:31 -05:00
parent 7dfd7a93d4
commit 79c3f992b4
3 changed files with 7 additions and 5 deletions

View file

@ -12,7 +12,7 @@
# `contents = {object = ...; symlink = /init;}' is a typical
# argument.
{stdenv, perl, cpio, contents, ubootChooser}:
{stdenv, perl, cpio, contents, ubootChooser, compressor}:
let
inputsFun = ubootName : [perl cpio]
@ -40,4 +40,5 @@ stdenv.mkDerivation {
buildNativeInputs = inputsFun stdenv.cross.platform.uboot;
makeUInitrd = makeUInitrdFun stdenv.cross.platform.uboot;
};
inherit compressor;
}

View file

@ -36,7 +36,7 @@ storePaths=$(perl $pathsFromGraph closure-*)
# Put the closure in a gzipped cpio archive.
mkdir -p $out
(cd root && find * -print0 | cpio -o -H newc --null | gzip -9 > $out/initrd)
(cd root && find * -print0 | cpio -o -H newc --null | $compressor > $out/initrd)
if [ -n "$makeUInitrd" ]; then
mv $out/initrd $out/initrd.gz

View file

@ -323,9 +323,10 @@ let
inherit lib;
};
makeInitrd = {contents}: import ../build-support/kernel/make-initrd.nix {
inherit stdenv perl cpio contents ubootChooser;
};
makeInitrd = {contents, compressor ? "gzip -9"}:
import ../build-support/kernel/make-initrd.nix {
inherit stdenv perl cpio contents ubootChooser compressor;
};
makeWrapper = makeSetupHook { } ../build-support/setup-hooks/make-wrapper.sh;