diff options
author | Lluís Batlle i Rossell <viric@vicerveza.homeunix.net> | 2009-11-08 00:32:12 +0000 |
---|---|---|
committer | Lluís Batlle i Rossell <viric@vicerveza.homeunix.net> | 2009-11-08 00:32:12 +0000 |
commit | 4b27d2870197b26b7c170caa333944231715d4a3 (patch) | |
tree | 6b781861cb96e9ce0660ca0b904ed3dda1cc6905 /pkgs/build-support/kernel | |
parent | 6e86ca940f9cb7fdbbf8663bc5c19af45fbc1e17 (diff) |
Porting changes from stdenv-updates into this branch.
This comes from:
svn diff ^/nixpkgs/trunk/@18255 ^/nixpkgs/branches/stdenv-updates/ > diff
patch -p0 < diff
and then adding into svn all files new from the patch.
trunk@18255 comes from the last time I updated stdenv-updates from trunk.
svn path=/nixpkgs/stdenv-updates2/; revision=18272
Diffstat (limited to 'pkgs/build-support/kernel')
-rw-r--r-- | pkgs/build-support/kernel/make-initrd.nix | 9 | ||||
-rw-r--r-- | pkgs/build-support/kernel/make-initrd.sh | 5 | ||||
-rw-r--r-- | pkgs/build-support/kernel/modules-closure.sh | 2 |
3 files changed, 13 insertions, 3 deletions
diff --git a/pkgs/build-support/kernel/make-initrd.nix b/pkgs/build-support/kernel/make-initrd.nix index b62ed9840456..92142b5ef43e 100644 --- a/pkgs/build-support/kernel/make-initrd.nix +++ b/pkgs/build-support/kernel/make-initrd.nix @@ -12,12 +12,17 @@ # `contents = {object = ...; symlink = /init;}' is a typical # argument. -{stdenv, perl, cpio, contents}: +{stdenv, perl, cpio, contents, uboot ? null}: + +assert stdenv.system == "armv5tel-linux" -> uboot != null; stdenv.mkDerivation { name = "initrd"; builder = ./make-initrd.sh; - buildInputs = [perl cpio]; + buildInputs = [perl cpio] + ++ stdenv.lib.optional (stdenv.system == "armv5tel-linux") [ uboot ]; + + makeUInitrd = if (stdenv.system == "armv5tel-linux") then true else false; # !!! should use XML. objects = map (x: x.object) contents; diff --git a/pkgs/build-support/kernel/make-initrd.sh b/pkgs/build-support/kernel/make-initrd.sh index d930e51a03f9..69931bad113c 100644 --- a/pkgs/build-support/kernel/make-initrd.sh +++ b/pkgs/build-support/kernel/make-initrd.sh @@ -37,3 +37,8 @@ storePaths=$(perl $pathsFromGraph closure-*) # Put the closure in a gzipped cpio archive. ensureDir $out (cd root && find * -print0 | cpio -ov -H newc --null | gzip -9 > $out/initrd) + +if [ -n "$makeUInitrd" ]; then + mv $out/initrd $out/initrd.gz + mkimage -A arm -O linux -T ramdisk -C gzip -d $out/initrd.gz $out/initrd +fi diff --git a/pkgs/build-support/kernel/modules-closure.sh b/pkgs/build-support/kernel/modules-closure.sh index e75ef927baae..af1faa7708ce 100644 --- a/pkgs/build-support/kernel/modules-closure.sh +++ b/pkgs/build-support/kernel/modules-closure.sh @@ -22,7 +22,7 @@ for module in $rootModules; do done echo "closure:" -ensureDir $out +ensureDir $out/lib/modules/"$version" for module in $closure; do target=$(echo $module | sed "s^/nix/store/.*/lib/modules/^$out/lib/modules/^") if test -e "$target"; then continue; fi |