From 068e0e37c39214457620ebf7250c6ec8980c1b0d Mon Sep 17 00:00:00 2001 From: Linehu Date: Fri, 2 Oct 2026 19:37:07 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20README=20=E9=A1=B9=E7=9B=AE=E7=89=B9?= =?UTF-8?q?=E8=B4=A8=E7=AB=A0=20-=20explain=20what=20makes=20Deshab=20Desh?= =?UTF-8?q?ab?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - new traits section: 疯但好使 / 毛坯神殿非赛博保险柜 / 仪式感是功能(@sealed旋钮+莲花崩溃屏) / 诚实比体面重要 / 错也错得有章法 - refresh stale status refs (UTRW slow path + KAT, phase 1-2 done) and build section (cross-platform Makefile) --- README.md | 28 +++++++++++++++++++++++----- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 6562fdc..8cc34e2 100644 --- a/README.md +++ b/README.md @@ -6,12 +6,24 @@ Deshab-OS 是一个从零编写的独立 64 位操作系统,基于 x86_64 long 当前已完成可启动的实验内核闭环:Limine 引导 → UTSM 首阶段内核 → 14 个 DKM 驱动加载 → DSK 主内核 → 桌面/登录/向导。 +## 项目特质 + +Deshab 的灵魂是**自相矛盾**:一边封圣一边爆粗,一边敞开门一边焊死锁——**疯的是姿态,稳的是时序**。 + +1. **疯但好使。** 提交历史像涂鸦墙,但 `run_qemu.bat` 一下,莲花确实开了。每个里程碑必须有 QEMU 证据,疯要有画面证据。 +2. **毛坯神殿,不是赛博保险柜。** SAS-R0 单地址空间 Ring0——没有隔断的机房,每面墙上写着"此处无墙"。自由是默认值:用户代码即内核代码,想改就改;卡了按时光键(DRR 回滚)。 +3. **仪式感是功能。** 给空气上锁(UTSM 封缄)不是因为有人窥探,是因为喜欢咔哒声——所以它必须是可开关的旋钮(`@sealed` 可选标记),而不是强加的道袍。崩溃也要崩出莲花(DEAICUP 莲花崩溃屏)。 +4. **诚实比体面重要。** 不假装安全,只声明边界;不假装完成,只标⬜。状态唯一来源是 [STATUS.md](docs/STATUS.md),每个 ✅ 都带证据路径,⬜ 是坦白不是路线装饰。 +5. **错也错得有章法。** 0bug 不靠形式化验证,靠 B0-B4 启动契约、分级自检(F4)、看门狗与 A/B checkpoint 回滚兜底。 + +完整宣言与三条箴言见 [docs/PHILOSOPHY.md](docs/PHILOSOPHY.md)。 + ## 核心架构 ```text SAS-R0-PCQ 单地址空间 Ring0 + Per-CPU O(1) 位图调度器(当前 BSP-only) UTSM UUID 调谐封缄内存(明文须经 UTRW 读写器) -UTRW 带标记读写器(Fast Path ✅ / Slow Path ⬜) +UTRW 带标记读写器(Fast/Slow Path ✅,RFC 8439 KAT 对拍) DRR 专用恢复根(看门狗 / checkpoint / A-B 回滚 / 独立 Emergency Pool) DKM 驱动模块系统(ELF64 .drv ABI,4 stage 分阶段加载) ``` @@ -23,11 +35,11 @@ DKM 驱动模块系统(ELF64 .drv ABI,4 stage 分阶段加载) | 子系统 | 状态 | |--------|------| | 早期启动 / IRQ / DMA / DKM 14 驱动 | ✅ | -| UTSM 封缄(Fast path + selftest) | 🔶 | +| UTSM 封缄(Fast/Slow Path + RFC 8439 KAT + @sealed 旋钮) | ✅ | | AHCI / e1000 / FAT32 写盘 | ✅ | | NVMe / virtio-net / FAT32 完整路径 | 🔶 | | PCQ 调度器 / DRR 恢复根 | ✅(BSP-only / 演示级) | -| Five-Phase 填补计划 | 见 [docs/ROADMAP_INSANE.md](docs/ROADMAP_INSANE.md) | +| 五期填补计划进度 | 一期二期全勾,见 [docs/TASKBOARD.md](docs/TASKBOARD.md) | ### 已知边界(Non-Goals) @@ -52,16 +64,22 @@ DKM 驱动模块系统(ELF64 .drv ABI,4 stage 分阶段加载) ## 构建 -> ⚠ 当前构建仅支持 **Windows**(build.ps1 + WSL mkfs.vfat/mkfs.ext4),跨平台构建见 ROADMAP_INSANE F3。 +> Windows 走 `build.bat`;Linux/macOS 用根目录 [Makefile](Makefile)(`make dev|release|realtest`,打包需 mkfs.vfat/mkfs.ext4)。 ```powershell -# 需求:LLVM Clang + ld.lld + Python/Pillow + QEMU + WSL(mkfs) +# Windows:LLVM Clang + ld.lld + Python/Pillow + QEMU + WSL(mkfs) .\build.bat # 构建 utsm.elf + deshab.elf + 14 个 .drv + ISO/deshab.img .\build.bat -Variant dev # 开发者模式(自动跑 shell 测试,调试全开) .\build.bat -Variant release # 发布版(进桌面+登录) .\ISO\run_qemu.bat # QEMU UEFI 启动验证(串口输出到 stdio) ``` +```bash +# Linux / macOS(F3 跨平台构建) +make dev # 等价 build.bat -Variant dev +make both # dev + release +``` + --- > "Deshab 不假装安全,只声明边界;不假装完成,只标⬜。" 🪷