[CRIU] [PATCH] crtools: add Dockerfile to build criu on armv7hf, aarch64, ppc64le
Laurent Dufour
ldufour at linux.vnet.ibm.com
Mon Feb 15 09:38:53 PST 2016
Hi Andrew,
The root cause of the issue is that signal handler is not properly
handled in the qemu-user version installed from the debian repository.
In this release signal frame was never built when a signal is caught by
the emulated process which is fatal.
I build the qemu-user-ppc64le from the Qemu's git tree and I could
successfully run the docker command to build criu.
It seems to be fixed since Qemu 2.2.0. May be should you change the
extract-deb-pkg script to retrieve an earlier release ?
By the way there is a little typo in the Makefile:
@@ -15,7 +15,7 @@ aarch64: qemu-user-static
docker build -t criu-aarch64 -f Dockerfile.aarch64 ../..
ppc64le: qemu-user-static
- docker build -t criu-aarch64 -f Dockerfile.ppc64le ../..
+ docker build -t criu-ppc64le -f Dockerfile.ppc64le ../..
And I had to add "pkg-config" to the list of the installed package in
the docker's image.
Cheers,
Laurent.
On 12/02/2016 18:00, Andrey Vagin wrote:
> 2016-02-12 6:30 GMT-08:00 Laurent Dufour <ldufour at linux.vnet.ibm.com>:
>> On 12/02/2016 06:54, Andrew Vagin wrote:
>>> This works for arm and aarch64. But it hangs in an
>>> infinite loop in user-space for ppc64le. I think it's a bug in
>>> qemu-ppc64le-static or in the docker image.
>>
>> Hi Andrey,
>>
>> Could you please detail the step to recreate this issue ?
>
> You need to take an x86_64 host. I use my laptop.
> * clone CRIU sources
> * apply this patch
> * make -C scripts/build/ qemu-user-static
> * make -C scripts/build/ binfmt_misc
> * make -C scripts/build/ ppc64le
>
> [root at fc22-vm criu]# make -C scripts/build/ ppc64le
> make: Entering directory '/root/git/criu/scripts/build'
> docker build -t criu-aarch64 -f Dockerfile.ppc64le ../..
> Sending build context to Docker daemon 122.3 MB
> Step 0 : FROM ppc64le/ubuntu
> ---> 69b49a92565a
> Step 1 : COPY scripts/build/qemu-user-static/usr/bin/qemu-ppc64le-static
> /usr/bin/qemu-ppc64le-static
> ---> Using cache
> ---> 153f4eb4452d
> Step 2 : RUN apt-get update
> ---> Running in 67311bd5eb23
> setup_frame: not implemented
>
>
> 959 ? Ssl 0:01 /usr/bin/docker daemon --selinux-enabled
> 1146 ? Ss 0:00 \_ /usr/bin/qemu-ppc64le-static /bin/sh -c
> apt-get update
> 1152 ? S 0:00 \_ /usr/bin/qemu-ppc64le-static
> /usr/bin/apt-get update
> 1156 ? R 0:54 \_ /usr/bin/qemu-ppc64le-static
> /usr/lib/apt/methods/http
>
> Thanks,
> Andrew
>
>
>>
>> Thanks,
>> Laurent.
>>
>
More information about the CRIU
mailing list