第三方组件与来源
本表区分默认自研裸机内核、自家项目复用、外部库及保留的旧路径。默认内核位于 Source/XFESystem.NativeKernel、Source/XFESystem.NativeRuntime、Source/XFESystem.Platform 与 Tools/IndependentKernel,没有 Cosmos SDK、驱动或 GC 引用;它仍使用外部引导器、编译器、Microsoft NativeAOT 运行时、字体解析器及浏览器库。默认解决方案和 Tools/CSharpBoot/BuildKernel.ps1 已转向独立 BuildSystem;旧 Source/XFESystem.Kernel 只通过 -LegacyCosmos、BuildCosmosKernel.ps1 或 XFESystem.Legacy.slnx 显式构建。实际通过范围仍须读取对应源码/镜像验收,不能仅从入口切换推断。
工具版本和内容校验见 tools-lock.json、bflat 锁定、各项目 Packages.lock.json / packages.lock.json、ManagedDependencies.json 和资源清单。独立应用的依赖图以 Application/packages.lock.json 为准;独立构建的实际工具/源码/对象哈希由 BuildReceipt.json、ProbeReceipt.json、PortReceipt.json 记录。旧 Dependencies.json 和许可证收集清单继续用于其原有 Cosmos 路径,不冒称已对应新镜像。下载 URL、名称与哈希不能代替完整许可证正文。
自研范围与外部边界
| 部分 | 本项目维护的内容 | 保留的外部边界 |
|---|---|---|
| 独立裸机内核 | 启动策略、页分配与映射、x86_64 中断/调度、内核服务、8042 I/O、PS/2 解码和有界报告队列 | Limine 引导/公开协议、bflat Zero 编译与最小库、x86_64 公开硬件接口;完成度以独立来宾回执为准 |
| NativeAOT 平台移植 | NativePal、内核回调 ABI、线程/事件/内存接线及独立平台 C/C++ 支持;bootstrap 初始化流程按官方实现改编 |
完整 GC、EH、托管对象模型、BCL 和 NativeAOT 编译器仍来自 Microsoft;不能称自研 CLR、GC 或完整 .NET 兼容 |
| CPU 显示与字体包装 | CpuFramebufferCanvas、像素混合/裁剪、场景与 Web 像素缓存、framebuffer pitch/RGB mask 输出、PlatformFonts 包装 |
TrueType 解析和抗锯齿直接复用固定 LunarFonts 原始 Font.cs;字形来自下列字体,未复制 Cosmos Canvas/TrueTypeFont |
| 桌面与终端 | 窗口/任务栏/文件/设置/交互状态、ANSI 文本缓冲、TextWriter、受限 ConsoleIL 解释/绑定 | .NET 基础库;自家 XFEExtension / XFEConsole 的独立 NuGet 包 |
| 浏览器 | DOM-JS 桥、任务泵、资源策略、CSS 级联决策、有限布局与像素绘制 | HTML DOM/解析及 CSS 选择器解析/匹配使用 AngleSharp / AngleSharp.Css,JS 使用 Jint / Acornima;编辑器使用官方 Monaco |
| 文档预览 | 文件会话/保存、预览封装、本地 URL 映射、Monaco 网站适配器 | Markdig / HtmlSanitizer,自家网站的既有策略/主题/工具与该网站携带的第三方资源 |
项目适配、补丁或转换不会改变上游主体作者及许可证。自家项目的包引用/快照也与本仓库本轮新写代码分别记录。历史发行目录、ZIP 与验收记录保留其原有声明,不将其依赖或通过结果转移到新镜像。
构建、引导与测试
| 组件 | 固定版本与使用范围 | 上游与许可证 |
|---|---|---|
| .NET SDK / NativeAOT 运行时库 | SDK 10.0.401;ILCompiler 与 Microsoft.NETCore.App.Runtime.NativeAOT.linux-x64 10.0.12;官方包源为 dotnet/dotnet commit 95017c711e6afc1085133d440e42b4bd78155701 |
.NET runtime、固定包源码,MIT 及第三方声明;独立路径保留官方 Workstation GC/EH 等库,只在私有归档替换 Unix/Linux 平台对象。PrepareRuntime.ps1 记录原始/派生归档 SHA256 并复制包内 LICENSE.TXT / THIRD-PARTY-NOTICES.TXT;linux-x64 表示 ABI/ELF 库目标,不表示使用 Linux 来宾内核 |
| bflat / Zero | 8.0.2,构建版本 8.0.2+1b61feccb3e539530611a92469915ee4cf466696;独立 C# bootstrap 内核及 C# UEFI 助手的编译器/最小库 |
bflat v8.0.2,MIT,版权 Michal Strehovsky;完整许可见 Bflat-8.0.2.txt,第三方声明。独立内核的 Zero 运行时符号/模块段单独隔离,不能绑定为官方 .NET GC/EH,也不能称为自研标准库 |
| LLVM / Clang / LLD | 20.1.8;独立 C/汇编、NativeAOT PAL 编译与 ELF 链接/对象符号隔离 | LLVM 20.1.8,Apache-2.0 WITH LLVM-exception 及分发包内第三方声明;工具 SHA256 由锁文件和独立构建回执记录 |
| musl 数学库 | 1.2.5;只编译 src/math/*.c 与 src/fenv/x86_64/fenv.s,不引入其 OS、libc、线程或分配器实现;源归档 SHA256 a9a118bbe84d8764da0ea0d28b3ab3fae8477fc7e4085d90102b8596fc7c75e4 |
官方 musl 1.2.5 归档,MIT 及数学例程其他原版权;完整 COPYRIGHT。编译输入/输出由 BuildMath.py 与 Math-*/BuildReceipt.json 固定,不能把这些数学函数归为本项目自研 |
| Limine | 12.9.3;x86_64 UEFI 引导器,公开协议 base revision 6 | Limine 12.9.3,引导器 BSD-2-Clause、公开协议 0BSD;完整 LICENSE 与 3RDPARTY.md 保留于 .tools/limine 并按发行范围随包携带 |
| QEMU | Windows 11.1.0;虚拟硬件、串口/QMP 自动验收与交互窗口 | QEMU 官方 Windows 下载入口、Stefan Weil 分发站,GPL-2.0-or-later 及分发包内组件许可;现有系统发行包不捆绑 QEMU |
| EDK2 | QEMU 11.1.2 中固定的 x86_64 固件与变量模板 | QEMU 11.1.2 pc-bios,多项许可;完整声明见 .tools/firmware/edk2-licenses.txt |
| esbuild | 0.25.11;将官方 Monaco ESM 核心转换为离线 classic IIFE | esbuild,MIT;源归档、编译器、实际输入和输出哈希见 assets/Browser/Monaco/0.52.2/Core/TransformationManifest.json,许可为同目录 EsbuildLicense.txt |
QEMU 安装包按发布站 SHA512 验证后仅解包;Limine/LLVM 和固件下载按锁文件 SHA256 验证。备用下载地址不改变预期哈希。官方 .NET 的 RuntimeStart 初始化流程和 PAL/System.Native 合约按 dotnet/runtime v10.0.12 移植;依照上游签名实现内核服务与保留上游二进制是不同范围。原始 NuGet 缓存不改,私有归档删除的平台成员与派生哈希在独立 PortReceipt.json 明确记录。
托管程序、浏览器与文档
| 组件 | 固定版本与使用范围 | 上游与许可证 |
|---|---|---|
| XFEExtension.NetCore.XFEConsole | 自家独立项目的 NuGet 复用,2.6.0;控制台演示与受限程序集的 Console 绑定;源码 commit 86ee80c169dcba633545d2a35936f5b985c2d22f |
XFEConsole,MIT,版权 XFEstudio;包 SHA256 见 ManagedDependencies.json |
| XFEExtension.NetCore | 自家独立项目的 NuGet 复用,5.2.0;XFEConsole 的传递依赖;源码 commit 621cccbde0337b85e5df6d6703d4e408f4853ef4 |
XFEExtension,MIT,版权 XFEstudio;包 SHA256 见 ManagedDependencies.json |
| Jint / Acornima | 4.11.0 / 1.6.2;有预算的 JavaScript 解释与解析 | Jint,BSD-2-Clause;Acornima,BSD-3-Clause;版本、包哈希和源码 commit 见托管依赖清单 |
| AngleSharp / AngleSharp.Css | 独立应用最终依赖图为 1.7.1 / 1.0.0-beta.216;HTML DOM/解析、CSS 选择器解析与匹配。Documents 单独构建可能解析至 AngleSharp 1.5.2,须按各自锁文件区分 | AngleSharp、AngleSharp.Css,MIT;不能将复用选择器的 CSS 管线称为全部从零实现 |
| Markdig | 0.44.0;网站相同的 Markdown 管线 | Markdig,BSD-2-Clause;NuGet 内容哈希见锁文件 |
| HtmlSanitizer | 9.1.968-beta;网站相同的 HTML 清理策略 | HtmlSanitizer,MIT;NuGet 内容哈希见锁文件 |
| Monaco Editor | 0.52.2;真实编辑器核心,在自研 DOM/CSS/Jint 中运行 | Monaco Editor,MIT;完整版权、ThirdPartyNotices、原分发完整性与逐文件哈希保留于 assets/Browser/Monaco/0.52.2。未嵌入 Chromium,未捆绑完整语言服务 |
| XFEStudioWebSite 文档资源 | 自家独立网站的原样复用/移植,commit 95b43e16776aa648bca19d0060d01d3d2a52196e;文章样式、代码工具与渲染策略快照 |
Apache-2.0,版权 XFEstudio;网站完整许可证随 Documents 资源保留。网站携带的下列第三方库仍归其原作者,导入没有修改网站工作树 |
| Bootstrap CSS / Bootstrap Icons CSS | 原站固定的样式;Icons 1.11.3 | Bootstrap、Bootstrap Icons,MIT;原文件许可证头与对应完整许可保留 |
| Highlight.js / KaTeX / Mermaid | 11.11.1 / 0.16.9 / 11.16.0;原网站离线 HTML 预览资源 | BSD-3-Clause / MIT / MIT 及 Mermaid 捆绑依赖声明;完整文本、来源和哈希见 文档组件声明 与 Assets/Website |
网站文章组件的原字节 CSS/JS、主题、Razor/管线快照及字体 URL 由 Exact/SourceManifest.json 逐项记录;源 SHA256 与快照 SHA256 相等。规范 URL 由本地资源目录映射,没有修改原 CSS/JS。该范围不含网站外围导航、账号或整站应用。补充许可文本与固定官方来源见父目录 *.License.txt 和 LicenseManifest.json。
assets/Browser/WebsiteCode/ 原字节保留网站 highlight.min.js、自定义 csharp.js、code-style.css 和网站许可证。原站使用 highlight.js,并未使用 Monaco。网站 csharp.js 保留原 Highlight.js C# grammar 的作者/贡献者声明,自家符号状态与语法增强属于改编,不能把整份 grammar 说成全新自研。CodePalette.js 是从原 CSS 生成的派生调色板,WebsiteMonaco.js 是 XFESystem 新增的显式适配器;来源提交、原字节、派生输出及许可边界见该目录 Manifest.json 和 Readme.md。发行包同时提供 Highlight.js 完整 BSD-3-Clause 文本;同源语法与颜色不意味着编辑界面或网页逐像素相同。
独立应用的 Jint 输出副本仍按 Tools/JintCleanupPatch/HostJint.targets 应用绑定调用与 OwnedWeakCollections 适配,补丁在项目私有输出内,并未改变全局 NuGet 包。补丁工具使用 Mono.Cecil 0.11.6(MIT);其锁文件/许可证位于 Tools/JintCleanupPatch 与旧收集清单。旧 Cosmos 专用 finally/GC/EH 清理补丁不构成独立 Microsoft 运行时的实现。Monaco、原网站 JS/CSS 仍保留其来源与原字节。
字体与图形资源
| 组件 | 使用范围与版权保留 | 上游与许可证 |
|---|---|---|
| LunarFonts | 官方原始 Font.cs,固定 commit 6501f54cc1a943a1cea304c6a382724cdc7e2146;独立平台 TrueType 解析/栅格 |
LunarFonts 固定源码,MIT,版权 Sérgio Flores;SourceManifest 固定每份原字节 SHA256,LICENSE 与上游 README 完整保留。包装为本项目新写;不取 Cosmos 字体封装 |
| XFE Unicode Console | 保留的中文和 Unicode 点阵字形资产/旧路径;独立 Platform 当前使用下列 TTF 字体。原始版权、源文件及 SHA256 保留于 assets/fonts/unifont-16.0.04/ |
GNU Unifont 16.0.04,本项目选择 OFL-1.1 |
| Cascadia Mono | 默认拉丁等宽字形;原始字体、许可和 SHA256 见 assets/fonts/cascadia-mono-2407.24/,派生点阵位于 assets/branding/console/ |
Microsoft Cascadia Code 2407.24,OFL-1.1 |
| Lato | Web 正文比例字体回退,Regular / Bold 2.015;原字节来自已固定 QEMU Windows 11.1.0 分发包,字体内版权、哈希和许可见 assets/fonts/lato-2.015/ |
Lato,OFL-1.1 |
| XFE Web CJK / Noto Sans SC | Noto Sans SC 2.004-H2 派生静态 TrueType 400/700;派生家族为 XFE Web CJK,仅作 Web 按字形缺失回退。源字体、官方 Git blob、传输核验、FontTools 4.61.1 转换、覆盖范围及哈希见 assets/fonts/noto-sans-sc-2.004/ |
Google Fonts 官方 Noto Sans SC,OFL-1.1 |
| Bootstrap Icons 字体 | 1.11.3;原站代码工具栏完整 Web 字体。原 CDN WOFF/WOFF2、MIT、源/输出哈希和 FontTools 4.61.1 无损 TTF 展开记录见 assets/fonts/bootstrap-icons-1.11.3/;保留全部 2,050 码位和原轮廓 |
Bootstrap Icons v1.11.3,MIT |
不捆绑 Windows Segoe UI、Consolas 或微软雅黑;原 CSS 的请求名称与实际回退字体分别记录,不能宣称字形像素相等。XFE 桌面与文件图标的生成来源、提示词、原图和哈希保留在 assets/DesktopIcons,不替代字体或网站资源的第三方版权。
保留的旧路径与历史源码
Cosmos 3.0.94(上游,BSD-3-Clause)仅属于保留的旧内核/构建/验收路径:Source/XFESystem.Kernel、Tools/CSharpBoot/BuildCosmosKernel.ps1、XFESystem.Legacy.slnx 及 Cosmos 专用 GC、EH、输入、boot patch 工具。旧入口显式使用 BuildKernel.ps1 -LegacyCosmos;默认入口已独立。旧路径复用 Cosmos 的 NativeAOT SDK/IL patcher、托管运行时/GC、初始化、调度、显示、设备与网络框架;完整许可与 Credits 仍保留于 Tools/CSharpBoot/Licenses,旧说明见 LegacyCosmosPreview.md。历史镜像及验收不能为独立路径提供通过结论。
旧 Collected/Manifest.json 中的 Roslyn、CosmosPNG/BigGustave、SharpZipLib、CosmosTTF、Spleen/Cosm3D 等记录,绑定当时的依赖范围。存在许可文件不表示独立新内核引用该代码;也不能在发行旧镜像时删除其应有许可。Roslyn 4.14.0 在旧 Kernel 锁文件中由 Cosmos 构建分析/patcher 传递带入,不是目前 Monaco 的 C# 语言服务器。
旧 Rust 内核是本项目维护的实现,但并非完全没有外部引用。历史 commit 1139821 的 kernel/Cargo.toml / Cargo.lock 记录内核复用 spin 0.9.9、linked_list_allocator 0.10.6、fdt 0.1.5、smoltcp 0.14.0;xtask 锁定 fatfs 0.3.6、sha2 0.10.9,启动还使用 Limine/EDK2/QEMU 等外部工具。这里列的是该历史锁文件解析版本;manifest 中的版本要求可能不同。历史源码已从当前工作树移除,仍可经 Git 与原发行包回查;不能把“自研 Rust 内核”扩写成网络栈、分配器、引导器或全部工具都由本项目从零编写。
发行要求
带第三方二进制、脚本、字体或资源的发行包须同时携带适用的完整许可证、版权与第三方声明,并履行适用的源码提供要求。Tools/CSharpBoot/Licenses/Collected/Manifest.json、字体清单和网站许可清单分别保留其来源与校验值;未标明精确源码 commit 的补充许可文本应明确记录为另行固定的官方来源,不能冒称源码版本完全一致。
独立新路径使用单独的 许可证清单 与 正文目录,对应新 Application/NativeAOT 锁图和实际镜像组件。CollectLicenses.py 离线核对包内容/归档与完整正文 SHA256;其中宿主工具、QEMU 固件与 guest 组件分别记录用途。旧 Collected 保持原样,不能把 Cosmos/Roslyn 等旧依赖的存在误判为新应用引用。
组件存在或可以在宿主运行,不证明在 XFESystem 中完成初始化。真实来宾网络、TLS、存储、GPU/CUDA、独立程序和性能是否通过,以对应镜像的验收记录为准。
NVIDIA 原生命令协议组件参考 open-gpu-kernel-modules 615.78.08 的公开命令头文件及队列发布算法,固定提交为 ca2d03e6fafd4d4b56b383497d931c25b283bfcf。13 个来源文件的 SHA256、Git blob 和官方链接见 NvidiaSources.lock.json,完整 MIT 许可和相关版权见 NvidiaPublicHeaders.txt。本项目没有捆绑 NVIDIA 内核驱动、GSP 固件或 CUDA 运行时;协议组件尚未接入内核,也没有实际 GPU 执行通过记录。