在 bochs 上运行操作系统返回错误

man*_*ang 3 bochs

我正在研究一个名为 pintos 的操作系统编程项目。它按照命令在 bochs 上运行pintos run nameOfProcess

这是我收到的错误消息

Writing command line to /tmp/eKW3NMXoGT.dsk...
squish-pty bochs -q
========================================================================
                     Bochs x86 Emulator 2.5.1.svn
             Built from SVN snapshot, after release 2.5.1
                  Compiled on Apr  6 2012 at 19:37:19
========================================================================
00000000000i[     ] reading configuration from bochsrc.txt
00000000000i[     ] installing x module as the Bochs GUI
00000000000i[     ] using log file bochsout.txt
Next at t=0
Writing command line to /tmp/eKW3NMXoGT.dsk...
squish-pty bochs -q
========================================================================
                     Bochs x86 Emulator 2.5.1.svn
             Built from SVN snapshot, after release 2.5.1
                  Compiled on Apr  6 2012 at 19:37:19
========================================================================
00000000000i[     ] reading configuration from bochsrc.txt
00000000000i[     ] installing x module as the Bochs GUI
00000000000i[     ] using log file bochsout.txt
Next at t=0
(0) [0x00000000fffffff0] f000:fff0 (unk. ctxt): (invalid)                 ; ffff
<bochs:1> fgets() returned ERROR.
debugger interrupt request was 0
(0).[0] [0x00000000fffffff0] f000:fff0 (unk. ctxt): (invalid)                 ; ffff
(0) [0x00000000fffffff0] f000:fff0 (unk. ctxt): (invalid)                 ; ffff
<bochs:1> fgets() returned ERROR.
debugger interrupt request was 0
(0).[0] [0x00000000fffffff0] f000:fff0 (unk. ctxt): (invalid)                 ; ffff
Run Code Online (Sandbox Code Playgroud)

还有我的 bochsrc.txt

romimage: file=$BXSHARE/BIOS-bochs-latest, address=0xe0000  
vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest
boot: disk
cpu: ips=1000000
megs: 4
log: bochsout.txt
panic: action=fatal
clock: sync=none, time0=0
ata0-master: type=disk, path=/tmp/eKW3NMXoGT.dsk, mode=flat, cylinders=1, heads=16, spt=63, translation=none
com1: enabled=1, mode=term, dev=/dev/stdout
Run Code Online (Sandbox Code Playgroud)

Bochs 是从源代码构建的,在我的 Ubuntu 11.04 上有额外的配置

小智 5

我遇到了同样的问题,我在 OSDev 论坛上问了一个问题。我使用 file=$BXSHARE/BIOS-bochs-legacy 因为我需要 64K BIOS。它不适用于:

romimage:文件=$BXSHARE/BIOS-bochs-legacy,地址=0xf0000

在 .bochsrc 文件中。它无需“address=0xf0000”部分即可工作。

尝试在这里删除BIOS的起始地址:

romimage:文件=$BXSHARE/BIOS-bochs-latest,地址=0xe0000

走吧:

romimage: 文件=$BXSHARE/BIOS-bochs-latest

在你的 bochsrc.txt