diff --git a/docs/drvlxc.html.in b/docs/drvlxc.html.in index 5ce218d92a75fa4af55375dc93252a50d2a92a54..47837d1a899ae883cfd08ec6d6f12a786680902e 100644 --- a/docs/drvlxc.html.in +++ b/docs/drvlxc.html.in @@ -39,6 +39,23 @@ driver. On such kernels, it may be neccessary to unmount the blkio controller.

+

Environment setup for the container init

+ +

+When the container "init" process is started, it will be given several useful +environment variables. +

+ +
+
LIBVIRT_LXC_NAME
+
The name assigned to the container by libvirt
+
LIBVIRT_LXC_UUID
+
The UUID assigned to the container by libvirt
+
LIBVIRT_LXC_CMDLINE
+
The unparsed command line arguments specified in the container configuration
+
+ +

Example config version 1

diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index ab1249b704eb82d9383bfbb275b3f48de914f002..f9007ce5a9b678aaffcf2cd36d61eb8200a2ac66 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -6834,6 +6834,7 @@ static virDomainDefPtr virDomainDefParseXML(virCapsPtr caps,
                 goto error;
             }
         }
+        def->os.cmdline = virXPathString("string(./os/cmdline[1])", ctxt);
     }
 
     if (STREQ(def->os.type, "xen") ||
diff --git a/src/lxc/lxc_container.c b/src/lxc/lxc_container.c
index 787df9a3f6a00861045ab9c16e0e6c39bf075424..69cea8e4df1863c96eb1d10631447d0a1651b5d9 100644
--- a/src/lxc/lxc_container.c
+++ b/src/lxc/lxc_container.c
@@ -116,6 +116,8 @@ static virCommandPtr lxcContainerBuildInitCmd(virDomainDefPtr vmDef)
     virCommandAddEnvString(cmd, "TERM=linux");
     virCommandAddEnvPair(cmd, "LIBVIRT_LXC_UUID", uuidstr);
     virCommandAddEnvPair(cmd, "LIBVIRT_LXC_NAME", vmDef->name);
+    if (vmDef->os.cmdline)
+        virCommandAddEnvPair(cmd, "LIBVIRT_LXC_CMDLINE", vmDef->os.cmdline);
 
     return cmd;
 }