[CRIU] [PATCH] crtools: add Dockerfile to build criu on armv7hf, aarch64, ppc64le

Andrey Vagin avagin at openvz.org
Tue Feb 16 15:01:52 PST 2016


2016-02-15 9:38 GMT-08:00 Laurent Dufour <ldufour at linux.vnet.ibm.com>:
> 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.

Lauren, thank you for the investigation. I will try another version of
qeme-static.

>
> 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