Tests¶
Multiple alternatives exist to install QEMU, to register the interpreter and/or to use OCI containers. The table below summarizes all the combinations that are tested on CI services in this project:
Job |
Register method |
-r |
-s |
-p |
Dependency |
Install method |
vol |
|
---|---|---|---|---|---|---|---|---|
|
n |
y |
y |
- |
n |
|||
f |
|
n |
y |
y |
|
host |
[curl] |
n |
F |
|
n |
y |
y* |
|
host |
[curl] |
n |
c |
|
n |
y |
y |
|
host |
[curl] |
n |
C |
|
n |
y |
y* |
|
host |
[curl] |
n |
v |
|
n |
y |
n |
|
host |
[curl] |
y |
V |
|
n |
y |
n |
|
host |
[curl] |
y |
i |
|
n |
y |
n |
|
image |
[add/copy] |
n |
I |
|
n |
y |
n |
|
image |
[add/copy] |
n |
d |
|
n |
y |
n |
|
image |
[apt] |
n |
D |
|
n |
y |
n |
|
image |
[apt] |
n |
r |
|
y |
y |
y |
|
host |
[apt] |
n |
R |
|
y |
y |
y* |
|
host |
[apt] |
n |
s |
- |
- |
- |
- |
|
host |
[apt] |
y |
n |
- |
- |
- |
- |
|
host |
[apt] |
- |
h |
|
y |
n |
y |
|
host |
[apt] |
n |
H |
|
y |
n |
y* |
|
host |
[apt] |
n |
Tip
n
is about executing a binary on the host, not inside a container.
where:
$file
is theqemu-*-static
binary corresponding to the target architecture. In these tests:file=qemu-aarch64-static
.-r|–clear: clean any registered
qemu-*
interpreter.-s|–static: add
--suffix -static
to the args forqemu-binfmt-conf.sh
.-p|–persistent: if yes, the interpreter is loaded when
binfmt
is configured and remains in memory. All future uses are cloned from the open file.vol: whether the QEMU binary must be bind between the host and the container where target binaries are located. None of the methods with
vol=y
can be used fordocker build
.