On Fri, 1 Jul 2022, Bertrand Marquis wrote:
> > On 30 Jun 2022, at 22:03, Stefano Stabellini <sstabell...@kernel.org> wrote:
> > 
> > On Thu, 30 Jun 2022, Bertrand Marquis wrote:
> >>> On 29 Jun 2022, at 18:22, Stefano Stabellini <sstabell...@kernel.org> 
> >>> wrote:
> >>> 
> >>> On Wed, 29 Jun 2022, Luca Fancellu wrote:
> >>>> + CC: Stefano Stabellini
> >>>> 
> >>>>> On 24 Jun 2022, at 17:04, Anthony PERARD <anthony.per...@citrix.com> 
> >>>>> 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.per...@citrix.com>
> >>>> 
> >>>> 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.
> 
> I will work on that and I think we can take this discussion offline as there 
> are some elements missing right now (like where is the xen tree to test).

No problem, I am happy to help offline as well. The Xen tree is given to
you automatically by gitlab-ci (because it is the repository with the
.gitlab* yaml files.) The build container starts execution with the Xen
repository to test ready inside.

Reply via email to