Files
open_kernel/README.md
T

4.1 KiB

Open Agila

Open Agila is an operating-system project in Ada and V. This repository now has a tested host message-port core, an Ada-to-V demonstration, and a minimal x86-64 QEMU boot milestone. It is an early system-building project, with the source and learning path available for contributors.

The design draws on OpenStep's separation of application frameworks from the OS and MINIX's separation of kernel mechanisms from user services. The owner's specific Open Amiga repository is still awaiting identification; no Amiga code or compatibility layer has been imported. These are design references, not claims of OpenStep, MINIX, or Amiga binary compatibility.

What runs

Target Implemented behavior Boundary
make run Original Ada host scaffold with truthful subsystem status CPU, memory, interrupt, timer, and scheduler initializers remain placeholders
make test Ada bounded FIFO ports, sender policy, revocation, generation-checked handles; C ABI checks; V client Single process, single thread, trusted caller IDs; no kernel-enforced isolation
make boot-test GRUB loads original x86-64 startup; Ada runs the same port core, prints serial proof, and exits QEMU BIOS/TCG test target; one address space; no scheduler, user services, persistent storage, networking, or desktop

The application-facing Flying V SDK remains a separate public project. This V client uses standard V and does not claim to be a Flying V compiler or the private Agila runtime.

Reproduce on Ubuntu 24.04 x86-64

Install official distribution packages in a development machine or VM:

sudo apt-get update
sudo apt-get install make gcc gnat gprbuild python3 qemu-system-x86 grub-pc-bin grub-common xorriso

Install V from its official source and record the commit/version. The first milestone was tested using V 0.5.2, commit 7647ce1. A prebuilt, unexplained executable is not a source dependency.

git clone https://git.agilaos.com/matt/open_kernel.git
cd open_kernel
make test V=/absolute/path/to/v
make boot-test

Expected proof includes:

ADA_PORTS_OK: ...
ADA_V_PORTS_OK value=42
OPEN_AGILA_X86_64_ADA
ADA_PORTS_BOOT_TESTS_OK
AGILA_BOOT_OK
QEMU_BOOT_SMOKE_PASS

The ISO is build/open-agila.iso. The smoke test runs for at most 30 seconds, attaches no writable host disk, disables networking, and checks both serial markers and the QEMU exit status. Use it in QEMU; this release has not been validated on physical hardware, UEFI, Arm64, or RISC-V. A terminal banner alone is not evidence that a complete operating system exists.

Start contributing

Read the architecture, the ABI contract, the roadmap, and the contribution guide. The issue tracker contains bounded tasks with acceptance criteria. Agila University provides English, Tagalog, and Bisaya lessons connected to this source.

  • Tagalog: I-build ang eksaktong commit, hulaan ang resulta, patakbuhin ang test, at ipaliwanag ang pagbabago. Maliliit at nasusubukang patch ang simula ng kontribusyon.
  • Bisaya: I-build ang eksaktong commit, tag-ana ang resulta, padagana ang test, ug ipasabot ang kausaban. Sugdi sa gagmay ug masulayan nga patch.

Source and license

The existing Agila Open License v1.0 is preserved. This milestone adds original core/, abi/, include/, tests/, examples/v_port_client/, boot/, and build/documentation support. It corrects the host scaffold's output so placeholder initializers are no longer presented as implemented hardware subsystems. It imports no third-party OS code and no private Agila implementation.

GRUB, QEMU, GNAT, GCC, and V are development dependencies under their respective upstream licenses. The locally generated ISO contains GRUB boot components as well as this kernel; distribution of a combined ISO must retain the applicable upstream notices and source obligations. The Forge milestone publishes source and test evidence; users can reproduce the ISO with the commands above.