Bochs running OS returned error
I am working on an OS programming project called pintos. It runs on bochs by following the commandpintos run nameOfProcess
And here is the error message I am getting
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
Also my 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 was built from source with additional configs on my Ubuntu 11.04
source to share
I had the same problem and asked a question on the OSDev forum . I used file = $ BXSHARE / BIOS-bochs-legacy because I need 64K BIOS. It didn't work:
romimage: file = $ BXSHARE / BIOS-bochs-legacy, address = 0xf0000
in the .bochsrc file. And it works without the "address = 0xf0000" part.
Try deleting the BIOS start address here:
romimage: file = $ BXSHARE / BIOS-bochs-latest, address = 0xe0000
Just leave:
romimage: file = $ BXSHARE / BIOS-bochs-latest
in the bochsrc.txt file
source to share
Install qemu instead of bosch:
sudo apt-get install qemu
If qemu version is latest you need to create simbolyc link from "qemu-system-i386" to "qemu"
sudo ln -s /usr/bin/qemu-system-i386 /usr/bin/qemu
If the qemu version is not 1.0, you do not need to do this. Now you can start Pintos with qemu, for example:
pintos --qemu -- run alarm-multiple
source to share