No such file or directory
SebastianGode opened this issue · comments
I want to run another docker container with x86_64 on my aarch64 machine.
When running sudo docker run --rm --privileged aptman/qus -- -p x86_64
it prints me the following error:
cat ./qemu-binfmt-conf.sh | sh -s -- --path=/qus/bin -p x86_64
Setting /qus/bin/qemu-x86_64 as binfmt interpreter for x86_64
sh: write error: No such file or directory
Running any x86 container then will still not work.
What is you host ? Linux, Mac, ... ?
I've blogged about my experience on Ubuntu 20.04 aarch64 at https://martin-grigorov.medium.com/build-linux-software-for-foreign-cpu-architectures-on-arm64-463a95d15460
Hey @martin-g
Sorry for the confusion.
It's an Ubuntu 20.04LTS System
@SebastianGode did you read my article ? It seems the command I used still works!
$ docker run --rm --privileged aptman/qus -s -- -p x86_64
cat ./qemu-binfmt-conf.sh | sh -s -- --path=/qus/bin -p x86_64 --suffix -static
Setting /qus/bin/qemu-x86_64-static as binfmt interpreter for x86_64
- no
sudo
- added
-s
1. no `sudo`
This won't work for me as my user isn't yet in the docker group
2. added `-s`
This worked, thanks!
So in the end
$ sudo docker run --rm --privileged aptman/qus -s -- -p x86_64
works
What does -s do?
@martin-g thanks for the quick and effective assistance!
What does -s do?
It appends the static suffix to qemu binaries. Otherwise, the dynamically linked binaries are used, which are not available on qus images by default. See https://github.com/dbhi/qus/blob/main/register.sh#L42.