A custom operating system with a minimal Linux kernel and pure .NET 10 NativeAOT userspace, featuring a browser-based windowing system built on Chromium/CEF.
- Minimal Linux Kernel: Stripped-down kernel optimized for virtualization
- Pure .NET Userspace: All userspace code written in C# using NativeAOT
- Browser-Based GUI: Windows and applications rendered via Chromium Embedded Framework
- SSH Server: Built-in SSH server for remote access
- Custom Shell: Basic shell with command-line utilities
- Docker Desktop or Docker Engine
- .NET 10 SDK (for development)
- QEMU (for testing)
# Linux/macOS
./scripts/build.sh
# Windows PowerShell
.\scripts\build.ps1This will:
- Build the Docker build environment (first run only)
- Compile the .NET init process
- Build the Linux kernel
- Create the initramfs
- Output
vmlinuzandinitramfs.cpio.gzto theoutput/directory
# Linux/macOS
./scripts/run-qemu.sh
# Windows PowerShell
.\scripts\run-qemu.ps1
# With graphics
./scripts/run-qemu.sh --graphics
.\scripts\run-qemu.ps1 -GraphicsPress Ctrl+A, X to exit QEMU.
Once the full system is running (Phase 3+), you can SSH in:
ssh -p 2222 root@localhostPanoramicData.Os/
├── configs/
│ └── kernel.config # Linux kernel configuration
├── output/ # Build output (gitignored)
│ ├── vmlinuz # Linux kernel
│ └── initramfs.cpio.gz # Initial RAM filesystem
├── plans/ # Implementation plans
│ ├── MASTER_PLAN.md
│ ├── Phase-001.md # Foundation & Boot
│ ├── Phase-002.md # Network Stack
│ └── ...
├── scripts/
│ ├── build.sh # Build script (Linux/macOS)
│ ├── build.ps1 # Build script (Windows)
│ ├── run-qemu.sh # QEMU runner (Linux/macOS)
│ ├── run-qemu.ps1 # QEMU runner (Windows)
│ ├── boot-test.exp # Automated boot test
│ └── ...
├── src/
│ └── PanoramicData.Os.Init/
│ ├── Program.cs # Init process entry point
│ ├── Linux/ # Linux syscall bindings
│ └── Logging/ # Serial console logging
├── Dockerfile # Build environment
└── README.md
To modify kernel configuration:
docker run -it --rm \
-v $(pwd):/workspace \
panos-builder \
kernel-menuconfigNew projects should be added under src/ and follow the NativeAOT configuration pattern in PanoramicData.Os.Init.csproj.
Run the automated boot test:
./scripts/boot-test.exp- Phase 1: Foundation & Boot
- Phase 2: Network Stack
- Phase 3: SSH Server
- Phase 4: Graphics & Input
- Phase 5: Chromium Integration
- Phase 6: Window Manager
- Phase 7: Built-in Apps
- Phase 8: Multi-VM Support & Polish
See plans/MASTER_PLAN.md for detailed implementation plans.
- QEMU (primary development target)
- VirtualBox
- Hyper-V
- VMware
| Resource | Minimum | Recommended |
|---|---|---|
| RAM | 256 MB | 512 MB |
| Disk | 128 MB | 256 MB |
| CPUs | 1 | 2+ |
[License TBD]
[Contribution guidelines TBD]