把 BOS 的开发环境搬到 Linux 上。nasm、gcc、ld、objcopy 都是原生的, QEMU 起得快,GDB 能直接挂在内核上 —— 写操作系统这件事,在 Linux 下顺手得多。
系统内核本身是平台无关的,麻烦的是编译和调试环节。BOS-FOR-LINUX 解决的就是这部分。
i686-elf 交叉编译器、nasm、binutils 在主流发行版里一条包管理命令就能装齐,不必手动拼 MinGW。
QEMU 内置 gdbstub,-s -S 挂起等待,另一端就能单步进内核符号,比反复重启真机快得多。
xorriso / grub-mkrescue / dd 都是标准件,构建脚本写完,任何人都能复现出同一个 ISO。
QEMU 可直接加载 BOS 的 ISO 与软盘镜像,AHCI 虚拟磁盘读写正常。
run-bos.sh 自动挑选可用镜像、挂接虚拟硬盘、按需开启 KVM 加速。
正在固化 Makefile 与链接脚本,目标是 clone 后 make iso 直接产出镜像。
把 Stage1 / Stage2 / 内核分目录整理,配好 addr2line 符号解析。
提供 .gdbinit,自动加载内核符号并设置常用断点。
先用 QEMU 验证,确认能进引导再考虑写真机:
# 装依赖 sudo apt install qemu-system-x86 nasm gcc make # 光盘方式启动(推荐) qemu-system-x86_64 -cdrom bos-v0.9-bios-uefi.iso -m 256 \ -enable-kvm # 软盘镜像方式 qemu-system-x86_64 -fda bos-disk.img -m 256 # 挂 GDB:开一个终端再连 qemu-system-x86_64 -cdrom bos-v0.9-bios-uefi.iso -s -S gdb -ex "target remote localhost:1234"
没有 KVM 就去掉 -enable-kvm,纯软件模拟也能跑,只是慢一些。