我正在尝试在 CRIU 1.8 上运行单元测试。为了准备盒子,我安装了:
libprotobuf-lite8 libprotobuf8 zlib1g-dev libprotobuf-dev libprotobuf-c0 libprotobuf-c0-dev libprotoc8 protobuf-c-compiler protobuf-compiler libaio-dev libcap-dev
之后,我以 root 身份运行,make test
得到以下输出:
...
make[3]: Leaving directory `/home/ubuntu/criu-1.8/test/zdtm/live/static'
make[2]: Leaving directory `/home/ubuntu/criu-1.8/test/zdtm/live'
make[1]: Leaving directory `/home/ubuntu/criu-1.8/test/zdtm'
make[1]: Entering directory `/home/ubuntu/criu-1.8/test'
make zdtm
make[2]: Entering directory `/home/ubuntu/criu-1.8/test'
./zdtm.sh -l > zdtm-tst-list
================================= CRIU CHECK =================================
prctl: PR_SET_MM_MAP is not supported, which is required for restoring user namespaces
Error (cr-check.c:634): Kernel doesn't support PTRACE_O_SUSPEND_SECCOMP
Error (cr-check.c:683): Dumping seccomp filters not supported: Input/output error
Error (timerfd.c:55): timerfd: No timerfd support for c/r: Inappropriate ioctl for device
Error (cr-check.c:780): AIO remap doesn't work properly
Error (cr-check.c:796): fdinfo doesn't contain the lock field
============================= WARNING =============================
Not all features needed for CRIU are merged to upstream kernel yet,
so for now we maintain our own branch which can be cloned from:
git://git.kernel.org/pub/scm/linux/kernel/git/gorcunov/linux-cr.git
===================================================================
make -f Makefile.zdtm zdtm_nons
make[3]: Entering directory `/home/ubuntu/criu-1.8/test'
gcc -O2 -Wall -Werror -DCONFIG_X86_64 -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -D_GNU_SOURCE -D_GNU_SOURCE -D_GNU_SOURCE zdtm_ct.c -o zdtm_ct
flock zdtm_mount_cgroups ./zdtm_mount_cgroups
flock: ./zdtm_mount_cgroups: Text file busy
make[3]: *** [mount_cgroups] Error 69
make[3]: Leaving directory `/home/ubuntu/criu-1.8/test'
make[2]: *** [zdtm] Error 2
make[2]: Leaving directory `/home/ubuntu/criu-1.8/test'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/ubuntu/criu-1.8/test'
make: *** [test] Error 2
我认为我的问题是那里的 CRIU CHECK 块内的问题,但我只是不确定我在这里看到了什么。谁能指出我正确的方向。如果谷歌有帮助,那我太无知了,无法识别它。谢谢!
此外,我在 SO 上没有将其标记为 CRIU 的声誉(显然这是一个新标签),但它显然与 CRIU 有关。如果您同意并有权力,请在此贴上标签?