Let's export the 'container' variable and let init receive it
as a kernel command line option.

In the upstart init scripts, we can distinguish if we are in a
container context or not.

===============================================================================

# /dev/console - getty
#
# This service maintains a getty on /dev/console from the point the
# system is started until it is shut down again.
# It only runs in lxc containers.

start on stopped rc RUNLEVEL=[2345]
stop on runlevel [!2345]

env container
pre-start script
        [ "x$container" != "xlxc" ] && { stop; exit 0; }
        exit 0;
end script

respawn

exec /sbin/getty -8 38400 /dev/console

===============================================================================

Signed-off-by: Daniel Lezcano <dlezc...@fr.ibm.com>
---
 src/lxc/lxc_start.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/src/lxc/lxc_start.c b/src/lxc/lxc_start.c
index 661764a..4f3d964 100644
--- a/src/lxc/lxc_start.c
+++ b/src/lxc/lxc_start.c
@@ -117,6 +117,11 @@ int main(int argc, char *argv[])
                         my_args.progname, my_args.quiet))
                return err;
 
+       if (putenv("container=lxc")) {
+               SYSERROR("failed to set environment variable");
+               return err;
+       }
+
        /* rcfile is specified in the cli option */
        if (my_args.rcfile)
                rcfile = (char *)my_args.rcfile;
-- 
1.7.1


------------------------------------------------------------------------------
Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)!
Finally, a world-class log management solution at an even better price-free!
Download using promo code Free_Logger_4_Dev2Dev. Offer expires 
February 28th, so secure your free ArcSight Logger TODAY! 
http://p.sf.net/sfu/arcsight-sfd2d
_______________________________________________
Lxc-devel mailing list
Lxc-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lxc-devel

Reply via email to