lxc: set RUNTIME_PATH define to the /var/run path
authorRafał Miłecki <rafal@milecki.pl>
Sat, 8 Apr 2023 16:18:55 +0000 (18:18 +0200)
committerRafał Miłecki <rafal@milecki.pl>
Fri, 19 May 2023 10:40:00 +0000 (12:40 +0200)
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 RUNTIME_PATH define allows using pure "lxc" in
OpenWrt (without the "lxc-auto").

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
(cherry picked from commit 90fef036fe465262d5915489d45f430b313f22ab)

utils/lxc/Makefile
utils/lxc/files/lxc-auto.init

index a8f499448a2c43c997cd0867aa237bb3eae34f5f..4a79f2fec9c5911c7414c3f70d4c912ad62b1e51 100644 (file)
@@ -33,7 +33,8 @@ MESON_ARGS += \
        -Dselinux=false \
        -Dseccomp=$(if $(CONFIG_LXC_SECCOMP),true,false) \
        -Dexamples=false \
-       -Db_pie=true
+       -Db_pie=true \
+       -Druntime-path=/var/run
 
 LXC_APPLETS_BIN += \
        attach autostart cgroup copy config console create destroy device \
index 4983c5919663febf59ff065ee7d2dbb195ef8a85..14fe2c509b87bb2918f347208c01f1289457d0cb 100755 (executable)
@@ -69,9 +69,5 @@ boot() {
                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
 }