dbhi / qus

qemu-user-static (qus) and containers, non-invasive minimal working setups

Home Page:https://dbhi.github.io/qus

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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
  1. no sudo
  2. 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.