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