lxc-busybox: check when bind-mounting host libdirs

The patch checks bind mounting lib directories when starting a
busybox container on a 64bit platform. Some entries in the host
filesystem are not present but the busybox template expects them
to be there, and thus container start fails.

Please see further details in added patch description.

Signed-off-by: Bogdan Purcareata <bogdan.purcareata@freescale.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
This commit is contained in:
Bogdan Purcareata 2013-05-14 12:41:26 +03:00 committed by Bruce Ashfield
parent 22e7b5e92b
commit 583002d427
2 changed files with 45 additions and 0 deletions

View File

@ -0,0 +1,44 @@
From 9e74f8161b8db05365fde0646b0c29c852afc3a0 Mon Sep 17 00:00:00 2001
From: Bogdan Purcareata <bogdan.purcareata@freescale.com>
Date: Tue, 14 May 2013 11:54:23 +0300
Subject: [PATCH] lxc-busybox: check when bind-mounting host libdirs
The patch changes the busybox template behavior to automatically
mount /lib and /usr/lib. In case one of these folders does not exist,
starting the container will fail. Also, if there are other lib entries
on the host - e.g. /usr/lib64 - mount them as well.
Signed-off-by: Bogdan Purcareata <bogdan.purcareata@freescale.com>
---
templates/lxc-busybox.in | 8 +-------
1 file changed, 1 insertion(+), 7 deletions(-)
diff --git a/templates/lxc-busybox.in b/templates/lxc-busybox.in
index cb425ec..49effae 100644
--- a/templates/lxc-busybox.in
+++ b/templates/lxc-busybox.in
@@ -240,13 +240,6 @@ lxc.pts = 1
#lxc.aa_profile = unconfined
EOF
-if [ -d "$rootfs/lib" ]; then
-cat <<EOF >> $path/config
-lxc.mount.entry = /lib $rootfs/lib none ro,bind 0 0
-lxc.mount.entry = /usr/lib $rootfs/usr/lib none ro,bind 0 0
-EOF
-fi
-
libdirs="\
lib \
usr/lib \
@@ -255,6 +248,7 @@ fi
for dir in $libdirs; do
if [ -d "/$dir" ] && [ -d "$rootfs/$dir" ]; then
+ echo "lxc.mount.entry = /$dir $rootfs/$dir none ro,bind 0 0" >> $path/config
echo "lxc.mount.entry = /$dir $dir none ro,bind 0 0" >> $path/config
fi
done
--
1.7.11.7

View File

@ -24,6 +24,7 @@ RDEPENDS_${PN} = " \
SRC_URI = "http://lxc.sourceforge.net/download/lxc/${PN}-${PV}.tar.gz \
file://lxc-0.9.0-disable-udhcp-from-busybox-template.patch \
file://lxc-0.9.0-enable-chroot-chpasswd-functionality-for-busybox-hosts.patch \
file://lxc-0.9.0-check-when-bind-mounting-libdirs.patch \
"
SRC_URI[md5sum] = "8552a4479090616f4bc04d8473765fc9"
SRC_URI[sha256sum] = "1e1767eae6cc5fbf892c0e193d25da420ba19f2db203716c38f7cdea3b654120"