Skip to content

Latest commit

 

History

History
19 lines (16 loc) · 949 Bytes

README.md

File metadata and controls

19 lines (16 loc) · 949 Bytes

Some experiments to create minimal executables for Linux without any libc, nor assembly files. Yes there must be some inline assembly to interact with Linux syscalls, but all program logics are in a high level language; C for now, Rust under consideration.

Such tools may be of interest when

  • used in containers for minimal overhead, or
  • some native code are needed by sysop shell scripts to perform a few syscalls in a specific setting not exposed by standard tools; if the programs are tiny they can be "gzip | base64" encoded and embedded directly in the shell script.

As an example pause.c implements a command similar to the one used by docker://k8s.gcr.io/pause; on my machine this compiles to an executable of size 297 BYTES.

I have not yet decided which license I'd like to release these under, consider these code as "license unclear" for now. For sure I would choose a permissive license if anyone shows interest in them.