From: Serge Hallyn <serge.hal...@ubuntu.com> Signed-off-by: Serge Hallyn <serge.hal...@ubuntu.com> --- templates/lxc-busybox.in | 44 +++++++++++++++++++++++++++++++------------- 1 file changed, 31 insertions(+), 13 deletions(-)
diff --git a/templates/lxc-busybox.in b/templates/lxc-busybox.in index cbdaaf3..7aa4130 100644 --- a/templates/lxc-busybox.in +++ b/templates/lxc-busybox.in @@ -20,6 +20,17 @@ # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +am_in_userns() { + [ -e /proc/self/uid_map ] || { echo no; return; } + [ "$(wc -l /proc/self/uid_map | awk '{ print $1 }')" -eq 1 ] || { echo yes; return; } + line=$(awk '{ print $1 " " $2 " " $3 }' /proc/self/uid_map) + [ "$line" = "0 0 4294967295" ] && { echo no; return; } + echo yes +} + +in_userns=0 +[ $(am_in_userns) = "yes" ] && in_userns=1 + install_busybox() { rootfs=$1 @@ -55,19 +66,26 @@ $rootfs/usr/lib64" pushd $rootfs/dev > /dev/null || return 1 # minimal devices needed for busybox - mknod tty c 5 0 || res=1 - mknod console c 5 1 || res=1 - chmod 666 tty console || res=1 - mknod tty0 c 4 0 || res=1 - mknod tty1 c 4 0 || res=1 - mknod tty5 c 4 0 || res=1 - chmod 666 tty0 || res=1 - mknod ram0 b 1 0 || res=1 - chmod 600 ram0 || res=1 - mknod null c 1 3 || res=1 - chmod 666 null || res=1 - mknod urandom c 1 9 || res=1 - chmod 666 urandom || res=1 + if [ $in_userns -eq 1 ]; then + for dev in tty console tty0 tty1 tty5 ram0 null urandom; do + touch $rootfs/dev/$dev + echo "/dev/$dev dev/$dev none bind 0 0" >> $path/fstab + done + else + mknod tty c 5 0 || res=1 + mknod console c 5 1 || res=1 + chmod 666 tty console || res=1 + mknod tty0 c 4 0 || res=1 + mknod tty1 c 4 0 || res=1 + mknod tty5 c 4 0 || res=1 + chmod 666 tty0 || res=1 + mknod ram0 b 1 0 || res=1 + chmod 600 ram0 || res=1 + mknod null c 1 3 || res=1 + chmod 666 null || res=1 + mknod urandom c 1 9 || res=1 + chmod 666 urandom || res=1 + fi popd > /dev/null -- 1.8.1.2 ------------------------------------------------------------------------------ October Webinars: Code for Performance Free Intel webinars can help you accelerate application performance. Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from the latest Intel processors and coprocessors. See abstracts and register > http://pubads.g.doubleclick.net/gampad/clk?id=60135991&iu=/4140/ostg.clktrk _______________________________________________ Lxc-devel mailing list Lxc-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lxc-devel