#965245 Cross-build issues

#965245#5
Date:
2020-07-18 03:53:57 UTC
From:
To:
I've been playing try to get Xen 4.13 to cross-build for ARM.  In the
process I've been running into bunches of problems, so here are fixes.

OCAML/xenstored is being problematic, that looks like outright bugs on
ocaml-nox making it unusable for cross-building.

I'm including copies of 3 patches from Julien Grall.  Upstream source for
this is: git://xenbits.xen.org/people/julieng/xen-unstable.git  The
branch "arm-dma/v2".

Why yes, I am trying to get Xen operational on a Raspberry PI.  Why do
you ask?  :-)

#965245#10
Date:
2020-07-18 14:08:50 UTC
From:
To:
Hi Elliott,
* add a 'why' line to the commit message of the first patch
* add Signed-off-by lines
* and then mailbomb (git send-email) it to
pkg-xen-devel@lists.alioth.debian.org with Cc to Ian Jackson
<ijackson@chiark.greenend.org.uk>? Just all of it in 1 mail thread? (So,
with 0/10 cover letter which does not have to contain anything else than
something like 'Hi! See #965245, kthxbye'.)

Then we can collect some Reviewed-by etc.

The cxenstored is also still there. The init scripts look if oxenstored
is installed, and if not, it falls back to using normal xenstored. So, I
suspect if you patch it out of the build for this arch, then no other
changes are necessary. (Normally both are built now, so that if a user
wants, in case of problems or whatever, they can switch back).

Ok, these patches are in Xen 4.14 I see. First thing I want to do going
forward  is forwarding the packaging to that. I hope this will also only
make your life easier.

Like I said on IRC, the two other things before we can push it to Debian
experimental asap are making sure python 2 is not used any more
anywhere, and of course a proper debian/changelog. :) And then making
noise on the list to find users to try it out. And, a small pile of
backlog of things that are waiting, and then hopefully not too long
after the official Xen 4.14 release it can go into Debian unstable.

But, keep the 3 upstream patches in the set for now, so that it's
explicit that you need them for this.

Haha. Exciting. I like it. Looking forward to see it working and help
testing it here. I didn't do cross-building yet, so time to learn
something new.

Hans (Knorrie)

#965245#15
Date:
2020-07-18 22:52:48 UTC
From:
To:
Will do, may end up collecting an extra patch or two in the process (one
of these has been sent upstream, Debian builds are unfinished for me).

The problem is OCAML is basically utterly broken for cross-building.
There is the "-cc" argument for `ocamlc` which looks like someone started
work on making it work cross-architecture, but never finished.

In light of this, that is pretty much what I've done.  In order to get
dh_install to cooperate and ensure xen-utils-wrapper functions with
distinct builds, I need substitues for oxenstored.conf and oxenstored.

Hmm, thought they were against 4.13.  Might be these revised ones are
targeting 4.14, but the code is the same on 4.13.

There appear to be a *bunch* of people trying to get Xen operational on
Raspberry PI 4b devices.  I'm aiming for what I consider to be a
straightforward approach, which is to use existing packaging tools.