抢先体验版,不是正式发布
内核已在实体服务器上启动,桌面能运行;图形和部分 ABI 还在补。
简介
- 用户态约 29.2 万行,内核约 18.1 万行,全部自研。
- 内核实现 Linux 6.12 的系统调用 ABI(编号 0–462)。
- 已在 Dell PowerEdge R410 等实体服务器上启动。
- 内核仓库使用 Apache-2.0 许可。
系统结构
从上到下:
- SPUI 桌面与应用:合成器、浏览器、终端、文件管理器等。
- X11 兼容层与 VortexGlass 窗口主题。
- 自研库:libc、libgfx、imgui。
- Linux 6.12 系统调用 ABI:用户态和内核的分界。
- Uinxed-Kernel:调度、内存、VFS、网络、驱动。
- Limine 引导:UEFI 与 Legacy 都支持。
能跑的现成软件
| 程序 | 状态 | 说明 |
|---|---|---|
| OpenJDK | 能运行 | 为它重写了信号、SMP 和中断路径。 |
| DOOM | 能运行 | 经自研的 X11 兼容层运行。 |
| systemd | 初步跑通 | 为它补了 Cgroup v2 和命名空间。 |
| Minecraft | 团队实测 | 见页首截图。 |
桌面与应用
- SPUI 桌面:dock、壁纸和窗口管理。
- X11 兼容层:从零写的 X11 服务器,实现 120 个核心协议请求。
- VortexGlass:Aero 风格的毛玻璃窗口,主题可在
tech/win98/vortexglass间切换。 - init:自研 PID 1,带服务监管和 systemctl 风格的命令。
- libc / libgfx / imgui:自己的 C 库、图形库和 GUI 工具包。
代码量最大的几个应用:
| 程序 | 作用 | 行数 |
|---|---|---|
| browser | 浏览器,含 UxHtml 渲染引擎和 JS 引擎 | 25,713 |
| libgfx | 图形库与控件库 | 21,785 |
| compositor | 窗口合成器 | 12,320 |
| settings | 系统设置 | 3,064 |
| terminal | 终端仿真器 | 2,869 |
另有开机向导、编辑器、文件管理器、活动监视器、计算器等,都是自研的。
Uinxed-Kernel
- 调度:EEVDF,SMP 负载均衡,futex 优先级继承。
- 内存:buddy + slab,四级页表,页缓存和 swap。
- 文件系统:VFS;支持 FAT、exFAT、ext2/3/4、NTFS 和 ISO 9660。
- 网络:自研 TCP/IP 协议栈(IPv4 / IPv6),e1000 和 RTL8139/8169 网卡驱动。
- 驱动:USB HID、AHCI、NVMe、DRM/KMS、VirtIO-GPU、HD Audio、ACPI。
- 安全与 IPC:seccomp、epoll、eventfd、memfd、PTY 等。
当前状态
实验性系统,不要拿重要数据冒险
请用可抛弃的机器和测试盘。NTFS 写入驱动还不能信任。
已经跑通
- 在实体服务器上启动。
- 引导 Alpine Linux 并拉起图形桌面,Weston 和 Xfce 都验证过。
- SPUI 桌面和自研用户态。
- DOOM 和 OpenJDK。
还在做
- GPU 驱动、音频和部分 Linux ABI。
- PS/2 输入、epoll 唤醒和调度器的验证。
- 让 systemd 真正可用。
第二版镜像修复了 xHCI 上的 USB HID,第一版仍然保留,见版本记录。
构建与运行
需要 make、gcc(建议 13.3+)、qemu 和 xorriso。
- QEMU:
make run,串口输出直接到终端。要抓内核日志,把limine.conf里的console=tty0改成console=ttyS0。 - 实体机:按仓库 README 的
Run on physical hardware一节准备引导介质。