编译支持VESA3的bochs
tar zxf bochs-x.x.x.tar.gz cd bochs-x.x.x/ sudo yum install gcc gcc-c++ readline-devel gtk2-devel ./configure --enable-disasm --enable-readline --enable-clgd54xx --enable-debugger --enable-ne2000
make -j4 sudo make install
编译选项解释:
--enable-disasm
启用反汇编支持
--enable-debugger
启用调试支持
---enable-clgd54xxx
启用某个老外写的cirrus VGA库支持,如果不使用这个选项,在boshrc配置文件里面vge: extension=cirrus,bochs会出现段错误,而该选项是VESA3必须启用的选项
--enable-readline
该选项编译的bochs支持方向键,否者那个调试器很难用.
--enable-ne2000
启用ne2000网卡的模拟
另外,bochs默认带的vgabios是不支持VESA3,需要现在vgabois最新源码编译.vgabios编译需要bcc,as86,ld86
sudo yum install dev86 tar zxf vgabios-xxxx cd vgabios-xxx/ vim clext.c gcc biossums.c -o biossums make sudo cp VGABIOS*.bin /usr/local/share/bochs
代码解释:
首先安装dev86,里面是需要的bcc,as86,ld86,解压vgabios代码,修改clext.c代码,将里面21行的前的注释去掉
//#define CIRRUS_VESA3_PMINFO 改为 #define CIRRUS_VESA3_PMINFO
vgabios源码里面有个biossums程序,编译的时候需要,但是这个程序是32位的,如果是64位机器,需要自行编译,代码是biossums.c,直接输入
gcc biossums.c -o biossums
即可.
最后输入make开始编译,编译之后将生成的bin文件都拷贝到bochs安装目录下即可.fedora20上该目录是
/usr/local/share/bochs
最后,需要修改配置文件bochsrc
vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest.cirrus.bin vga: extension=cirrus