第1章 部署工作环境

实验环境:VMware + Ubuntu22.04

bochs-2.6.8配置参考

安装bochs

创建bochs文件夹用于存放bochs

进入到创建的bochs文件夹,使用pwd命令可用于查看文件路径,以下是我存放bochs的路径

将下载的bochs-2.6.8进行解压,并进入到目录

configure

(prefix后填的是bochs安装目录,即为以上用pwd命令查出来的路径,应注意修改为自己的路径)

./configure --prefix=/home/cqh/bochs --enable-debugger --enable-disasm --enable-iodebug --enable-x86-debugger --with-x --with-x11

报错1: 

这个错误信息表明在运行 ./configure 脚本时,C++ 预处理器 (/lib/cpp) 没有通过合理性检查。通常,这是因为缺少必要的编译工具或开发库。

此时需要安装必需的软件包

sudo apt-get update
sudo apt-get install build-essential
sudo apt-get install g++
sudo apt-get install libncurses5-dev
sudo apt-get install libx11-dev

成功configure之后,会生成Makefile

执行命令

make

报错2:

make编译过程中报错,改错误表名生成的 Makefile可能缺少了-lX11库的链接选项

此时需要更改Makefile文件

添加

LDFLAGS = -pthread -lX11
LIBS = -lX11

make编译没有问题之后

make install

完成安装

配置bochs

在安装目录下有样本文件:/home/cqh/bochs/share/doc/bochs/bochsrc-sample.txt

我们将自己编写的配置文件放到/home/cqh/bochs/bin目录下

vim bochsrc.disk

使用vim编辑文件,若没有该文件会自动新建,因此我们直接执行以上命令即可

写入以下内容(注意修改路径)

###############################
#Configuration file for Bochs
###############################

#第一步,首先设置 Bochs 在运行过程中能够使用的内存,本例为32MB。
#关键字为megs
megs : 32

#第二步,设置对应真实机器的 BIOS 和VGA BIOS。
#对应两个关键字为:romimage和vgaromimage
romimage: file=/home/cqh/bochs/share/bochs/BIOS-bochs-latest
vgaromimage: file=/home/cqh/bochs/share/bochs/VGABIOS-lgpl-latest

#第三步,设置 Bochs 所使用的磁盘,软盘的关键字为floppy。
#若只有一个软盘,则使用floppya即可,若有多个,则为floppya,floppyb…
#floppya:1_44=a.img,status=inserted

#第四步,选择启动盘符。
#boot:floppy	#默认从软盘启动,将其注释
boot: disk	#改为从硬盘启动。我们的任何代码都将直接写在硬盘上,所以不会再有读写软盘的操作。

#第五步,设置日志文件的输出。
log: bochs.out

#第六步,开启或关闭某些功能。
#下面是关闭鼠标,并打开键盘。
mouse:enabled=0
keyboard:keymap=/home/cqh/bochs/share/bochs/keymaps/x11-pc-us.map

#硬盘设置
ata0:enabled=1,ioaddr1=0x1f0,ioaddr2=0x3f0,irq=14
ata0-master: type=disk, path="/home/cqh/bochs/hd60M.img", mode=flat,cylinders=121,heads=16,spt=63

#增加bochs对gdb的支持,gdb可以远程连接到次机器的1234端口调试
#gdbstub:enabled=1,port=1234,text_base=0,data_base=0,bss_base=0

#################配置文件结束#######################

创建磁盘

回到安装目录下(/home/cqh/bochs)

bin/bximage

依次键入

1

hd

flat

60

hd60M.img

接着就会看到名为hd60M.img的虚拟硬盘创建成功

启动bochs

./bin/bochs -f ./bin/bochsrc.disk

接着回车,键入c,可以看到

No bootable device,这不是启动盘,这还未正式启动bochs,下一章继续解决该问题

  • 21
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值