Hello,

Thank you very much for your reply! I'm sorry for sending this in a hurry, and 
not providing enough explanations. Please find my additional comment inline.

Thank you,
Bogdan P.

> -----Original Message-----
> From: Serge Hallyn [mailto:serge.hal...@ubuntu.com]
> Sent: Tuesday, April 09, 2013 4:12 PM
> To: Purcareata Bogdan-B43198
> Cc: lxc-devel@lists.sourceforge.net
> Subject: Re: [lxc-devel] [PATCH] Enable support for chroot on busybox hosts
> 
> Quoting Bogdan Purcareata (bogdan.purcare...@freescale.com):
> > Signed-off-by: Bogdan Purcareata <bogdan.purcare...@freescale.com>
> 
> We generally prefer that mounting be done in a fresh namespace
> (lxc-unsahre -s MOUNT -- actions).  If lxc-busybox were switched to be
> 'set -e', it could leave lingering mounts (and we might not notice
> this still being done).
> 
> Do you mind changing it to do that?

What I am trying to do is install a busybox container on a busybox host.

When running the template, in order to change the root password, I need to do 
that chroot. But on my host, the chroot utility is not part of the coreutils 
package - it's part of busybox. And the busybox implementation for chroot only 
works if it has /lib in the new root populated with the right executables (or 
at least that's the solution I found to make it work).

My patch for this was to temporarily bind-mount /lib in the NEWROOT, chroot 
there, change the password, go back and unmount. All this is done while 
installing the template, and the mount should last only while executing the 
chroot command.

Is there a better way of achieving this?

> 
> > ---
> >  templates/lxc-busybox.in | 3 +++
> >  1 file changed, 3 insertions(+)
> >
> > diff --git a/templates/lxc-busybox.in b/templates/lxc-busybox.in
> > index cb425ec..450c5a5 100644
> > --- a/templates/lxc-busybox.in
> > +++ b/templates/lxc-busybox.in
> > @@ -189,8 +189,11 @@ configure_busybox()
> >      # passwd exec must be setuid
> >      chmod +s $rootfs/bin/passwd
> >      touch $rootfs/etc/shadow
> > +
> >      echo "setting root passwd to root"
> > +    mount --bind /lib $rootfs/lib
> >      echo "root:root" | chroot $rootfs chpasswd
> > +    umount $rootfs/lib
> >
> >
> >      # add ssh functionality if dropbear package available on host
> > --
> > 1.7.11.7
> >
> >
> >
> > ------------------------------------------------------------------------------
> > Precog is a next-generation analytics platform capable of advanced
> > analytics on semi-structured data. The platform includes APIs for building
> > apps and a phenomenal toolset for data science. Developers can use
> > our toolset for easy data analysis & visualization. Get a free account!
> > http://www2.precog.com/precogplatform/slashdotnewsletter
> > _______________________________________________
> > Lxc-devel mailing list
> > Lxc-devel@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/lxc-devel



------------------------------------------------------------------------------
Precog is a next-generation analytics platform capable of advanced
analytics on semi-structured data. The platform includes APIs for building
apps and a phenomenal toolset for data science. Developers can use
our toolset for easy data analysis & visualization. Get a free account!
http://www2.precog.com/precogplatform/slashdotnewsletter
_______________________________________________
Lxc-devel mailing list
Lxc-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lxc-devel

Reply via email to