The default runtime directory used by LXC is /run which doesn't exist
in OpenWrt. It causes errors like:
Failed to create lock for foo
lxc-create: foo: tools/lxc_create.c: main: 260 Failed to create lxc container
There has been workaround for that in the lxc-auto.init but it requires
installing "lxc-auto" package. Replacing that "ln -s" workaround with
Makefile specifying --with-runtime-path allows using pure "lxc" in
OpenWrt (without the "lxc-auto").
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
(cherry picked from commit
90fef036fe465262d5915489d45f430b313f22ab)
--disable-selinux \
--$(if $(CONFIG_LXC_SECCOMP),en,dis)able-seccomp \
--enable-capabilities \
- --disable-examples
+ --disable-examples \
+ --with-runtime-path=/var/run
ifdef CONFIG_USE_MIPS16
TARGET_CFLAGS += -minterlink-mips16
mount -t cgroup -o rw,nosuid,nodev,noexec,relatime,none,name=systemd cgroup /sys/fs/cgroup/systemd
fi
- if [ ! -d /run ]; then
- ln -s /var/run /run
- fi
-
start
}