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

Andrew Vagin avagin at parallels.com
Fri Jul 11 05:57:14 PDT 2014


On Fri, Jul 11, 2014 at 08:15:02AM -0400, Christopher Covington wrote:
> 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?

makefile

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

make test.pid
make test.out

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

We can move the run logic in a shell script and change Makefile to run
this script for backward compatibility. It think it's a good solution of
this problem.

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

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