userland.run70Try the demo
Catalog app · RISC-V VM

Run busybox in the browser

Hundreds of standard Unix utilities (sh, ls, grep, sed, awk, tar…) in a single small binary.

Try it live

Nothing is downloaded until you press Run.

catalog app

Call BusyBox applets through the multi-call binary

Installs busybox 1.36.1 from the signed catalog (every chunk is verified before it is written), then runs the commands below in the VM's shell.

bash
/bin/busybox echo userland
/bin/busybox sh -c 'printf "%s\n" one two three | /bin/busybox wc -l'
loading…
Expected output
$ /bin/busybox echo userland
userland
$ /bin/busybox sh -c 'printf "%s\n" one two three | /bin/busybox wc -l'
3

What it is

BusyBox combines tiny versions of the common Unix userland into one executable that dispatches on the name it is called by. It is the userland NanoVM boots into: the console image already contains a BusyBox, and the catalog package installs the same 1.36.1 build at /bin/busybox for setups that start from an empty filesystem. In the browser it gives scripts, tutorials and terminals a real POSIX shell and coreutils instead of an imitation.

Package facts

version
1.36.1
runs on
RISC-V VM (elf-app, riscv64gc-linux-musl)
download
780 kB compressed · 1 file
command
busybox
requires
nothing else — a static binary
license
GPL-2.0-only (upstream)
upstream
busybox.net/
catalog
generation 12, Ed25519-signed

Install and run it from your page

With the SDK, installApp resolves busybox in the signed index, fetches its content-addressed chunks from the CDN, verifies each one and writes the files into the VM. Details in Installing catalog apps.

javascript
import { createNano } from "@userland-run/nano-sdk";

const nano = await createNano({ image: { wasm: "/nano/console.wasm" }, ramMB: 512 });
await nano.installApp("busybox"); // signature-verified, cached in OPFS

const r = await nano.shExec("/bin/busybox echo userland");
console.log(r.stdout);

Typical usage of the upstream command-line tool:

bash
busybox tar -czf site.tar.gz public/ && busybox ls -l site.tar.gz

← All 32 catalog apps