[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH for-next 6/6] automation: add container for riscv64 builds
On Thu, 25 Feb 2021, Connor Davis wrote: > Add a container for cross-compiling xen to riscv64. > This just includes the cross-compiler and necessary packages for > building xen itself (packages for tools, stubdoms, etc., can be > added later). > > To build xen in the container run the following: > > $ make XEN_TARGET_ARCH=riscv64 SUBSYSTEMS=xen > > Signed-off-by: Connor Davis <connojdavis@xxxxxxxxx> The container build failed for me with: Creating user git (git daemon user) with uid 977 and gid 977. :: Running post-transaction hooks... ( 1/13) Creating system user accounts... ( 2/13) Updating journal message catalog... ( 3/13) Reloading system manager configuration... Skipped: Current root is not booted. ( 4/13) Updating udev hardware database... ( 5/13) Applying kernel sysctl settings... Skipped: Current root is not booted. ( 6/13) Creating temporary files... /usr/lib/tmpfiles.d/journal-nocow.conf:26: Failed to resolve specifier: uninitialized /etc detected, skipping All rules containing unresolvable specifiers will be skipped. ( 7/13) Reloading device manager configuration... Skipped: Device manager is not running. ( 8/13) Arming ConditionNeedsUpdate... ( 9/13) Rebuilding certificate stores... (10/13) Reloading system bus configuration... Skipped: Current root is not booted. (11/13) Warn about old perl modules (12/13) Cleaning up package cache... (13/13) Updating the info directory file... Removing intermediate container 81e02adffada ---> 575bfaafc6af Step 4/9 : RUN pacman --noconfirm -Syu pixman python sh ---> Running in 9010bd7932b5 error: failed to initialize alpm library (could not find or read directory: /var/lib/pacman/) The command '/bin/sh -c pacman --noconfirm -Syu pixman python sh' returned a non-zero code: 255 > --- > automation/build/archlinux/riscv64.dockerfile | 32 +++++++++++++++++++ > automation/scripts/containerize | 1 + > 2 files changed, 33 insertions(+) > create mode 100644 automation/build/archlinux/riscv64.dockerfile > > diff --git a/automation/build/archlinux/riscv64.dockerfile > b/automation/build/archlinux/riscv64.dockerfile > new file mode 100644 > index 0000000000..d94048b6c3 > --- /dev/null > +++ b/automation/build/archlinux/riscv64.dockerfile > @@ -0,0 +1,32 @@ > +FROM archlinux/base > +LABEL maintainer.name="The Xen Project" \ > + maintainer.email="xen-devel@xxxxxxxxxxxxxxxxxxxx" > + > +# Packages needed for the build > +RUN pacman --noconfirm -Syu \ > + base-devel \ > + gcc \ > + git > + > +# Packages needed for QEMU > +RUN pacman --noconfirm -Syu \ > + pixman \ > + python \ > + sh > + > +# There is a regression in GDB that causes an assertion error > +# when setting breakpoints, use this commit until it is fixed! > +RUN git clone --recursive -j$(nproc) --progress > https://github.com/riscv/riscv-gnu-toolchain && \ > + cd riscv-gnu-toolchain/riscv-gdb && \ > + git checkout 1dd588507782591478882a891f64945af9e2b86c && \ > + cd .. && \ > + ./configure --prefix=/opt/riscv && \ > + make linux -j$(nproc) && \ > + rm -R /riscv-gnu-toolchain > + > +# Add compiler path > +ENV PATH=/opt/riscv/bin/:${PATH} > + > +RUN useradd --create-home user > +USER user > +WORKDIR /build > diff --git a/automation/scripts/containerize b/automation/scripts/containerize > index da45baed4e..1901e8c0ef 100755 > --- a/automation/scripts/containerize > +++ b/automation/scripts/containerize > @@ -25,6 +25,7 @@ die() { > BASE="registry.gitlab.com/xen-project/xen" > case "_${CONTAINER}" in > _archlinux|_arch) CONTAINER="${BASE}/archlinux:current" ;; > + _riscv64) CONTAINER="${BASE}/archlinux:riscv64" ;; > _centos7) CONTAINER="${BASE}/centos:7" ;; > _centos72) CONTAINER="${BASE}/centos:7.2" ;; > _fedora) CONTAINER="${BASE}/fedora:29";; > -- > 2.27.0 > >
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |