summaryrefslogtreecommitdiffstats
path: root/installer
diff options
context:
space:
mode:
Diffstat (limited to 'installer')
-rw-r--r--installer/OpenSLX/OSExport/FileSystem/NFS.pm6
-rw-r--r--installer/OpenSLX/OSExport/FileSystem/SquashFS.pm5
2 files changed, 11 insertions, 0 deletions
diff --git a/installer/OpenSLX/OSExport/FileSystem/NFS.pm b/installer/OpenSLX/OSExport/FileSystem/NFS.pm
index 86f7c128..4cb6c1b7 100644
--- a/installer/OpenSLX/OSExport/FileSystem/NFS.pm
+++ b/installer/OpenSLX/OSExport/FileSystem/NFS.pm
@@ -238,6 +238,7 @@ sub _copyUclibEnv
{
my $self = shift;
my $target = shift;
+ my $targetRoot = $target;
$target .= "/opt/openslx/uclib-rootfs";
@@ -262,6 +263,11 @@ sub _copyUclibEnv
my $rsyncCmd
= "rsync -av --delete-excluded --exclude-from=-" . " $uclibcRootfs/ $target";
vlog(2, "executing: $rsyncCmd\n");
+ # link uClibc from the uclib-rootfs to /lib to make LD_PRELOAD=... working
+ my $uClibCmd = "ln -sf /opt/openslx/uclib-rootfs/lib/ld-uClibc.so.0";
+ $uClibCmd .= " $targetRoot/lib/ld-uClibc.so.0";
+ system("$uClibCmd");
+
open($rsyncFH, '|-', $rsyncCmd)
or die _tr("unable to start rsync for source '%s', giving up! (%s)",
$uclibcRootfs, $!);
diff --git a/installer/OpenSLX/OSExport/FileSystem/SquashFS.pm b/installer/OpenSLX/OSExport/FileSystem/SquashFS.pm
index fe70f8c2..12670dc4 100644
--- a/installer/OpenSLX/OSExport/FileSystem/SquashFS.pm
+++ b/installer/OpenSLX/OSExport/FileSystem/SquashFS.pm
@@ -213,6 +213,11 @@ sub _createSquashFS
vlog(0, _tr("preparing stage1 to add uclib-rootfs..."));
my $res = system("mkdir -p $source/opt/openslx/uclib-rootfs");
$res = system("mount -o ro --bind $uclibcRootfs $source/opt/openslx/uclib-rootfs");
+ # link uClibc from the uclib-rootfs to /lib to make LD_PRELOAD=... working
+ my $uClibCmd = "ln -sf /opt/openslx/uclib-rootfs/lib/ld-uClibc.so.0";
+ $uClibCmd .= " $source/lib/ld-uClibc.so.0";
+ system("$uClibCmd");
+
if ($res) {
die _tr(
"unable to prepare addition of uclib-rootfs in '%s', giving up! (%s)",