Philippe Mathieu-Daudé <f4...@amsat.org> writes:
> Hi Alex, > > On 9/11/18 4:06 PM, Alex Bennée wrote: >> Build a buildroot toolchain for the nios2 target. >> >> Signed-off-by: Alex Bennée <alex.ben...@linaro.org> >> --- >> tests/docker/Makefile.include | 4 ++++ >> tests/docker/dockerfiles/buildroot-nios2-cross.docker | 10 ++++++++++ >> 2 files changed, 14 insertions(+) >> create mode 100644 tests/docker/dockerfiles/buildroot-nios2-cross.docker >> >> diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include >> index 74a82de48a..a8dfde8ed5 100644 >> --- a/tests/docker/Makefile.include >> +++ b/tests/docker/Makefile.include >> @@ -120,6 +120,10 @@ docker-image-debian-riscv64-cross: >> docker-image-debian-sid >> docker-image-debian-powerpc-cross: docker-image-debian-sid >> docker-image-travis: NOUSER=1 >> >> +# Buildroot base images >> +# These involve building the toolchains and can take some time >> +docker-image-buildroot-nios2-cross: docker-image-debian-buildroot-base >> + >> # Specialist build images, sometimes very limited tools >> docker-image-tricore-cross: docker-image-debian9 >> >> diff --git a/tests/docker/dockerfiles/buildroot-nios2-cross.docker >> b/tests/docker/dockerfiles/buildroot-nios2-cross.docker >> new file mode 100644 >> index 0000000000..e573f0fa55 >> --- /dev/null >> +++ b/tests/docker/dockerfiles/buildroot-nios2-cross.docker >> @@ -0,0 +1,10 @@ >> +# >> +# NIOS II toolchain >> +# >> +FROM qemu:debian-buildroot-base >> + >> +RUN cd /opt/buildroot-${BUILDROOT_VERSION} && make >> qemu_nios2_10m50_defconfig > > Simply: > > RUN make -C /opt/buildroot-${BUILDROOT_VERSION} qemu_nios2_10m50_defconfig > >> +RUN cd /opt/buildroot-${BUILDROOT_VERSION} && make toolchain > > RUN make -C /opt/buildroot-${BUILDROOT_VERSION} toolchain > >> +# The toolchain is in >> /opt/buildroot-${BUILDROOT_VERSION}/output/host/bin/nios2-* >> +RUN ln -s /opt/buildroot-${BUILDROOT_VERSION}/output/host/bin/nios2-* >> /usr/bin > > Similarly: > > ENV PATH $PATH:/opt/buildroot-${BUILDROOT_VERSION}/output/host/bin > > Once build this image takes a bit more than 3GB (this took me 30min to > build). > > With changes: > Reviewed-by: Philippe Mathieu-Daudé <f4...@amsat.org> > Tested-by: Philippe Mathieu-Daudé <f4...@amsat.org> Apparently multi-stage builds are meant to help: https://docs.docker.com/develop/develop-images/multistage-build/#name-your-build-stages It's still a little sub-optimal compared to binary builds but it will do if we care about supporting every guest architecture with tests. I only picked nios2 as a random example. -- Alex Bennée