diff options
Diffstat (limited to 'installer')
-rw-r--r-- | installer/OpenSLX/OSExport/FileSystem/NFS.pm | 6 | ||||
-rw-r--r-- | installer/OpenSLX/OSExport/FileSystem/SquashFS.pm | 5 |
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)", |