You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+9-2Lines changed: 9 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -21,15 +21,15 @@ As of the time of writing, it supports two execution backends:
21
21
22
22
* A Linux User Namespaces executor, which is very fast and lightweight
23
23
24
-
* A Docker executor which is slower, but more compatible (it works on macOS, and may work on Windows)
24
+
* A [Docker](https://www.docker.com/) (or [Podman](https://podman.io/)) executor which is slower, but more compatible (it works on macOS, and may work on Windows)
25
25
26
26
The executors are responsible for running/virtualizing a given `Cmd` within a root filesystem that is defined by the user, along with various paths that can be mounted within the sandbox.
27
27
These capabilities were originally built for [BinaryBuilder.jl](https://github.com/JuliaPackaging/BinaryBuilder.jl), however this functionality is now mature enough that it may be useful elsewhere.
28
28
29
29
## Basic usage
30
30
31
31
To make use of this toolkit, you will need to have a root filesystem image that you want to use.
32
-
This package comes with a minimal Debian rootfs that can be used for quick tests, to launch `/bin/bash` in an interactive shell, run the following:
32
+
This package can download a minimal Debian rootfs that can be used for quick tests; to launch `/bin/bash` in an interactive shell run the following:
33
33
34
34
```julia
35
35
using Sandbox
@@ -50,3 +50,10 @@ While this launches an interactive session due to hooking up `stdout`/`stdin`, o
50
50
To use more interesting rootfs images, you can either create your own using tools such as [`debootstrap`](https://wiki.debian.org/Debootstrap) or you can pull one from docker by using the `pull_docker_image()` function defined within this package. See the [`contrib`](contrib/) directory for examples of both.
51
51
52
52
You can also check out the latest releases of the [`JuliaCI/rootfs-images` repository](https://github.com/JuliaCI/rootfs-images/), which curates a collection of rootfs images for use in CI workloads.
53
+
54
+
## Multiarch usage
55
+
56
+
Sandbox contains facilities for automatically registering `qemu-user-static` interpreters with `binfmt_misc` to support running on multiple architectures.
57
+
As of the time of this writing, this is only supported on when running on a Linux host with the `x86_64`, `aarch64` or `powerpc64le` host architectures.
58
+
The target architectures supported are `x86_64`, `i686`, `aarch64`, `armv7l` and `powerpc64le`.
59
+
Note that while `qemu-user-static` is a marvel of modern engineering, it does still impose some performance penalties, and there may be occasional bugs that break emulation faithfulness.
0 commit comments