2012-04-06 2 views
3

Я работаю над проектом программирования ОС под названием pintos. Он запускается на Bochs после команды pintos run nameOfProcessработает ОС на bochs возвращается ошибка

А вот это сообщение об ошибке я получаю

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

ответ

2

Установка qemu вместо bosch:

sudo apt-get install qemu 

Если версия QEMU является недавнее, то вам нужно создать simbolyc ссылку из «для QEMU системы-i386» до «QEMU»

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

Если версия QEMU незначителен 1.0 вы не нужно сделать это. Теперь вы можете запустить Pintos с помощью QEMU, например:

pintos --qemu -- run alarm-multiple 
+0

да. это то, что я сделал, но проблема не исчезнет, ​​верно? – manuzhang

4

У меня была такая же проблема, и я спросил question on OSDev forum. Я использовал файл = $ BXSHARE/BIOS-bochs-legacy, потому что мне нужен 64K BIOS. Он не работает с:

romimage: файл = $ BXSHARE/BIOS-Bochs-унаследованного, адрес = 0xf0000

в .bochsrc файле. И он работает без части «address = 0xf0000».

Попытка удалить начальный адрес BIOS здесь:

romimage: Файл = $ BXSHARE/BIOS-Bochs-последнее, адрес = 0xE0000

Просто оставить:

romimage: file = $ BXSHARE/BIOS-bochs-последние

в вашем файле bochsrc.txt