我从一个示例创建了一个软盘启动映像,它应该:
- 禁用所有中断
- 重启
但是,一旦我用 bochs 启动它,它会消耗 100% 的 CPU,直到我杀死它。
这是软盘图像:
$高清软盘.img 00000000 fa f4 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |......| 00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |......| * 000001f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 aa |......................U.| 00000200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |......| * 00168000
拆解图:
$ objdump -b 二进制 -D floppy.img -m i386 floppy.img:文件格式二进制 .data 部分的反汇编: 00000000 : 0:fa cli 1:f4 hlt ... 1fe: 55 推送 %ebp 1ff: aa stos %al,%es:(%edi)
Bochs 输出(pastebin)。
bochsrc.txt:
romimage:文件=/usr/share/bochs/BIOS-bochs-latest,地址=0xe0000 vgaromimage: 文件=/usr/share/bochs/VGABIOS-lgpl-latest 软盘:1_44=软盘.img,状态=插入 引导:一个 日志:OSDev.log 鼠标:启用=0 兆:32 显示库:sdl
我以这种方式运行 bochs:
但是,一旦我用 bochs 启动它,它会消耗 100% 的 CPU,直到我杀死它。
$ bochs -f bochsrc.txt
Bochs 版本:2.4.6-4,在 ubuntu 12.04 i686 上运行。
我究竟做错了什么?