On Wed, Oct 23, 2013 at 01:02:59AM +0000, Serge Hallyn wrote: > From: Serge Hallyn <serge.hal...@ubuntu.com> > > Signed-off-by: Serge Hallyn <serge.hal...@ubuntu.com>
We really should be working on a shared set of functions all templates can source instead of re-inventing the wheel over and over again (thinking about config, fstab, architecture handling, locking, ...) Acked-by: Stéphane Graber <stgra...@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 -- Stéphane Graber Ubuntu developer http://www.ubuntu.com
signature.asc
Description: Digital signature
------------------------------------------------------------------------------ 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