summaryrefslogtreecommitdiffstats
path: root/remote/rootfs
diff options
context:
space:
mode:
authorJonathan Bauer2014-07-01 17:33:14 +0200
committerJonathan Bauer2014-07-01 17:33:14 +0200
commit3215d80c00d21c4ac5c26355d8d6b2a3f24b575d (patch)
tree1d13bac2156ec1f9d356d8e004b4f87f31b79b5e /remote/rootfs
parent[freiburg] activate kdm-disabled-services (diff)
downloadtm-scripts-3215d80c00d21c4ac5c26355d8d6b2a3f24b575d.tar.gz
tm-scripts-3215d80c00d21c4ac5c26355d8d6b2a3f24b575d.tar.xz
tm-scripts-3215d80c00d21c4ac5c26355d8d6b2a3f24b575d.zip
don't split busybox applets in /usr.
all busybox stuff is now under /bin and /sbin. We create links for all applets in stage32's /bin and /sbin. This fixes the "no such file" errors caused by hardcoded calls (e.g. /bin/rm) in a some binaries.
Diffstat (limited to 'remote/rootfs')
-rwxr-xr-xremote/rootfs/rootfs-stage31/data/init11
-rw-r--r--remote/rootfs/rootfs-stage32/module.build2
2 files changed, 10 insertions, 3 deletions
diff --git a/remote/rootfs/rootfs-stage31/data/init b/remote/rootfs/rootfs-stage31/data/init
index 1cfc9a98..f8424d33 100755
--- a/remote/rootfs/rootfs-stage31/data/init
+++ b/remote/rootfs/rootfs-stage31/data/init
@@ -80,7 +80,14 @@ bench_event "STAGE32" "Downloaded stage 3.2"
# copy files needed for stage3.2 to FUTURE_ROOT
echo "Copying busybox etc. to stage32..."
-tar -cp "/bin" "/sbin" "/usr/bin" "/usr/sbin" "/inc/functions" | tar -xp -C "${FUTURE_ROOT}/opt/openslx/"
+tar -cp "/bin" "/sbin" "/inc/functions" | tar -xp -C "${FUTURE_ROOT}/opt/openslx/"
+
+# make all busybox applets available in stage32's /bin /sbin
+for b in /bin/* /sbin/*; do
+ if [ "x$(readlink -f $b)" == "x/bin/busybox" ]; then
+ ln -s /opt/openslx/bin/busybox /mnt$b
+ fi
+done
# set the SLX_ROOT_PASS if given in config
if [ ! -z "$SLX_ROOT_PASS" ]; then
@@ -105,6 +112,6 @@ unset BOOT_IMAGE initrd KCL ip slxbase slxsrv IPINFO vga ip MAC BOOTIF DEBUG OLD
export HOME=/
export init="/usr/lib/systemd/systemd"
export recovery=
-export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/openslx/usr/sbin:/opt/openslx/usr/bin:/opt/openslx/sbin:/opt/openslx/bin"
+export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/openslx/sbin:/opt/openslx/bin"
exec /sbin/switch_root -c /dev/console /mnt /usr/lib/systemd/systemd
diff --git a/remote/rootfs/rootfs-stage32/module.build b/remote/rootfs/rootfs-stage32/module.build
index 62876bc4..86a47fd4 100644
--- a/remote/rootfs/rootfs-stage32/module.build
+++ b/remote/rootfs/rootfs-stage32/module.build
@@ -85,7 +85,7 @@ post_copy() {
# set /etc/environment to include /opt/openslx/bin and /opt/openslx/sbin
#add_env PATH "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/openslx/sbin:/opt/openslx/bin"
- add_env PATH "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/openslx/usr/sbin:/opt/openslx/usr/bin:/opt/openslx/sbin:/opt/openslx/bin"
+ add_env PATH "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/openslx/sbin:/opt/openslx/bin"
# set terminal to linux as it defaults to xterm which messes up ssh sessions
add_env TERM "linux"