公告

FujoOS公布日延期,以仓库发布为准

文档 开始 启动与运行

启动与运行

内核镜像不会自己知道要跑什么——demo 是作为 initrd 传进去的,启动后在 QEMU monitor 里输入名字选择。这一点常让人第一次跑时以为“卡住了”。

方式一:-kernel 直接加载

bash 最短路径
qemu-system-x86_64 -m 256M -kernel kernel/fujo-kernel.bin \
    -initrd sdk/linux/m30_linux.elf \
    -monitor telnet:127.0.0.1:4568,server,nowait -display none -no-reboot

# 另开一个终端,连上 monitor 并输入 demo 名:
#   telnet 127.0.0.1 4568   →  sendkey o s spc r u n spc h e r m e s ret
# 上面这串 sendkey 敲的是 "os run hermes"。

方式二:可引导 ISO

仓库里有现成的 release/fujo-boot.iso(GRUB 链、自动启动 demo、SHA-256 校验),适合不装 monitor 交互直接看结果。

bash ISO 启动
sha256sum -c release/fujo-boot.iso.sha256
qemu-system-x86_64 -m 256M -cdrom release/fujo-boot.iso -boot d \
    -display none -serial stdio -no-reboot

方式三:GRUB multiboot

与真机启动一致的那条路径。真机演示用的就是它,配合 AHCI/SATA 真盘做持久化验证。

起不来时先看哪里

  • 全黑、没有任何输出 —— 先确认压平镜像那一步跑了,而不是直接用了 cargo 的 ELF 产物。
  • 有内核横幅但没动静 —— 这是预期行为:还没选 demo。去 monitor 里敲名字。
  • WHPX 上中断异常 —— 传统 8259 路径需要 kernel-irqchip=off;这条平台差异已记录在案。
下一步: 跑起来之后,用 回归、ISO 与 CI 判断它到底证明了什么。