From: Daniel Lezcano Date: Thu, 27 Jan 2011 23:24:54 +0000 (+0100) Subject: Fix paths in the lxc-busybox template X-Git-Tag: lxc-0.7.4-rc1~5 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b09ecaf30367648a246d2e01c3a288a7653cc613;p=thirdparty%2Flxc.git Fix paths in the lxc-busybox template Author of the patch : Jonathan Liu posted as a bug fix on the lxc sourceforge website. OS: Arch Linux 32-bit /etc/init.d/rcS do not use full path to syslogd, mount and udhcpc executables. As busybox requires /proc mounted if CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe" to run these commands without full path, the full path should be used in the startup script as /proc is mounted later in the script. It also fails to start the machine if /lib64 does not exist on the host system as there is a mount entry for /lib64 in the config. The attached patch changes commands in /etc/init.d/rcS to use full path and adds a check for /lib64 on host before adding lib64 mount entries to config. Signed-off-by: Daniel Lezcano --- diff --git a/templates/lxc-busybox.in b/templates/lxc-busybox.in index 62088df75..720ceef64 100644 --- a/templates/lxc-busybox.in +++ b/templates/lxc-busybox.in @@ -78,9 +78,9 @@ EOF # mount everything cat <> $rootfs/etc/init.d/rcS #!/bin/sh -syslogd -mount -a -udhcpc +/bin/syslogd +/bin/mount -a +/bin/udhcpc EOF # executable @@ -242,7 +242,7 @@ lxc.mount.entry=/usr/lib $rootfs/usr/lib none ro,bind 0 0 EOF fi -if [ -d "$rootfs/lib64" ]; then +if [ -d "/lib64" ] && [ -d "$rootfs/lib64" ]; then cat <> $path/config lxc.mount.entry=/lib64 $rootfs/lib64 none ro,bind 0 0 lxc.mount.entry=/usr/lib64 $rootfs/usr/lib64 none ro,bind 0 0