[U-Boot] [PATCH] Dockerfile: Build a copy of QEMU and install it under /opt

Tom Rini trini at konsulko.com
Thu Jul 25 20:35:04 UTC 2019


On Thu, Jul 25, 2019 at 10:29:31PM +0200, Heinrich Schuchardt wrote:
> On 7/25/19 9:57 PM, Tom Rini wrote:
> >On Thu, Jul 25, 2019 at 09:43:10PM +0200, Heinrich Schuchardt wrote:
> >>On 7/24/19 9:51 PM, Tom Rini wrote:
> >>>In order to run our test.py suite on a number of platforms in CI we use
> >>>QEMU.  Configure and build a copy here so that all our jobs can rely on
> >>>it as our code is under test and not QEMU.
> >>>
> >>>Signed-off-by: Tom Rini <trini at konsulko.com>
> >>>---
> >>>  Dockerfile | 8 ++++++++
> >>>  1 file changed, 8 insertions(+)
> >>>
> >>>diff --git a/Dockerfile b/Dockerfile
> >>>index b599af8af6a0..73c1b8b1e021 100644
> >>>--- a/Dockerfile
> >>>+++ b/Dockerfile
> >>>@@ -76,6 +76,14 @@ RUN apt-get update && apt-get install -y \
> >>>  	zip \
> >>>  	&& rm -rf /var/lib/apt/lists/*
> >>>
> >>>+RUN git clone git://git.qemu.org/qemu.git /tmp/qemu && \
> >>>+	cd /tmp/qemu && \
> >>>+	git submodule update --init dtc && \
> >>>+	git checkout 506179e42112be77bfd071f050b15762d3b2cd43 && \
> >>>+	./configure --prefix=/opt/qemu --target-list="aarch64-softmmu,arm-softmmu,i386-softmmu,mips-softmmu,mips64-softmmu,mips64el-softmmu,mipsel-softmmu,ppc-softmmu,x86_64-softmmu,xtensa-softmmu" && \
> >>>+	make -j$(nproc) all install && \
> >>>+	rm -rf /tmp/qemu
> >>>+
> >>>  # Create the buildman config file
> >>>  RUN /bin/echo -e "[toolchain]\nroot = /usr" > ~/.buildman
> >>>  RUN /bin/echo -e "kernelorg = /opt/gcc-7.3.0-nolibc/*" >> ~/.buildman
> >>>
> >>
> >>The file '/Dockerfile' does not exist in the current U-Boot
> >>origin/master. It is hard to evaluate the patch without having the
> >>complete file.
> >>
> >>Where would I find the file?
> >
> >Sorry, it's over at https://gitlab.denx.de/u-boot/gitlab-ci-runner
> >
> >>It might be useful to add it to tools/ in the U-Boot git.
> >
> >Currently I have:
> >$ head -n4 .gitlab-ci.yml
> ># SPDX-License-Identifier: GPL-2.0+
> >
> ># Grab our configured image.  The source for this is found at:
> ># https://gitlab.denx.de/u-boot/gitlab-ci-runner
> >
> >But suggestions on where to note this are welcome.
> 
> To me it would make sense to move Dockerfile to U-Boot's tools/ directory.

I'm not sure.  Usual best practice for Dockerfiles is they live in their
own repository, no?

> I am missing RISC-V in the patch. Cf.
> 
> [PATCH 1/1] travis-ci: add qemu-riscv64
> https://lists.denx.de/pipermail/u-boot/2019-July/375218.html

Yes, I also haven't applied that yet nor done a follow-up to add it to
the .gitlab-ci.yml file.

> qemu-system-* is installed in ./opt/qemu/bin/ and not in /usr/local/bin.
> Don't we want those binaries in the search path for binaries?

Today we look in /tmp/qemu-install/bin for QEMU so moving it to /opt
made a certain amount of sense.

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20190725/1342eac3/attachment.sig>


More information about the U-Boot mailing list