段错误出现在 linux 容器启动中,但 chroot 没问题?

segfault appears in linux container start, but fine with chroot?

我从头构建了一个 linux 容器并想启动它。

首先,我使用chroot来测试运行 "chroot rootfs/ /init",它启动正确。

但是,当我尝试使用 "lxc-start -n mycontainer" 时,其中一个进程出现段错误问题并且 dmesg 显示“[973.829549] servicemanager[1634]: segfault at 0 ip 40001094 sp bff23920 error 4 in servicemanager[40000000 +3000]”

即使我尝试 "lxc-start -n mycontainer -- /bin/sh"(只是启动 sh 而不是整个 init 进程),它显示“[333.572917] sh[1715]: segfault at 90 ip b76d9a80 sp bff4cb24 error 4 in libc.so[b767a000+99000]”,仍然是段错误问题。

我检查了 lxc-start 日志,容器设置部分没问题,没有错误。

然后我查看了 lxc 源代码,发现它使用 pivot_root 而不是 chroot。这可能是问题所在吗?或者其他类似命名空间的东西,cgroup 在这里会出现段错误?

lxc-start 对我来说工作正常,pivot_root 不是问题。

1) 只是 'lxc-start -n mycontainer' 不好,因为它会尝试启动 init

lxc-start -n mycontainer /bin/sh 怎么样?