docs/devel: add some notes on the binfmt-image-debian targets
We document some of this on the wiki but lets move it into our official developer notes documentation. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Cc: Paolo Bonzini <pbonzini@redhat.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20220419091020.3008144-3-alex.bennee@linaro.org>
This commit is contained in:
parent
11593544df
commit
396408ee92
@ -637,6 +637,44 @@ The full set of annotations can be found here:
|
|||||||
|
|
||||||
https://github.com/llvm/llvm-project/blob/master/compiler-rt/lib/tsan/rtl/tsan_interface_ann.cpp
|
https://github.com/llvm/llvm-project/blob/master/compiler-rt/lib/tsan/rtl/tsan_interface_ann.cpp
|
||||||
|
|
||||||
|
docker-binfmt-image-debian-% targets
|
||||||
|
------------------------------------
|
||||||
|
|
||||||
|
It is possible to combine Debian's bootstrap scripts with a configured
|
||||||
|
``binfmt_misc`` to bootstrap a number of Debian's distros including
|
||||||
|
experimental ports not yet supported by a released OS. This can
|
||||||
|
simplify setting up a rootfs by using docker to contain the foreign
|
||||||
|
rootfs rather than manually invoking chroot.
|
||||||
|
|
||||||
|
Setting up ``binfmt_misc``
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
You can use the script ``qemu-binfmt-conf.sh`` to configure a QEMU
|
||||||
|
user binary to automatically run binaries for the foreign
|
||||||
|
architecture. While the scripts will try their best to work with
|
||||||
|
dynamically linked QEMU's a statically linked one will present less
|
||||||
|
potential complications when copying into the docker image. Modern
|
||||||
|
kernels support the ``F`` (fix binary) flag which will open the QEMU
|
||||||
|
executable on setup and avoids the need to find and re-open in the
|
||||||
|
chroot environment. This is triggered with the ``--persistent`` flag.
|
||||||
|
|
||||||
|
Example invocation
|
||||||
|
~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
For example to setup the HPPA ports builds of Debian::
|
||||||
|
|
||||||
|
make docker-binfmt-image-debian-sid-hppa \
|
||||||
|
DEB_TYPE=sid DEB_ARCH=hppa \
|
||||||
|
DEB_URL=http://ftp.ports.debian.org/debian-ports/ \
|
||||||
|
DEB_KEYRING=/usr/share/keyrings/debian-ports-archive-keyring.gpg \
|
||||||
|
EXECUTABLE=(pwd)/qemu-hppa V=1
|
||||||
|
|
||||||
|
The ``DEB_`` variables are substitutions used by
|
||||||
|
``debian-boostrap.pre`` which is called to do the initial debootstrap
|
||||||
|
of the rootfs before it is copied into the container. The second stage
|
||||||
|
is run as part of the build. The final image will be tagged as
|
||||||
|
``qemu/debian-sid-hppa``.
|
||||||
|
|
||||||
VM testing
|
VM testing
|
||||||
----------
|
----------
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user