bochs安装linux系统,Ubuntu 10.10下Bochs的安装及问题解决

本文详细记录了在Ubuntu10.10上搭建操作系统开发环境的过程,包括安装nasm汇编编译器、Bochs虚拟机,以及解决配置过程中遇到的各种依赖问题。在安装Bochs时,由于缺少c++编译器、Xwindows库和pkg-config等包,作者逐步解决并最终成功安装。此外,作者还分享了一个关于boot.bin文件的误解,提醒读者注意遵循步骤,避免不必要的困扰。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

要在Linux(Ubuntu 10.10)搭建环境来进行简单操作系统编写基本会用到以下几个东西:

nasm汇编代码编译器,

虚拟机Bochs,

编辑器(系统已自带vim),

检查依赖关系、编译生成结果代码的Make(系统自带有),

C代码编译器gcc(系统自带有)。

所以这个环境的搭建主要就差安装nasm和虚拟机了。

nasm可以用sudo apt-get install nasm很方便地安装,至于虚拟机Bochs,当然也可通过apt-get安装,只是这样的话会按默认的配置安装,《一个操作系统的实现》一书说的可能没有调试功能,所以还是决定去www.linuxidc.com官网下源码来编译安装。

如果顺利的话,所有过程如下:

1、下载bochs源码,下的是2.4.5版本

2、解压源码压缩包:tar vxzf bochs-2.4.5.tar.gz

3、进入bochs的解压目录bochs-2.4.5:cd bochs-2.3.5

4、配置,使能调试和反汇编功能:./configure --enable-debugger --enable-disasm

5、编译:make

6、安装:sudo make install

我说“如果顺利的话”,说明我不顺利,原因可能是不同版本的Linux程序包有所缺少,以下是问题及解决:

问题1:./configure后出现Error: C++ preprocessor “/lib/cpp” fails sanity 。

问题在于c++编译器的相关的包没有安装,试了N多命令下载包都不行,都找不到这些package。最后装g++ gdb这个包才貌似解决了,

sudo apt-get install g++ gdb,然而。。。

问题2:执行./configure后又出现ERROR: X windows gui was selected, but X windows libraries were not found.

又是缺包,网上搜得这个包xorg-dev,于是sudo apt-get install xorg-dev(网上有说必须用sudo aptitude install xorg-dev才行,我刚好相反,用这个命令不行,先不管了,赶紧把环境搭建起来才正事,过后再研究。)。还没完呢。。。

问题3:再次执行./configure后又出现新的

ERROR: pkg-config was not found, or unable to access the gtk+-2.0 package.Install pkg-config and the gtk+ development package,or disable the gui debugger, or the wxWidgets display library (whichever is being used).

不管是缺配置还缺包,直接下包,sudo apt-get install libgtk2.0-dev。

之后再编译安装一次./configure>make>sudo make install,就一路顺风了,这样七七八八、效率低下的基本上算装好了。

PS:接下来碰到了一个非常愚蠢的问题:

执行dd if=boot.bin of=a.img bs=512 count=1 conv=notrunc,老是提示boot.bin文件不存在,心想既然缺了,不管里面需要什么内容,先创建个空白的文件来保证虚拟光盘制作的顺利进行,但又不清楚能否像创建其他普通二进制文件那样,用例如touch之类命令来创建,对boot.bin文件不了解,于是先查了boot.bin文件的相关资料,无果,又拼命检查bochs安装时是否所哪个配置歌者依赖的包,一无所获,加上这几天有事,搁置了。

。。。。。。

等到今天,翻书翻到前面,原来boot.bin文件需要先写个asm文件再汇编出来的,哇了个去!挡住去路的,往往不是参天大树,而是小藤,还有盲目!探索阶段,尽量按步就班来,少跳着走,当然这个过程还会发现自己很多Linux环境例如Vim这编辑器还远远没熟练掌握,在写boot.asm(或者说是Copy源码到asm文件中)都还是出现问题无法汇编。。。0b1331709591d260c1c78e86d0c51c18.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值