返回

文章详情

展示 HN: Bonebox-01 – 29KB 裸金属 x86 操作系统(80 KiB,旨在击败 Tiny Core)

Hacker News2026年7月16日 20:11

一个启动扇区。一个内核。一个领域。没有隐藏的机器。最终状态 ============ 项目线 B0-B7 完整实现 冻结内核 BONEBOX-01 v1.0.6 外壳 BONE/X86 v0.0.4 文件系统 BFS1 v1 只读可执行 BEX1 v1 叠加命令 0-31 字节 地址类 80 KiB 常驻可变 5 字节 瞬态可变 599 字节 主机测试 99 / 99 通过 QEMU 启动 + 交互式外壳 确认 验证运行时间 df3c456c89c168d3cc0218b55e2ea197a4748d3b 镜像 SHA256 7a33cbbfa602bacf33a40b5586be54eba38f371fd922eeae94cbaf73ebaba4b8 上述运行时提交是 boot.bin、kernel.bin、shell.bin、root.bfs、HELLO.BEX、SELFTEST.BEX 和 ECHO.BEX 的权威来源。文档和主机工具提交可能会变动。而经过验证的运行时字节不会变动。 这是什么 BONEBOX-01 是一个原生 x86 实时模式操作系统,从其自身的启动扇区向上构建。它不是去掉可见部分的 Linux。它不是一个 RAM 磁盘技巧。它不是隐匿在另一操作系统后的 ELF 加载程序。它通过传统 BIOS 启动,安装一个常驻内核,从磁盘加载一个瞬态外壳,读取真实文件系统,执行原生外部程序,并通过替换同一个 4 KiB 领域返回到一个全新的外壳。没有 Linux。没有 POSIX。没有 LIBC。没有 ELF。没有交换。没有 RAMDISK。没有通用堆。没有常驻进程表。没有第二个程序领域。没有没有拥有者的字节。 主机工具 一个 Python CLI。 为什么 BONEBOX 不同 小而真实 交互输入,磁盘 I/O,文件系统访问,外部可执行文件,私有栈,BSS 清零,命令尾,以及外壳重载。 字节核算 物理范围,磁盘窗口,可变跨度,零填充,哈希,以及可执行几何由独立的主机工具检查。 确定性 验证后的原始镜像恰好是 57 个扇区/29,184 字节,并具有已发布的 SHA-256 值。 一个领域 / 一个拥有者 物理 0800:0000-0FFF 属于外壳或一个 BEX1 程序,绝不同时。运行一个程序不会分配一个隐藏的第二个领域。 诚实边界 BFS1 checksum16 检测意外损坏;这不是签名。真实模式不提供过程隔离。BONEBOX 声称有界加载,而不是什么并不存在的保护硬件。要点并不是假装更少的字节自动意味着更好的软件。要点是每个重要字节都有一个命名的拥有者、界限和验证器。 架构流水线 流程图 TD A[开机] --> B[传统 BIOS] B --> C[BOOT.BIN<br/>LBA 0 在 0000:7C00] C --> D[常驻内核 v1.0.6<br/>1000:0000] D --> E[安装 INT 60h BONE API] D --> F[加载 SHELL.BIN<br/>LBA 33-40] F --> G[瞬态领域<br/>0800:0000-0FFF] G --> H{外壳命令} H -->|dir / type| I[BFS1 只读根目录<br/>LBA 41-56] H -->|run NAME.BEX tail| J[验证类型、范围、<br/>长度和校验和] J --> K[复制 0-31 尾字节<br/>到保护堆栈临时区] K --> L[清除同一 4 KiB 领域] L --> M[加载并验证 BEX1<br/>入口, BSS 和栈] M --> N[程序拥有 0800:0000-0FFF] N --> O{原生程序} O --> P[HELLO.BEX<br/>叠加证明] O --> Q[SELFTEST.BEX<br/>段,BSS,栈证明] O --> R[ECHO.BEX<br/>命令尾证明] P --> S[BONE_RELOAD] Q --> S R --> S S --> F T[BXMC 常驻合约] --> X[python bone.py verify] U[BXSH 瞬态合约] --> X V[BFS1 和 BEX1 合约] --> X W[完整镜像账本] --> X 加载 详细的字节所有权和调用路径在 docs/ARCHITECTURE.md 中。 内存映射 物理范围 拥有者 大小 ---------------------- ----------------------------------------- -------- 00007000-000073FF 保护内核堆栈 1024 B 00007C00-00007DFF 启动扇区镜像 512 B 00008000-00008FFF 瞬态外壳 或 一个 BEX1 程序 4096 B 00010000-00013FFF 常驻内核加载窗口 16384 B 地址上限 00014000 专用 地址类 80 KiB root.bfs 保持在磁盘上。BEX1 不会创建另一个物理范围。 磁盘映射 LBA 0 BOOT.BIN LBA 1-32 KERNEL.BIN 窗口 LBA 33-40 SHELL.BIN 窗口 LBA 41-56 ROOT.BFS 原始镜像 57 个扇区 / 29,184 字节 当前 BFS1 根目录: ECHO.BEX 类型 2 / BEX1 HELLO.BEX 类型 2 / BEX1 HELLO.TXT 类型 1 / 文件 LAW.TXT 类型 1 / 文件 SELFTEST.BEX 类型 2 / BEX1 主机 CLI 一个跨平台命令界面: python bone.py doctor python bone.py build python bone.py verify python bone.py run python bone.py run-iso python bone.py kernels python bone.py set-current latest python bone.py clean python bone.py hash FILE python bone.py release 不使用或提供 .ps1 入口点。 需求: PYTHON 3 主机 CLI / 构建编排 NASM 扁平二进制汇编 QEMU-SYSTEM-I386 启动 / 交互测试 GIT + GH 发布 仅 GNU MAKE 可选 POSIX 备选 快速启动在 Windows、Linux 或 macOS 主机上: python bone.py doctor python bone.py verify python bone.py run POSIX 用户也可以使用: make verify make run 完整的设置和故障排除在 docs/USAGE.md 中。 外壳命令 结果 -------------------------- ---------------------------------------------- help 列出命令 ver 打印外壳和内核版本 tick 读取 BIOS 计时器 cou

赞助内容

NordVPN Next-gen Antivirus

本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。

请我喝杯咖啡