From 6288a16921b31f82db34ab819eccc8c0fcc46a96 Mon Sep 17 00:00:00 2001 From: Michael Janczyk Date: Wed, 18 Feb 2009 19:34:52 +0000 Subject: changed splashy to use splashy_update with uclibc and LD_LIBRARY_PATH. Link to /lib is added when a system is exported. Splashy still static, no dyn-version /w uclibc in the near future :( git-svn-id: http://svn.openslx.org/svn/openslx/openslx/trunk@2607 95ad53e4-c205-0410-b2fa-d234c58c8868 --- installer/OpenSLX/OSExport/FileSystem/NFS.pm | 6 ++++++ installer/OpenSLX/OSExport/FileSystem/SquashFS.pm | 5 +++++ 2 files changed, 11 insertions(+) (limited to 'installer') 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)", -- cgit v1.2.3-55-g7522