Codebase
Repository map
| Path | What lives there |
|---|---|
| boot/ | UEFI loader (BOOTX64.EFI) + legacy MBR/Stage-2 + installer |
| src/kernel.asm | Kernel entry + main loop |
| src/core/ | IDT, APIC/SMP, memory, FAT32, scheduler, syscalls |
| src/drivers/ | NIC, storage, USB, audio, input, video, (WIP) GPU |
| src/net/ | ARP → IP → TCP/UDP → DNS → TLS 1.3 → HTTP |
| src/crypto/ | ChaCha20, Poly1305, SHA-256, X25519, PNG/JPEG decoders |
| src/gui/ | Desktop, window manager, CSS/HTML engine, JS + WebGL |
| src/apps/ | Browser, editor/IDE, terminal, files, Ari chat, games |
| src/toolchain/ | A small on-device C compiler |
| phase0/ | Shared implementation and tests; its HTTP/inflate code is required by the current kernel build |
| tools/ | Host-side Python + C test harnesses |
| third_party/ | Required NetSurf library source with upstream notices/build tools, plus small OBS/Mesa/SDK preparation recipes |
| Makefile | Build system (auto-detects OS) |
| setup.{bat,sh} | One-time setup |
README.md · Repository layout — phase0/, tools/, third_party/ from CONTRIBUTING.md and SOURCE_PACKAGE.txt
CI
Tests
- Workflow
- .github/workflows/tests.yml
- On
- push · pull_request · workflow_dispatch
- Job
- host-tests · ubuntu-latest
- Toolchain
- nasm gcc python3 python3-venv nodejs
- Suite
- bash tools/run_all_tests.sh
- phase0
- cd phase0 && sh tests/run_all.sh
Q&A
Questions
Does it need the Ari model to boot?
The model weights are large and distributed separately (not in this repo); XerisOS boots and runs fine without them (the Ari app shows "no model").
How do I report a security issue?
Please do not open a public issue for a suspected security vulnerability. Report it privately to the maintainer at [email protected] with the subject line XERISOS SECURITY.
Include a minimal reproducer (a packet capture or a small HTML/image file) plus the serial log.
What licence?
XerisOS is released under the Apache License 2.0 — a permissive license with an explicit patent grant. Third-party and vendor components are documented in NOTICE.
By contributing, you agree that your contributions will be licensed under the project's Apache License 2.0.
Next