GNU GPLv3 Open Source

MinimalKernel

A 64-bit ARM (AArch64) bare-metal operating system built from scratch with Limine UEFI bootloader, preemptive SMP scheduler, FAT32 filesystem, and dynamic .mkapp application runtime.

Download Live USB Image (64MB) Download Boot Disk Image (64MB) StableFS Linux Tools (.deb) Browse App Repository

Architecture & Features

SMP Multi-Core (ARM64)

Wakes secondary cores via ARM PSCI CPU_ON (0xC4000003). GICv3 redistributor, per-core stacks, and fine-grained spinlocks.

Preemptive Multitasking

Round-robin task scheduler with timer interrupts, task_yield, task_sleep, and context save/restore.

FAT32 & Dual FAT Mirroring

Custom FAT32 filesystem driver with VFAT Long File Names (LFN), multi-cluster file I/O, fast cached allocation, and dual FAT table mirroring for UEFI compatibility.

Interactive Installer

install.mkapp partitions hard drives with MBR EFI System Partitions (0xEF), formats FAT32, and copies system boot files.

.mkapp Application Runtime

Position-Independent Executable (PIE) ELF64 loader with cache flushes (dc cvau + ic ivau) and ARM64 svc #0 system calls.

Universal Driver Layer

virtio-blk storage, virtio-input keyboard, xHCI USB 3.0 controller, USB Mass Storage (BOT/SCSI), USB HID keyboard & mouse with hardware cursor.

Ethernet & Wi-Fi Networking

virtio-net driver bridged via QEMU user networking to host Ethernet or Wi-Fi. Features DHCP autoconfiguration, ARP resolution, IPv4 routing, ICMP ping, DNS resolver, and TCP/HTTP client.

Terminal Package Manager (pkg)

Install .mkapp applications directly from the terminal via pkg install <app> connected to the official repository at http://mk.orvixos.com.tr/repo.

StableFS (64-Bit Inode FS)

Next-gen ext4-inspired 64-bit inode filesystem for MinimalKernel and Linux with native FUSE read/write driver, Linux format utility (mkfs.stablefs), and full VFS integration.

StableFS: Next-Gen 64-Bit Inode Filesystem & Linux Driver

StableFS is an open-source, ext4-inspired 64-bit filesystem designed for MinimalKernel and Linux. It features block groups, dedicated block and inode bitmaps, 128-byte inodes, and indirect block addressing. It can be formatted, mounted, read, and written natively on both MinimalKernel and Linux.

Download stablefs-tools (AMD64 .deb) Download stablefs-tools (ARM64 .deb)

Linux Installation & Usage:

# OrvixOS:
vpx install stablefs-tools

# Debian / Ubuntu (apt also installs libfuse3 and fuse3):
sudo apt install ./stablefs-tools_1.0.0_amd64.deb

# Format a partition or disk image with StableFS:
mkfs.stablefs -L "ORVIX_STABLE" /dev/sdb1

# Mount read/write on Linux via FUSE mount helper:
mount.stablefs /dev/sdb1 /mnt/data
# or standard mount syntax:
mount -t stablefs /dev/sdb1 /mnt/data

# Inspect or manipulate StableFS images without root:
stablefs-tool info disk.img
stablefs-tool ls disk.img /
stablefs-tool put disk.img myfile.txt /myfile.txt
stablefs-tool cat disk.img /myfile.txt

MinimalKernel Terminal Usage:

# Format any block device or partition as StableFS:
mk> mkfs stablefs sda1 ROOT

# Mount a device or partition:
mk> mount sda1
[SUCCESS] sda1 mounted as stablefs.

# File operations (transparent across StableFS and FAT32):
mk> mkdir /EFI
mk> echo "Hello StableFS" > /test.txt
mk> cat /test.txt
mk> ls /

App Repository (mk.orvixos.com.tr/repo)

MinimalKernel applications are packaged as standalone position-independent .mkapp binaries. Soon they can be fetched directly from the terminal via network package manager.

Application Version Size Description Download
hello.mkapp 1.0.0 5.9 KB ARM64 svc #0 syscall and runtime API demonstration hello.mkapp
calc.mkapp 1.0.0 7.1 KB Fibonacci sequence and prime number calculator calc.mkapp
filetest.mkapp 1.0.0 6.9 KB Multi-cluster FAT32 read/write verification test filetest.mkapp
install.mkapp 1.1.0 25.9 KB Interactive hard drive partitioner, formatter & OS installer install.mkapp
pkg.mkapp 1.0.0 12.0 KB Terminal package manager: download & install .mkapp packages from repo pkg.mkapp
merhaba.mkapp 1.0.0 6.0 KB Türkçe sistem çağrısı ve çalışma zamanı API doğrulama uygulaması merhaba.mkapp

Machine-readable index available at repo/packages.json and plain text list at repo/INDEX.txt.

Quick Start Guide

Launch MinimalKernel in QEMU with hardware acceleration:

# Clone and build MinimalKernel
git clone https://gitlab.com/oxidozi/minimalkernel.git
cd minimalkernel

# Build kernel ELF, bootloader, and Live USB image
make image test-usb-img

# Run with interactive graphical window and serial console
make run

Install to internal disk from Live USB shell:

mk> install.mkapp
# Follow the interactive disk selection and manual partition sizing prompts!
mk> shutdown