Provided by: arch-test_0.21-1_all bug

NAME

       arch-test - detect architectures your kernel can run binaries of

SYNOPSIS

       arch-test [-n]
              enumerates the architectures

       arch-test [-n] [-c <chroot>] <arch>
              tests a single arch

DESCRIPTION

       When called without an argument, arch-test outputs the list of architectures executable by
       your running kernel, one per line, using Debian arch names.  Libc or other  libraries  are
       neither needed nor checked — an arch is listed if its machine code can be executed and the
       appropriate syscall ABI is supported by  the  kernel.   This  means,  you  can  run  these
       architectures  in  a  chroot  or  a  container,  execute  them using multiarch, run static
       binaries, etc.  The ability to run additional architectures can be gained via  binfmts  on
       Linux, Linux emulation on BSD, etc.

       An  architecture  is  considered runnable only if your kernel can run unmodified binaries,
       without extra steps such as recompiling (Raspbian armhf) or  using  brandelf  on  binaries
       you'd  want  to run (FreeBSD emulation of Linux).  Also, as Debian requires 686 on i386 as
       of the stretch release, 686 support is checked for.

       If -n is specified, arch-test will try to disable  known  emulators  (currently  qemu  and
       wine).   Note  that  a whole-machine emulator appears to be native as far as the kernel is
       concerned.

       With -c <chroot>, the test is done inside a given chroot (qemu-user before  2.12  required
       the interpreter to live inside the chroot).  Root privileges are required here.

       When  called with an arch name as an argument, arch-test tests the specified architecture.
       A human-friendly message will be printed, and the exit code can be:

       0      congratulations, the arch can be run on your kernel

       1      failure

       2      cannot check — arch-test lacks a helper for this arch

       (Shell hint: with set -e you write: ret=0; arch-test $ARCH || ret=$?)

   Helper programs
       The detection is done by small programs located in  /usr/lib/arch-test/.   These  programs
       check  whether the running kernel can execute binaries of a given architecture.  When run,
       if successful, each such program prints "ok" on stdout and returns exit code 0.

       When the check fails, these helper programs may die horribly — always with a non-zero exit
       code.   Usually  the  kernel will notice the incompatibility and nicely abort the attempt,
       but in some near-miss cases the failure is more messy, such as SIGILL or SIGSEGV.  If  you
       want  to  run  the  helpers  directly,  you'd  want to redirect stderr to /dev/null and to
       disable core dumps (ulimit -c 0).

                                                                                     arch-test(1)