|
|
1 maand geleden | |
|---|---|---|
| .. | ||
| arkrt | 1 maand geleden | |
| boot | 1 maand geleden | |
| frameworks | 1 maand geleden | |
| kernel | 1 maand geleden | |
| prebuilts | 1 maand geleden | |
| system | 1 maand geleden | |
| vendor | 1 maand geleden | |
| .gitignore | 1 maand geleden | |
| LICENSE | 1 maand geleden | |
| Makefile | 1 maand geleden | |
| README.md | 1 maand geleden | |
| arkos_architecture_guide.md | 1 maand geleden | |
| ovmf.log | 1 maand geleden | |
A Linux-based operating system built from scratch — designed to be easy to use, easy to compile, and open for customization.
See ArkOS: Comprehensive System Architecture for more details
| Feature | Status |
|---|---|
| Custom BIOS bootloader (stage1 + stage2) | ✅ |
| VESA graphics boot animation (60 FPS expanding dot) | ✅ |
| Verified Boot (SHA256 key-signed OS binary) | ✅ |
| Native Swift splash screen via Linux framebuffer | ✅ |
| Linux kernel 7.0 with custom initramfs | ✅ |
| Prebuilt Clang/LLVM toolchain | ✅ |
.ark configuration file format |
✅ |
| Modular build system with progress output | ✅ |
| Service Manager | 🔜 |
| Package Manager | 🔜 |
| Tool | Purpose |
|---|---|
clang (prebuilt, included) |
C compilation |
swiftc |
Swift compilation |
nasm |
x86 assembly |
python3 |
Boot image packing & signing |
qemu-system-x86_64 |
Testing |
mkfs.ext4 |
Disk image generation |
cpio, gzip |
Initramfs packing |
cd arkos/
make build # Compiles everything, generates disk images
make run # Launches QEMU with the built images (BIOS Mode)
make run-uefi # Launches QEMU in UEFI Mode
make clean # Removes all build artifacts
The build system uses the prebuilt Clang toolchain at prebuilts/clang/ for all C compilation. No system compiler dependency.
The build system shows modular progress:
╔══════════════════════════════════════╗
║ ArkOS Build System v2.0 ║
╚══════════════════════════════════════╝
[ 1/14] Cleaning previous build
[ 2/14] Creating staging directories
[ 3/14] Integrating frameworks
[ 4/14] Preparing boot files
...
[14/14] Generating disk images
╔══════════════════════════════════════╗
║ Build complete! ✓ ║
╚══════════════════════════════════════╝
All images are generated in finished/:
| Image | Description |
|---|---|
boot.img |
Bootloader + animation + kernel + initramfs |
sys.img |
System partition (frameworks, libraries) |
vend.img |
Vendor partition (DRM, keys, mirror info) |
avb.img |
Android Verified Boot metadata |
vbmeta.img |
Verified boot metadata |
dtbo.img |
Device tree blob overlay |
arkos/
├── boot/ # Bootloader source & configs
│ ├── source/ # Assembly source (bootloader.asm, stage2.asm) and C source (bootloader.c)
│ │ └── animationframes/ # Pre-generated boot animation frames
│ ├── initramfs.img # Base initramfs image
│ └── *.ark # Boot configuration files
├── frameworks/ # OS frameworks (Swift, DRM, SwiftUI)
├── kernel/ # Linux kernel source + prebuilt bzImage
├── prebuilts/ # Prebuilt toolchains
│ └── clang/ # LLVM/Clang 22 toolchain
├── system/ # Core system components
│ ├── init.c # PID 1 init process (Verified Boot)
│ ├── display/ # Display compositor (ui_daemon) and boot animation
│ ├── sha256.c/h # SHA256 implementation for signing
│ └── fb_helper.c # Framebuffer ioctl helper
├── vendor/ # Vendor-specific files
│ ├── verify/ # Verified Boot keys & signing tools
│ ├── mirror/ # Mirror configuration
│ └── Widewine/ # DRM (Widevine) integration
├── arkrt/ # ArkOS runtime monolithic daemon
├── Makefile # Top-level build entry point
└── finished/ # Build output (generated)
ArkOS implements a custom Verified Boot chain:
vendor/verify/securebuild.arksign.py computes SHA256(KEY + arkrt_binary) → signature.bininit.c recomputes the hash and compares against signature.binarkrt daemon and UI layer⚠️ Never commit your real signing key to a public repository. Use
vendor/verify/key.pyto generate new keys.
See LICENSE for details.