Implement Qt6 GUI with direct kernel interface, remove Unix user system

Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot]
2026-01-02 01:26:19 +00:00
parent 67ba162bde
commit 37e973883d
9 changed files with 389 additions and 171 deletions

View File

@@ -1,16 +1,46 @@
# SparkOS
A minimal Linux distribution designed for simplicity and portability. SparkOS features:
A revolutionary operating system that ditches Unix conventions for a modern, network-first approach. SparkOS features:
- **Minimal footprint**: Barebones Linux system with busybox shell
- **Direct Kernel Interface**: Qt6 GUI communicates directly with Linux kernel, bypassing Unix layers
- **Linux Driver Layer**: All hardware abstraction handled by Linux kernel drivers
- **No Unix User System**: No users, groups, passwords, or authentication - direct boot to GUI
- **Network-First Architecture**: Built around networking as the primary paradigm
- **Qt6 Full-Screen GUI**: Modern graphical interface from boot
- **Minimal footprint**: Lean system with only essential components
- **Portable**: dd-able disk image for USB flash drives
- **Custom init**: Lightweight C init system
- **Future-ready**: Designed to support Qt6/QML GUI and Wayland
- **Root elevation**: Uses sudo for privilege management
- **Bootstrap networking**: Wired networking with DHCP for initial setup
- Minimal installation by default: kernel, init system, busybox, git, and sudo
- DNS configured with fallback to public DNS servers (8.8.8.8, 1.1.1.1)
- WiFi and advanced networking configured later via spark CLI
- **Custom init**: Lightweight C init system that launches GUI directly
- **Immutable base**: Read-only root filesystem with overlay for runtime data
## Architecture
```
┌─────────────────────────────────────┐
│ Qt6 GUI Application │
│ (Direct Framebuffer Rendering) │
└─────────────────────────────────────┘
┌─────────────────────────────────────┐
│ Linux Kernel │
│ • Framebuffer (/dev/fb0) │
│ • Input devices (/dev/input/*) │
│ • Network stack │
│ • All hardware drivers │
└─────────────────────────────────────┘
┌─────────────────────────────────────┐
│ Hardware │
│ • GPU, Display, Input devices │
│ • Network adapters │
│ • Storage, etc. │
└─────────────────────────────────────┘
```
**Key Design Principles:**
- Linux kernel provides complete hardware abstraction and driver support
- Qt6 interfaces directly with kernel through /dev, /proc, /sys interfaces
- No intermediate Unix layers (no systemd, no user management, no shells by default)
- Network-first: networking capabilities exposed directly to GUI
## MVP Status