Conditioning on /sys/power, and adding double patchelf for armv5tel-linux

svn path=/nixos/trunk/; revision=17390
This commit is contained in:
Lluís Batlle i Rossell 2009-09-23 20:50:48 +00:00
parent 7b14ee9932
commit eab68acb35
2 changed files with 11 additions and 4 deletions

View file

@ -106,8 +106,10 @@ if test -e /sys/power/tuxonice/resume; then
fi
fi
echo "@resumeDevice@" > /sys/power/resume 2> /dev/null || echo "failed to resume..."
echo shutdown > /sys/power/disk
if test -e /sys/power/resume -a -e /sys/power/disk; then
echo "@resumeDevice@" > /sys/power/resume 2> /dev/null || echo "failed to resume..."
echo shutdown > /sys/power/disk
fi
# Create device nodes in /dev.

View file

@ -128,17 +128,19 @@ let
devicemapper = if config.boot.initrd.lvm then pkgs.devicemapper else null;
lvm2 = if config.boot.initrd.lvm then pkgs.lvm2 else null;
allowedReferences = ["out"]; # prevent accidents like glibc being included in the initrd
doublePatchelf = (pkgs.stdenv.system == "armv5tel-linux");
}
''
ensureDir $out/bin
ensureDir $out/lib
# Copy what we need from Glibc.
cp -p ${pkgs.glibc}/lib/ld-linux*.so.2 $out/lib
cp -p ${pkgs.glibc}/lib/ld-linux*.so.? $out/lib
cp -p ${pkgs.glibc}/lib/libc.so.* $out/lib
cp -p ${pkgs.glibc}/lib/libpthread.so.* $out/lib
cp -p ${pkgs.glibc}/lib/librt.so.* $out/lib
cp -p ${pkgs.glibc}/lib/libdl.so.* $out/lib
cp -p ${pkgs.gcc.gcc}/lib/libgcc_s.so.* $out/lib
# Copy some utillinux stuff.
cp ${pkgs.utillinux}/bin/mount ${pkgs.utillinux}/bin/umount \
@ -190,7 +192,10 @@ let
for i in $out/bin/*; do
if ! test -L $i; then
echo "patching $i..."
patchelf --set-interpreter $out/lib/ld-linux*.so.2 --set-rpath $out/lib $i || true
patchelf --set-interpreter $out/lib/ld-linux*.so.? --set-rpath $out/lib $i || true
if [ "$doublePatchelf" -eq 1 ]; then
patchelf --set-interpreter $out/lib/ld-linux*.so.? --set-rpath $out/lib $i || true
fi
fi
done