Add support for systemd-nspawn containers
This adds support for running OpenRC in a container created by the systemd-nspawn utility. This fixes #52. X-Gentoo-Bug: 548058 X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=548058
This commit is contained in:
parent
a27d577da8
commit
c709e6077c
@ -2,14 +2,15 @@
|
||||
# LINUX SPECIFIC OPTIONS
|
||||
|
||||
# This is the subsystem type. Valid options on Linux:
|
||||
# "" - nothing special
|
||||
# "lxc" - Linux Containers
|
||||
# "openvz" - Linux OpenVZ
|
||||
# "prefix" - Prefix
|
||||
# "uml" - Usermode Linux
|
||||
# "vserver" - Linux vserver
|
||||
# "xen0" - Xen0 Domain
|
||||
# "xenU" - XenU Domain
|
||||
# "" - nothing special
|
||||
# "lxc" - Linux Containers
|
||||
# "openvz" - Linux OpenVZ
|
||||
# "prefix" - Prefix
|
||||
# "uml" - Usermode Linux
|
||||
# "vserver" - Linux vserver
|
||||
# "systemd-nspawn" - Container created by the systemd-nspawn utility
|
||||
# "xen0" - Xen0 Domain
|
||||
# "xenU" - XenU Domain
|
||||
# If this is commented out, automatic detection will be used.
|
||||
#
|
||||
# This should be set to the value representing the environment this file is
|
||||
|
@ -34,7 +34,10 @@ sourcex()
|
||||
|
||||
sourcex "@LIBEXECDIR@/sh/functions.sh"
|
||||
sourcex "@LIBEXECDIR@/sh/rc-functions.sh"
|
||||
[ "$RC_SYS" != "PREFIX" ] && sourcex -e "@LIBEXECDIR@/sh/rc-cgroup.sh"
|
||||
case $RC_SYS in
|
||||
PREFIX|SYSTEMD-NSPAWN) ;;
|
||||
*) sourcex -e "@LIBEXECDIR@/sh/rc-cgroup.sh";;
|
||||
esac
|
||||
|
||||
# Support LiveCD foo
|
||||
if sourcex -e "/sbin/livecd-functions.sh"; then
|
||||
|
@ -294,6 +294,8 @@ rc_sys_v1(void)
|
||||
return RC_SYS_OPENVZ; /* old test */
|
||||
else if (file_regex("/proc/1/environ", "container=lxc"))
|
||||
return RC_SYS_LXC;
|
||||
else if (file_regex("/proc/1/environ", "container=systemd-nspawn"))
|
||||
return RC_SYS_SYSTEMD_NSPAWN;
|
||||
#endif
|
||||
|
||||
return NULL;
|
||||
|
@ -332,6 +332,7 @@ bool rc_service_daemons_crashed(const char *);
|
||||
#define RC_SYS_OPENVZ "OPENVZ"
|
||||
#define RC_SYS_LXC "LXC"
|
||||
#define RC_SYS_PREFIX "PREFIX"
|
||||
#define RC_SYS_SYSTEMD_NSPAWN "SYSTEMD-NSPAWN"
|
||||
#define RC_SYS_UML "UML"
|
||||
#define RC_SYS_VSERVER "VSERVER"
|
||||
#define RC_SYS_XEN0 "XEN0"
|
||||
|
Loading…
Reference in New Issue
Block a user