Hi Stefano,

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

Cheers
Bertrand



Reply via email to