failed to get new shm lock manager: failed to create 2048 locks in /libpod_lock: no such file or directory
Poorunga opened this issue · 1 comments
Description
The bottom layer of the Android architecture is based on the Linux kernel, so I want to run container on the Android-x86 platform, just for fun.
I added the Linux kernel compilation option to make Android-x86 support Linux container features. I copied all Docker static executable files (such as docker, dockerd, docker-init, docker-proxy, containerd, containerd-shim, runc ...) to Android-x86. After configuration, I can be Run Docker perfectly on Android-x86.
I think Podman is better than Docker, so I hope to use Podman on Android-x86. Similar to before, I get all statically compiled executable files through the podman-static project(https://github.com/mgoltzsche/podman-static). After compiling, I got statically compiled files: podman, buildah, comon, slirp4netns, cniplugins, runc, fuse-overlayfs, fusermount3 ... Then, I configured these files correctly. However, when I ran podman info
, I encountered the error "failed to create 2048 locks in / libpod_lock"
Steps to reproduce the issue:
1.Statically compile all x86_64 executable files related to podman.
2.Use the adb push
command to copy the file into Android-x86.
3.Run podman --log-level debug info
command.
Describe the results you received:
DEBU[0000] Found deprecated file /etc/containers/libpod.conf, please remove. Use /etc/containers/containers.conf to override defaults.
DEBU[0000] Reading configuration file "/etc/containers/libpod.conf"
DEBU[0000] Using conmon: "/usr/libexec/podman/conmon"
DEBU[0000] Initializing boltdb state at /var/lib/containers/storage/libpod/bolt_state.db
DEBU[0000] Using graph driver
DEBU[0000] Using graph root /var/lib/containers/storage
DEBU[0000] Using run root /var/run/containers/storage
DEBU[0000] Using static dir /var/lib/containers/storage/libpod
DEBU[0000] Using tmp dir /var/run/libpod
DEBU[0000] Using volume path /var/lib/containers/storage/volumes
DEBU[0000] Set libpod namespace to ""
DEBU[0000] cached value indicated that overlay is supported
DEBU[0000] cached value indicated that metacopy is being used
DEBU[0000] cached value indicated that native-diff is not being used
WARN[0000] Not using native diff for overlay, this may cause degraded performance for building images: kernel has CONFIG_OVERLAY_FS_REDIRECT_DIR enabled
DEBU[0000] backingFs=tmpfs, projectQuotaSupported=false, useNativeDiff=false, usingMetacopy=true
INFO[0000] [graphdriver] using prior storage driver: overlay
DEBU[0000] Initializing event backend file
DEBU[0000] using runtime "/usr/local/bin/runc"
DEBU[0000] using runtime "/bin/crun"
WARN[0000] Error initializing configured OCI runtime kata: no valid executable found for OCI runtime kata: invalid argument
INFO[0000] Found CNI network podman (type=bridge) at /etc/cni/net.d/87-podman-bridge.conflist
WARN[0000] Default CNI network name podman is unchangeable
ERRO[0000] could not get runtime: failed to get new shm lock manager: failed to create 2048 locks in /libpod_lock: no such file or directory
Describe the results you expected:
I hope podman will work fine under Android-x86.
Output of podman version
:
Version: 1.9.0
RemoteAPI Version: 1
Go Version: go1.14.2
OS/Arch: linux/amd64
Output of podman info --debug
:
Error: could not get runtime: failed to get new shm lock manager: failed to create 2048 locks in /libpod_lock: no such file or directory
Package info (e.g. output of rpm -q podman
or apt list podman
):
RUNC_VERSION=v1.0.0-rc10
PODMAN_VERSION=v1.9.0
CONMON_VERSION=v2.0.15
CNI_PLUGIN_VERSION=v0.8.5
SLIRP4NETNS_VERSION=v0.4.4
LIBFUSE_VERSION=fuse-3.9.1
FUSEOVERLAYFS_VERSION=v0.4.1
BUILDAH_VERSION=v1.14.8
Additional environment details (AWS, VirtualBox, physical, etc.):
My machine: macOS High Sierra v10.13.6
Android-x86 runs in Virtualbox VM, and the Android version is Andoird 9.0 (Pie).
The Linux kernel information for Android-x86 is:
Linux localhost 4.19.80-android-x86_64-g914c6a31d738-dirty # 13 SMP PREEMPT Fri Dec 20 17:16:20 CST 2019 x86_64
Hi @Poorunga, that's a very interesting setup you're doing there. However I did not try to run it on Android. Apparently Android lacks shm support or rather does it differently.
I am looking forward to the outcome of the duplicate issue you created in the libpod project and therefore closing this one.