Fam Zheng <f...@redhat.com> writes: > On Wed, 06/08 17:35, Alex Bennée wrote: >> Hi, >> >> This is a re-spin of the previous series built on top of >> fam/docker.next. I've made the changes suggested in the last review >> and split the first patch apart to separate (and fix) the build >> directory changes first. >> >> Now it no longer messes with the docker file you can actually >> cross-build tests. First ensure you build the debian-bootstrap image: >> >> DEB_ARCH=armhf DEB_TYPE=testing \ >> ./tests/docker/docker.py build qemu:debian-bootstrap \ >> ./tests/docker/dockerfiles/debian-bootstrap.docker \ >> --include-executable=./arm-linux-user/qemu-arm > > This can take long depending on the network - I had to explicitly use a close > mirror in the pre script to test this, not sure why the mirror redirector > doesn't work. Eventually I get this error once the pre script succeeds and > docker build starts: > > Sending build context to Docker daemon 235.1 MB > Step 1 : FROM scratch > ---> > Step 2 : ADD . / > ---> 807bfa810b0c > Removing intermediate container e57ded00b227 > Step 3 : RUN sed -i 's/in_target mount/echo not for docker in_target mount/g' > /debootstrap/functions > ---> Running in fd80232b38fc > rpc error: code = 2 desc = "oci runtime error: exec format error" > > IIUC the sed is an armhf binary? Is something missing in the docker file? I > cannot find where the copied qemu-arm is used...
Ahh I realise I missed out the implicit binfmt_misc needs to be set up. So on my Ubuntu system just having qemu-user installed means the host system binfmt_misc is set up for armhf binaries to run /usr/bin/qemu-arm. I haven't experimented with explicitly setting up binfmt_misc in the container because it was already working :-/ > > Fam > >> >> And then run the test quick target: >> >> make docker-test-quick@debian-bootstrap J=9 V=1 >> >> I'll leave it up to you how we cleanly integrate multi-arch builds >> into the Make system ;-) >> >> Alex Bennée (3): >> tests/docker/docker.py: docker_dir outside build >> tests/docker/docker.py: support --include-executable >> add debian-bootstrap.docker target (and pre script) >> >> tests/docker/docker.py | 68 >> +++++++++++++++++++++--- >> tests/docker/dockerfiles/debian-bootstrap.docker | 21 ++++++++ >> tests/docker/dockerfiles/debian-bootstrap.pre | 5 ++ >> 3 files changed, 86 insertions(+), 8 deletions(-) >> create mode 100644 tests/docker/dockerfiles/debian-bootstrap.docker >> create mode 100755 tests/docker/dockerfiles/debian-bootstrap.pre >> >> -- >> 2.7.4 >> -- Alex Bennée