From 583002d427aa450abb50adbe1b8c1f266c29ed75 Mon Sep 17 00:00:00 2001 From: Bogdan Purcareata Date: Tue, 14 May 2013 12:41:26 +0300 Subject: 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 Signed-off-by: Bruce Ashfield --- ...xc-0.9.0-check-when-bind-mounting-libdirs.patch | 44 ++++++++++++++++++++++ recipes-containers/lxc/lxc_0.9.0.bb | 1 + 2 files changed, 45 insertions(+) create mode 100644 recipes-containers/lxc/files/lxc-0.9.0-check-when-bind-mounting-libdirs.patch diff --git a/recipes-containers/lxc/files/lxc-0.9.0-check-when-bind-mounting-libdirs.patch b/recipes-containers/lxc/files/lxc-0.9.0-check-when-bind-mounting-libdirs.patch new file mode 100644 index 00000000..4d21a02d --- /dev/null +++ b/recipes-containers/lxc/files/lxc-0.9.0-check-when-bind-mounting-libdirs.patch @@ -0,0 +1,44 @@ +From 9e74f8161b8db05365fde0646b0c29c852afc3a0 Mon Sep 17 00:00:00 2001 +From: Bogdan Purcareata +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 +--- + 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 <> $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 + diff --git a/recipes-containers/lxc/lxc_0.9.0.bb b/recipes-containers/lxc/lxc_0.9.0.bb index 63ce2d66..1cbbad04 100644 --- a/recipes-containers/lxc/lxc_0.9.0.bb +++ b/recipes-containers/lxc/lxc_0.9.0.bb @@ -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" -- cgit v1.2.3-54-g00ecf