[CRIU] [PATCH 4/4] RFC: Make ZDTM run on embedded root filesystems

Christopher Covington cov at codeaurora.org
Fri Jul 11 05:15:02 PDT 2014


Hi Andrew,

On 07/11/2014 03:56 AM, Andrew Vagin wrote:
> On Thu, Jul 10, 2014 at 04:59:28PM -0400, Christopher Covington wrote:
>> Hi Andrew,
>>
>> On 07/10/2014 04:13 PM, Andrew Vagin wrote:
>>> On Thu, Jul 10, 2014 at 11:09:07AM -0400, Christopher Covington wrote:
>>>> Modify the ZDTM script so that it can run on minimalistic root
>>>> filesystems without much more than busybox.
>>>
>>> Is it really needed?
>>
>> It would make testing changes across multiple architectures a lot easier. What
>> root filesystems do you use for testing? What are the cumulative disk space
>> and boot time requirements? On AArch64 for example the OpenEmbedded root
>> filesystem from Linaro took forever to boot on simulators last time I checked.
>> Running busybox init is way faster.
>>
>> In my opinion, the easier it is to run the tests, the more often they will be
>> run and the higher quality CRIU will become.
> 
> Yes, I'm agree with this fact. How do you compile sources? You probably
> should have a full root for that? Maybe we can mount this root for
> testing? Or maybe we can construct a minimal root like we do for
> executing test in namespaces.

CRIU currently only depends on Protocol Buffers, so it's possible to cross
compile protobuf and protobuf-c and then CRIU, with the libc and kernel
headers from the cross compilation toolchain.

> I want to avoid moving logic from Makefile to zdtm.sh.
> 
> zdtm is used for testing OpenVZ and I use make for debuging tests, so
> we can't remove this logic from Makefiles. But supporting the same logic
> in two places is not a good idea and we need to avoid that.

Can you please explain the OpenVZ dependency a little more? Do scripts from
other repositories call the makefile or zdtm.sh?

When you're debugging tests, how do you call zdtm.sh and the makefile?

What if the run script normally tried to rebuild the tests by calling make,
but could continue on using prebuilt tests if make isn't available?

I didn't remove the parts of the makefile that I duplicated in the shell
script because I wasn't sure that I had adapted all of the users yet, but
based on my current understanding I think that moving all of the run logic
into the shell script and keeping all of the build logic in the makefile would
be a feasible and useful separation.

> So lets try to find a way how to construct a root fs with make and only
> if we will not find how to do that, we will adopt this patch.

It is possible to cross build make but that raises the barrier to entry. While
make is an excellent tool for the build step, I don't yet see why it's useful
for the run step.

I'll work on a version 2, although I may not be able to get to it for a week
or so.

Thanks,
Christopher

-- 
Employee of Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by the Linux Foundation.


More information about the CRIU mailing list