[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [XEN PATCH v3 25/25] tools: Remove -Werror everywhere else



On Thu, 30 Jun 2022, Bertrand Marquis wrote:
> > On 29 Jun 2022, at 18:22, Stefano Stabellini <sstabellini@xxxxxxxxxx> wrote:
> > 
> > On Wed, 29 Jun 2022, Luca Fancellu wrote:
> >> + CC: Stefano Stabellini
> >> 
> >>> On 24 Jun 2022, at 17:04, Anthony PERARD <anthony.perard@xxxxxxxxxx> 
> >>> wrote:
> >>> 
> >>> Patch "tools: Add -Werror by default to all tools/" have added
> >>> "-Werror" to CFLAGS in tools/Rules.mk, remove it from every other
> >>> makefiles as it is now duplicated.
> >>> 
> >>> Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx>
> >> 
> >> Hi Anthony,
> >> 
> >> I will try to review the serie when I manage to have some time, in the 
> >> mean time I can say the whole
> >> serie builds fine in my Yocto setup on arm64 and x86_64, I’ve tried also 
> >> the tool stack to
> >> create/destroy/console guests and no problem so far.
> >> 
> >> The only problem I have is building for arm32 because, I think, this patch 
> >> does a great job and it
> >> discovers a problem here:
> > 
> > That reminds me that we only have arm32 Xen hypervisor builds in
> > gitlab-ci, we don't have any arm32 Xen tools builds. I'll add it to my
> > TODO but if someone (not necessarily Luca) has some spare time it could
> > be a nice project. It could be done with Yocto by adding a Yocto build
> > container to automation/build/.
> 
> We have now a way to build and run xen for arm32 on qemu using Yocto.
> We are using this internally and also will test Xen with guests on arm32 
> using this soon.
> 
> I am upstreaming to meta-virtualisation all the fixes needed for that so it 
> should be fairly straight forward do reproduce this in Yocto build in a 
> container.
> 
> Please tell me what you need and I will try to provide you a set of scripts 
> or instructions do reproduce that on gitlab.

That would be great!

We need two things:

- a Yocto build container
- a build script


The build container would be something like:
automation/build/debian/unstable-arm64v8.dockerfile. It is a Dockerfile
to create a container with Yocto and all required dependencies. It could
be based on Debian arm64. The build container is only built once and
pushed to the gitlab registry, but it is executed every time a gitlab
pipeline is started.

We probably want the meta layers to be pulled as part of the build
container build (git clone from the Dockerfile) because otherwise we
would end up git cloining them every time we run a gitlab-ci pipeline,
slowing everything down.


The build script is the script executed in the build container for every
pipeline.

Imagine you have a container "yocto-arm32", basically we want to do:

# docker run yocto-arm32 build.script

where build.script is the script that actually triggers the Xen build
and produces the binary output.

The current build script is automation/scripts/build; it is used for all
build containers (all of them, from Debian to Fedora and Alpine) but it
is probably not suitable to be used for Yocto.  It simply calls
./configure; make; make install. It is more for normal distros.

I imagine that the build script for Yocto would call bitbake.


With the build container Dockerfile and the build script it becomes
very simple to add Yocto arm32 to gitlab-ci.

I realize that the actual build could be done on both arm64 or x86.
Currently the arm32 hypervisor-only cross-build is done on x86. See
automation/build/debian/unstable-arm32-gcc.dockerfile. Either way is OK.

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.