在学完了计算机组成原理和汇编语言后,虽然操作系统的理论知识能看懂了,但做起操作系统xv6或ucore实验还是有一定难度,所以还是得补一补x86汇编的知识。
需要的软件:
1.系统环境
CentOS7 Linux release 7.9.2009 (Core)
2.安装依赖库
正式安装之前,需要先安装依赖库:为了省事,就都安装了,省得后边麻烦
yum install gtk2 gtk2-devel libXt libXt-devel libXpm libXpm-devel SDL SDL-devel libXrandr-devel.x86_64 xorg-x11-server-devel glibc-headers gcc-c++ SDL SDL-devel
3.bochs官 地址:
https://sourceforge.net/projects/bochs
我用的2.7版本,所以下载命令和解压命令如下:
tar xvfz bochs-2.7.tar.gz
4. 进行配置
进入bochs目录
./configure –enable-ne2000
–enable-all-optimizations
–enable-cpu-level=6
–enable-x86-64
–enable-vmx=2
–enable-pci
–enable-usb
–enable-usb-ohci
–enable-e1000
–enable-debugger
–enable-debugger-gui
–enable-disasm
–with-sdl
–with-x11
编译的时候总是提示有一个地方找不到,可以试试下面的
./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
5.安装bochs
make
make install
6. 需要添加环境变量
export BXSHARE=/usr/local/share/bochs
7. 运行bochs
进入bochs的主目录bochs2.7 执行bochs,出现如下图所示,说明安装成功
A. 可能的错误
1.如果出现错误:
>>PANIC<< .bochsrc:955: Bochs is not compiled with lowlevel sound support
# vim后的参数有点 .
vim .bochsrc
注意: .bochsrc文件是点开头的隐藏文件,需要执行ls -a 命令才可以查看到
可以复制一份bochsrc文件成为非隐藏的: cp .bochsrc bochsrc
执行时指到bochsrc: bochs -f bochsrc
bochs启动菜单选择,默认选择6 回车
出现提示:
Device: [HD]
Message: ata0-0: could not open hard drive image file ’30M.sample’ couldn’t open hard
是正常的,本机没有30M.sample的硬盘引导文件。
说明已经安装成功了,后面需要编写主引导程序。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!