UB18.04 下搭建bochs 环境
安装流程
这是网址
https://sourceforge.net/projects/bochs/files/bochs/2.6.9/
按下图所示下载
解压
tar -zxvf bochs-2.6.9.tar.gz
cd bochs-2.6.9
按照下面的配置进行设置
zj@zj-virtual-machine:~/bochs_prj/bochs-2.6.9$ ./configure --with-x11 --with-wx --enable-debugger --enable-disasm \
--enable-all-optimizations --enable-readline \
--enable-long-phy-address --enable-ltdl-install --enable-idle-hack --enable-plugins \
--enable-a20-pin --enable-x86-64 --enable-smp --enable-cpu-level=6 --enable-large-ramfile \
--enable-repeat-speedups --enable-fast-function-calls --enable-handlers-chaining \
--enable-trace-linking --enable-configurable-msrs --enable-show-ips --enable-cpp --enable-debugger-gui --enable-iodebug \
--enable-logging --enable-assert-checks --enable-fpu --enable-vmx=2 --enable-svm --enable-3dnow --enable-alignment-check \
--enable-monitor-mwait --enable-avx --enable-evex --enable-x86-debugger --enable-pci --enable-usb --enable-voodoo
正常的操作,就是
sudo make
sudo make install
但是多半会报错,因为一些原因,不过解决的话,无非就是装一些库等,下面的解决方面对大部分时候是适用的。
$ sudo apt-get install -y libxrandr-dev
$ cp misc/bximage.cpp misc/bximage.cc | cp iodev/hdimage/hdimage.cpp iodev/hdimage/hdimage.cc | cp iodev/hdimage/vmware3.cpp iodev/hdimage/vmware3.cc| cp iodev/hdimage/vmware4.cpp iodev/hdimage/vmware4.cc| cp iodev/hdimage/vpc-img.cpp iodev/hdimage/vpc-img.cc| cp iodev/hdimage/vbox.cpp iodev/hdimage/vbox.cc
最后
make clean
make
make install
如果足够幸运的话,应该就按照好了,测试一下
$ ./bochs
选择 [6] 进入 模拟状态
可能遇到的问题
下面出现的问题,都没有本质上解决,都只是改了配置,降低要求,使得模拟器能够正常的运行,后面大佬们怎么解决的还请告诉我一下,谢谢
问题1
========================================================================
Bochs is exiting with the following message:
[ ] .bochsrc:907: Bochs is not compiled with lowlevel sound support
========================================================================
00000000000i[SIM ] quit_sim called with exit code 1
问题2
Event type: PANIC
Device: [ ]
Message: dlopen failed for module 'usb_uhci': file not found
A PANIC has occurred. Do you want to:
cont - continue execution
alwayscont - continue execution, and don't ask again.
This affects only PANIC events from device [ ]
die - stop execution now
abort - dump core
debug - continue and return to bochs debugger
Choose one of the actions above: [die]
========================================================================
Bochs is exiting with the following message:
[ ] dlopen failed for module 'usb_uhci': file not found
========================================================================
(0).[0] [0x000000000000] 0000:0000 (unk. ctxt): add byte ptr ds:[bx+si], al ; 0000
折中解决方法
在配置文件中,注释掉2个地方,具体见下面,关于问题2,降低配置,在前面./configure
的时候,不要加 usb
选项了,不要这个配置 --enable-usb
##zj ## sound: driver=default, waveout=/dev/dsp. wavein=, midiout=
...
##zj## ata0-master: type=disk, mode=flat, path="30M.sample"
至少我这里能够运行了,其他问题后续再更新
待定
mount -t vfat /dev/sdc1 /media/flash4gb/
mount: wrong fs type, bad option, bad superblock on /dev/sdc1,
missing codepage or helper program, or other error
sudo mkfs.vfat -F 32 /dev/sdc1