A compact, self-hostable operating system foundation for building server appliances and embedded/gateway systems. Black Wall Core is the adaptable, open-core OS layer extracted from the Black Wall Core product: it provides the kernel, boot, filesystem, networking, drivers, and a small userland, free from the proprietary cloud, API, and GUI layers.
| Area | Location | Contents |
|---|---|---|
| Kernel | kernel/ |
x86_64, UEFI; memory, process, scheduler, IPC, security, SMP, syscalls, threads |
| Drivers | kernel/src/drivers/ |
ACPI, AHCI, NVMe, PS/2, PIT timer, RTC, VGA, VirtIO |
| Boot | boot/ |
UEFI bootloader + init (PID 1) |
| Filesystem | fs/ |
VFS layer and filesystem support |
| Networking | net/ |
Network stack |
| Shared | shared/shared |
Common crate shared across the kernel and userland |
| Userland | userspace/ |
init (bare-metal), shell (bwsh), coreutils, login |
| Services | services/ |
SSH, cron, snapshot, backup |
| Tooling | tools/ |
QEMU runner, firewall, ISO builder, package builder, updater |
| Package manager | pkg/ |
anx CLI + anx-repo-server |
kernel/,boot/,fs/,net/,shared/shared/— the core OSuserspace/— user-mode programs (shell, coreutils, login, init)services/— daemons that ship with the OStools/— development and system toolingpkg/— the package manager and repository serverexamples/— small programs showing how to use the cratesdocs/,build/— documentation and build scripts
See ARCHITECTURE.md for a deeper layout and CONTRIBUTING.md for how to contribute.
- Rust
stabletoolchain - Target installed:
x86_64-unknown-uefi,x86_64-unknown-nonerustup target add x86_64-unknown-uefi x86_64-unknown-none
- (Optional)
qemu-system-x86_64for booting the ISO
The workspace defaults to the core OS members:
cargo build # host crates (net, fs, shared, tools, services, pkg)
cargo build -p blackwall-kernel --target x86_64-unknown-uefi
cargo build -p blackwall-bootloader --target x86_64-unknown-uefiThe userland init binary is built for bare metal and embedded into the
kernel:
cd userspace/init && cargo build --target x86_64-unknown-noneSee docs/build.md and tools/iso-builder for assembling a bootable ISO,
and tools/runner (QEMU) for running it.
cargo test --workspaceThe kernel and bootloader are bare-metal and must be cross-compiled (host tests cover the library, networking, filesystem, tools and services crates).
Licensed under the MIT License. See LICENSE.