3

我正在开发一个名为 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

还有我的 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

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

4

2 回答 2

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

于 2013-09-29T10:11:44.847 回答
2

安装 qemu 而不是 bosch:

sudo apt-get install qemu

如果 qemu 的版本是最新的,那么您需要创建一个从“qemu-system-i386”到“qemu”的 simbolyc 链接

sudo ln -s /usr/bin/qemu-system-i386 /usr/bin/qemu

如果 qemu 的版本低于 1.0,则不需要这样做。现在您可以使用 qemu 运行 Pintos,例如:

pintos --qemu -- run alarm-multiple
于 2012-09-26T19:01:53.870 回答