天天看点

unbuntu下 bochs-2.6.11安装的血泪史安装

unbuntu下 bochs-2.6.11安装的血泪史

  • 安装
    • 正文开始
      • 配置过程中可能出现的错误
      • 编译过程中可能出现的错误
      • 运行过程中可能出现的问题。

安装

好,第一步我们下载 bochs-2.6.11

略。

第二步是配置

./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
           

先稳住!别慌,问题不大。

unbuntu下 bochs-2.6.11安装的血泪史安装

简单解释下。首先你要解压第一步下载的文件

tar -vxvf bochs-2.6.11.tar.gz //你可能不是 .tar.gz。问题不大,细微差别。
           

然后进入 bochs-2.6.11

cd bochs-2.6.11
           

这个时候,在将上面那一大长串复制放在命令行,如果不出意外(不出意外就有鬼了)。恭喜你,第二步配置就完成了。别问我为啥这么长,问就不知道。也别问我这有啥用,问也 不知道。

我是跟着《一个64位操作系统的设计与实现》这本书搞的,书原话是这样的。

因为不清楚调试内核使用多少功能,索性就将他们全部添加上去。

加,你说加就加。

部分配置解释,其他的我也不知道。
--enable-debugger 		//开启调试功能
--enable-disasm			//开启反汇编功能
								如果出现了错误,别急,先往下看
           

如果配置成功 bochs-2.6.11目录下就会出现一个makefile

第三步,

make				//编译
           

第四步

make install		//安装
           

第五步

bochs				//运行
           

ok,如果有人如此顺利的走到这一步,请联系我。我沾沾欧气。

正文开始

你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。

unbuntu下 bochs-2.6.11安装的血泪史安装

配置过程中可能出现的错误

问题一(./configure):configure:error:c++preprocessor"/lib/cpp"failssanitycheck
解决方案:sudo apt-get install g++
           
问题二(./configure):error:XWindowsguiwasselected,butXWindowslibrarieswerenotfound.
解决方案:sudo apt-get install xorg-dev
           
问题三(./configure):error:pkg-configwasnotfound,orunabletoaccessthegtk+-2.0package.
解决方案:sudoapt-getinstalllibgtk2.0-dev
           
问题四:make[1]: *** [Makefile:67: dbg_main.o] Error 1
下边链接
//因为我这边该装的都装了 有些问题也没法复现。记录的就只有这些。配置过程中的问题都比较好搜索。
           

问题四

编译过程中可能出现的错误

最常见的就是这个了,(不要问我为什么说最常见的)

unbuntu下 bochs-2.6.11安装的血泪史安装
问题一:make: *** No rule to make target 'misc/bximage.cc', needed by 'misc/bximage.o'.  Stop.
解决方案(书里写的)
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
           

其他的想不太起来了。文末会贴几个链接,别慌

运行过程中可能出现的问题。

运行之前你还需要虚拟软盘或者硬盘啥的。简单,略

软盘或硬盘创建完后输入:bochs -f bochsrc,回车,6,回车,C,回车,运行成功。(不出意外的话就这个样子)
           
unbuntu下 bochs-2.6.11安装的血泪史安装

首先说一下配置文件。

顺便告诉你个窍门,如果你输入一个不带任何参数的Bochs并执行之,那

么 Bochs将在当前目录顺序寻找以下文件作为默认配置文件

.bochsrc

bochsrc

bochsrc. txt

bochs.bxrc(仅对 Windows有效)

来自《Orange’S:一个操作系统的实现》书籍是人类进步的阶梯

意思就是可以直接输入bochs运行,从上往下,为默认配置文件的优先级顺序。

所以,运行过程中的错误,大多数都是因为配置文件。下边我会把我的配置文件放上,运行有错就比对一下。完全莫得问题。

unbuntu下 bochs-2.6.11安装的血泪史安装

(主要是忘了都改哪了)

记得有声音,有找不到设备,有不能启动,都是在配置文件注释,或者改一下,就ok了。

cpu: model=core2_penryn_t9600, count=1, ips=50000000, reset_on_triple_fault=1, ignore_bad_msrs=1, msrs="msrs.def"
cpu: cpuid_limit_winnt=0
memory: guest=512, host=256
romimage: file=$BXSHARE/BIOS-bochs-latest, options=fastboot
vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest
mouse: enabled=0
pci: enabled=1, chipset=i440fx
private_colormap: enabled=0
floppya:type=1_44,1_44="boot.img",status=inserted,write_protected=0
ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14
ata1: enabled=1, ioaddr1=0x170, ioaddr2=0x370, irq=15
ata2: enabled=0, ioaddr1=0x1e8, ioaddr2=0x3e0, irq=11
ata3: enabled=0, ioaddr1=0x168, ioaddr2=0x360, irq=9
boot: floppy
#boot: disk
floppy_bootsig_check: disabled=0
log: bochsout.txt
panic: action=ask
error: action=report
info: action=report
debug: action=ignore, pci=report # report BX_DEBUG from module 'pci'
debugger_log: -
parport1: enabled=1, file="parport.out"
speaker: enabled=1, mode=sound
#usb_ehci: enabled=1
           

运行过程错误的解决,

1.确定配置文件,是不是你一直更改的。

2.确定错误输出信息

3.打开配置文件.bochsrc简单搜索一下,要么注释,要么修改。

完!

如有雷同,纯属你抄我。

拜拜

[^1]: rm -rf 可解决一切烦恼
           

对我有帮助的文章:

https://www.cnblogs.com/lr-ting/p/10585836.html

https://rayanfam.com/topics/bochs-config-and-build-on-windows-and-os-x/

https://www.jianshu.com/p/ef97ba101e7e

继续阅读