Console 与 Desktop 双版本
两个版本共享 C# 自研内核、Microsoft .NET 10 NativeAOT 和 RAM 工作区协议,分别链接应用,不靠桌面里的终端窗口充当控制台系统。
Console 的独立项目为 Source/XFESystem.NativeRuntime/ConsoleApplication/ConsoleApplication.csproj。参考历史提交 1139821 的 kernel/src/drivers/framebuffer.rs 与 user/init/src/shell.rs,使用深色背景、品牌页眉、固定宽度字形、正文区域及底部状态栏。复用现有 TerminalShell、ANSI 文本缓冲区和受限 ConsoleIL。它没有浏览器、文档或网络依赖。当前仍用内核 PS/2 键盘,不表示实体 USB HID 已适配。
Desktop 的原应用项目保持不变,保留窗口、任务栏、浏览器、编辑器、Markdown 与终端。BuildSystem.ps1、Build.ps1、Open.ps1、Package.ps1 以及兼容包装入口接受 -Edition Desktop|Console。默认值为 Desktop,构建目录、包名、回执都标明版本。启动器拒绝版本不符的回执,打包器只接受对应的独立单版本镜像。
双系统 U 盘采用同一 ESP 放置两个独立 ELF:
| 菜单 | 镜像路径 | 默认行为 |
|---|---|---|
| XFESystem Desktop | System/Kernel.elf |
10 秒后自动启动 |
| XFESystem Console | System/Console.elf |
上下键选择后 Enter |
生成菜单镜像:
dotnet run --project Tools/CSharpBoot/PackImage.csproj -c Release --no-build -- <Desktop Kernel.elf> <新建Dual.img> 1280x800 --independent-kernel --console-kernel <Console Kernel.elf>
python Tools/IndependentKernel/TestBoot.py <Desktop Kernel.elf> --image <Dual.img> --boot-entry 0 --kernel-image-path System/Kernel.elf --desktop --browser --documents --bing --virtual-cpus 8 --timeout 360
python Tools/IndependentKernel/TestBoot.py <Console Kernel.elf> --image <Dual.img> --boot-entry 1 --kernel-image-path System/Console.elf --console --virtual-cpus 8 --timeout 180
python Tools/IndependentKernel/VerifyDualDelivery.py <Dual.img> --desktop-proof <Desktop Result.json> --console-proof <Console Result.json> --output <新的DualResult.json>
两次来宾验收必须使用完全相同的双版本镜像,通过真实 QMP PS/2 按键选择不同菜单。控制台检查文件写入读取、历史草稿恢复、Delete/Insert 光标编辑、ConsoleIL 程序输出和实际画面变化,并排除桌面/浏览器初始化。图形版仍要求原有完整验收。源文件、两个 ELF、完整镜像、回执及截图分别绑定 SHA256;双版本回执只在严格启动器分别接受两份证据后生成。
两个独立镜像各为 128 MiB,双系统镜像为 256 MiB。物理写入使用新增 IndependentDualCSharp256 配置,沿用 scripts/physical-media.ps1 的同一专用 USB 身份、分区指纹、计划 token、源与证据锁、完整回读及真实盘尾备份 GPT 校验。不能拿两个独立镜像各自通过的结果替代双系统镜像的实际菜单启动验收。
RAM-only、单 BSP、实体启动与输入、持久存储、GPU/CUDA、SMP 和长期稳定性边界保持原有实验范围。实际构建、测试和写盘结果另存本轮验证摘要;未通过的项目不得标记成功。
本次实际交付
16 组、1332 项宿主检查全部通过。两份独立镜像分别通过来宾验收;同一 256 MiB 双启动镜像通过实际键盘选择 Desktop 和 Console 的两次完整验收,均为 QEMU 8 虚拟 CPU、实际一个 BSP。控制台十命令检查包括 RAM 文件读写、历史草稿恢复、光标 Delete/Insert 编辑和真实 ConsoleIL;图形版继续通过 Bing、Monaco 实际编辑、Markdown 八项及经典终端九命令检查。两个最终独立 ZIP 完整回读、解压后逐文件哈希与 PowerShell 5.1 启动计划通过。
专用 U 盘完整 256 MiB 回读及真实盘尾备份 GPT 通过,容量调整后的 SHA256 为 b16dfe1c52bd18e8e8c26334764854b74737333bb4060971e81d589ce13572bd,辅助进程退出码 0,句柄关闭、设备身份重新确认、保持离线。仍需用户在实体机上复测启动和输入。
首次版本号断言、逐字符 ANSI 菜单识别和 PS5.1 模块自动加载失败均保留历史记录。另一次独立图形镜像的备用源码滚动验收未通过,同一源码、内核及完整镜像的独立复测已通过;这不构成长时间稳定性证明。所有最终路径、哈希、失败及后续记录见 验证摘要。

