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
|
||||
|
||||
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
|
||||
----------
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user