#elf #unix #arm64 #file #x86-64 #loader #riscv64 #note #mini-loader

no-std bin+lib mini-loader

The mini-loader is capable of loading and executing ELF files, including Executable file and Position-Independent Executable file

5 stable releases

Uses new Rust 2024

1.2.0 May 1, 2025
1.1.2 Apr 12, 2025
1.1.1 Mar 16, 2025
1.1.0 Feb 20, 2025
1.0.0 Feb 19, 2025

#187 in No standard library

Download history 266/week @ 2025-02-19 20/week @ 2025-02-26 121/week @ 2025-03-12 10/week @ 2025-03-19 109/week @ 2025-04-09 14/week @ 2025-04-16 129/week @ 2025-04-30

252 downloads per month

MIT/Apache

185KB
4.5K SLoC

license Rust

mini-loader

The mini-loader is capable of loading and executing ELF files, including Executable file and Position-Independent Executable file

Note

Support x86_64, riscv64, aarch64.

Installation

x86_64

$ cargo install mini-loader --target x86_64-unknown-none -Zbuild-std=core,alloc,panic_abort -Zbuild-std-features=panic_immediate_abort,optimize_for_size

aarch64

$ RUSTFLAGS="-C relocation-model=pic -C link-arg=-pie" cargo install mini-loader --target aarch64-unknown-none -Zbuild-std=core,alloc,panic_abort -Zbuild-std-features=panic_immediate_abort,optimize_for_size

riscv64

$ RUSTFLAGS="-C relocation-model=pic -C link-arg=-pie" cargo install mini-loader --target riscv64gc-unknown-none-elf -Zbuild-std=core,alloc,panic_abort -Zbuild-std-features=panic_immediate_abort,optimize_for_size

Usage

Load and execute ls:

$ mini-loader /bin/ls

Dependencies

~2MB
~36K SLoC