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
RUN download https://github.com/google/nsjail/archive/refs/tags/3.0.tar.gz source.tar.gz cfa66d3ed136b2e221752287b95e544915e8a6760aa866f023b604d14a374919 && tar xf source.tar.gz
12
12
RUN download https://github.com/google/kafel/archive/refs/tags/20200831.tar.gz kafel.tar.gz dc6a541e4699acb2ac76128142780604452694d747dfd31a809a90506f965d7e && tar xf kafel.tar.gz
13
-
RUN download https://github.com/protocolbuffers/protobuf/releases/download/v3.19.1/protoc-3.19.1-linux-x86_64.zip protoc.zip 4b18a69b3093432ee0531bc9bf3c4114f81bde1670ade2875f694180ac8bd7f6 && unzip protoc.zip
14
13
COPY patches/nsjail-3.0 /build/patches
14
+
RUN patches/download_protoc.sh
15
15
RUN export PATH=/build/cross/bin:$PATH:/output/bin && \
Copy file name to clipboardExpand all lines: README.md
+37-6Lines changed: 37 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,22 +13,53 @@ Run `make MUSL_TARGET=some_target_tuple` to compile everything. Tested targets s
13
13
14
14
But others are very likely to work. Building everything currently needs about 2GB of disk per target and it helps to have a big machine with NVMe storage and plenty of RAM. A complete build for a single architecture currently takes about 15 minutes on a Ryzen 4750U, or a bit less on an Apple M1.
15
15
16
-
You can build individual binaries by specifying the recipe name as an argument to `make`. Dependency resolution will be handled automatically. These recipes are included at the moment:
16
+
You can build individual binaries by specifying the recipe name as an argument to `make`. Dependency resolution will be handled automatically.
17
+
18
+
To validate that all your binaries came out right, run `make check`. This will list any binaries in the `output` directory which don't seem to have been statically linked.
19
+
20
+
More tools and documentation will be added over time.
21
+
22
+
### Supported tools
23
+
24
+
These are the tools that build cleanly without too many caveats and are generally usable.
17
25
18
26
*`busybox-1.33.1`
19
27
*`curl-7.79.1`
20
28
*`dropbear-2020.81` (`dropbear`, `dropbearclient` and `dropbearkey`)
21
-
*`git-2.33.0` (`git-...` binary needs to be renamed to just `git` to work)
22
29
*`loggedfs-0.9`
23
-
*`nmap-7.90`
30
+
*`nmap-7.90` (some extra functionality is missing as it requires additional data files)
24
31
*`openssl-0.9.8zh` (insecure, not for general use)
25
32
*`openssl-1.1.1k`
26
33
*`socat-1.7.4.1`
27
34
*`tcpdump-4.99.1`
28
35
29
-
More tools and documentation will be added over time.
30
-
31
-
To validate that all your binaries came out right, run `make check`. This will list any binaries in the `output` directory which don't seem to have been statically linked.
36
+
### Experimental tools
37
+
38
+
These are tools which have significant caveats.
39
+
40
+
*`git-2.33.0` (`git-...` binary needs to be renamed to just `git` to work, generally this isn't very useful because even when compiled statically it's not very standalone due to all the scripts and helpers required)
41
+
*`nsjail-3.0` (currently only builds on 64 bit ARM, 32 and 64 bit x86 due to using Google's static `protoc` compiler binaries)
42
+
43
+
### Supported libraries
44
+
45
+
These libraries are built automatically as required by the above tools.
46
+
47
+
*`musl-cross-make-0.9.9`
48
+
*`expat-2.4.1`
49
+
*`fuse-2.9.9`
50
+
*`gettext-0.21` (not currently required for anything)
51
+
*`kafel-20200831` (as part of `nsjail-3.0`)
52
+
*`libcurl-7.79.1` (as part of `curl-7.79.1`)
53
+
*`libnl-3.2.25`
54
+
*`libpcap-1.10.1`
55
+
*`libssl-0.9.8zh` (as part of `openssl-0.9.8zh`, don't use this, just here for compatibility)
0 commit comments