# 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: ```sh 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. ```sh 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: ```text 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](docs/ARCHITECTURE.md), [the ABI contract](docs/HOST_ABI.md), [the roadmap](docs/ROADMAP.md), and [the contribution guide](CONTRIBUTING.md). The [issue tracker](https://git.agilaos.com/matt/open_kernel/issues) contains bounded tasks with acceptance criteria. [Agila University](https://edu.agilaos.com/) 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.