guideXOS Server Documentation

Architecture, build flow, and application roadmap for the guideXOS Server branch

This page covers guideXOS Server specifically. For the original C#/AOT desktop OS see guideXOS Features, and for virtualization research see guideXOS Hypervisor.

Getting Started

Recommended workflow for building and validating guideXOS Server

GXAPP Format

Learn about the universal application package direction

Hardware and Networking

See what the kernel already supports and what is still missing

Getting Started

First Boot

The current repository recommends starting with the Windows → amd64 → UEFI → QEMU path. A typical first run starts from the build script rather than a prebuilt legacy ISO image:

  • Build the UEFI bootloader project
  • Build the kernel with the current toolchain
  • Stage the ESP directory with boot artifacts
  • Launch QEMU with OVMF firmware
  • Observe serial and framebuffer output during bring-up

Using the Desktop

guideXOS still aims to present a visible desktop OS while the kernel matures. The current project story emphasizes:

  • Framebuffer output: Graphics and UI work are still part of the project
  • Console-first diagnostics: Serial and shell visibility matter during bring-up
  • Layered app work: App registration and launch behavior should respect the app model
  • Cross-target validation: Features should survive both host-side and bare-metal paths
// Recommended full build and run powershell -ExecutionPolicy Bypass -File build.ps1 -RunQemu // Component-focused builds run-qemu.bat mingw32-make ARCH=amd64

GXAPP Universal Application Format

What is GXAPP?

GXAPP is the canonical guideXOS Server package format. It is a native container with a magic header, one metadata entry, and one or more architecture-specific binaries.

File Structure

Header | magic + version + flags + entryCount Entry | kind=metadata, architecture=unknown, path=metadata.json Entry | kind=binary, architecture=amd64, path=bin/amd64/app.bin Entry | kind=binary, architecture=riscv64, path=bin/riscv64/app.bin

Metadata Example

The current implementation requires string metadata fields such as application name, version, required guideXOS version, and a binaries list:

{ "format": "gxapp", "formatVersion": 1, "applicationName": "calculator", "version": "1.0.0", "requiredGuideXOSVersion": "1.0.0", "binaries": [ { "architecture": "amd64", "path": "bin/amd64/app.bin", "entryPoint": "main" } ] }

Validation Rules

  • Exactly one metadata entry is required
  • At least one binary entry must be present
  • Binary paths must match bin/<arch>/app.bin
  • Duplicate architecture entries are rejected
  • Trailing bytes after declared entries are rejected
  • Current limits include 128 MiB package size and 64 entries

Installation Behavior

  • Packages install under /system/apps
  • Staging happens under /system/apps/.staging
  • The package manager validates the current CPU has a matching binary
  • Existing packages are not silently overwritten
  • Compression, signatures, and repository downloads are not implemented yet

Hardware and Networking Status

What Already Works

The current hardware report shows a substantial amount of platform support already in-tree:

  • CPU targets: x86, amd64, arm, riscv64, loongarch64, ia64, sparc, sparc64, ppc64, and mips64 are present in-tree
  • Boot paths: UEFI, BIOS/Multiboot, and OpenSBI depending on architecture
  • Storage: ATA/IDE, AHCI, NVMe, and USB mass storage
  • Filesystems: FAT32, exFAT, ext2/4, and UFS
  • Networking: Ethernet, ARP, IPv4, ICMP, UDP, TCP, DHCP client, and DNS client
  • Input and graphics: PS/2, USB HID, serial consoles, VGA text, EFI GOP, and framebuffer backends

Known Gaps

  • ARM64 remains a high-priority missing architecture
  • IPv6 is not implemented yet
  • VirtIO block and VirtIO networking are not implemented
  • Secure Boot, TPM-backed features, and kernel ASLR are missing
  • GPU acceleration is not available

Common Bring-Up Focus

For contributors, the most stable path is still the amd64 UEFI QEMU flow:

build.ps1 -RunQemu // Observe serial logs, confirm bootloader handoff, // and validate kernel services incrementally.

File System

Directory Structure

The repository is currently organized around the bootloader, kernel, docs, scripts, and staged ESP output:

guideXOS.SERVER/ ├── guideXOSBootLoader/ # UEFI bootloader project ├── kernel/ # Multi-architecture kernel ├── docs/ # Planning and SDK documents ├── scripts/ # Build and run tooling ├── ESP/ # Boot output staging └── README.md

File Operations

At runtime, the VFS layer already supports:

  • Mount points
  • Path normalization and resolution
  • File handles for open files
  • Directory listing, creation, and removal
  • Package installation under /system/apps

Ready to Get Started?

Start with the build guide and keep the current Server architecture and app model docs close by.

Open Development Guide View Source Code