《操作系统真象还原》第一章——ubuntu下安装并配置Bochs

news/2024/5/13 17:30:37

下载Bochs

Download bochs-2.6.8.tar.gz (Bochs x86 PC emulator) (sourceforge.net)

解压

tar -zxvf bochs-2.6.8.tar.gz

编译安装

配置

进入bochs-2.6.2文件夹,执行以下语句,其中我把bochs安装在了我的/home/minios/bochs目录下,读者可自行修改

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

配置过程中如有报错,可自行网上查阅修改

本人遇到的错误:

ERROR: pkg-config was not found, or unable to access the gtk+-2.0 package. Install pkg-config and the gtk+ development p

解决方案:

sudo apt-get install libgtk2.0-dev

配置成功界面:

编译

执行make命令进行编译

make

注意,刚开始我使用bochs2.6.2版本编译的时候会报错,但是我换成bochs2.6.8版本后就直接编译成功了

编译成功界面

安装

make install

安装成功的标志:
在安装路径(/home/minios/bochs)下生成了bin文件夹

 配置Bochs

进入bochs目录(安装目录),新建boot.disk文件,写入以下配置,注意将相应目录修改为自己设置的目录

vim boot.disk
# 设置 Bochs 在运行过程中能够使用的内存,本例为 32MB
megs: 32# 设置对应真实机器的 BIOS 和 VGA BIOS
romimage: file=/home/minios/bochs/share/bochs/BIOS-bochs-latest
vgaromimage: file=/home/minios/bochs/share/bochs/VGABIOS-lgpl-latest# 设置 Bochs 使用的磁盘
# floppya: 1_44=a.img, status=inserted# 选择启动盘符
# boot: flopy # 默认从软盘启动
boot: disk # 从硬盘启动,我们的任何代码都将直接写在硬盘上,所以不会再有读写软盘的操作。# 设置日志文件输出
log: bochs.out# 关闭鼠标,打开键盘,按照书上写会报错
mouse: enabled=0
#keyboard: enabled=1,
keyboard: keymap=/home/minios/bochs/share/bochs/keymaps/x11-pc-us.map# 硬盘设置
ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14# 增加 Bochs 对 GDB 的支持,GDB 远程连接到此机器的 1234 端口便可调试
# gdbstub: enabled=1, port=1234, test_base=0, data_base=0, bss_base=0

保存退出

启动bochs

./bin/bochs -f boot.disk

如下图所示, 看到数字[6]就直接按下回车,之后再按键盘c,否则报错就检查错误,如配置文件中的路径是否写对等

安装成功!

创建启动盘

仔细观察上述运行成功的bochs,可以看到bochs会报错显示

Boot failed:could not read the boot disk

那是因为此时系统中还没有启动盘,接下来我们需要创建启动盘

bochs给我们提供了创建虚拟硬盘的工具,使用如下命令可以查看相关指令

./bin/bximage --help

接下来我们来根据帮助创建虚拟硬盘,在终端输入

./bin/bximage

其余具体步骤如下所示

接下来,我们需要将创建的虚拟硬盘的信息写入到配置文件中,注意柱面、磁道和扇区信息(上图红框中的CHS信息)也要写进去

打开配置文件

vim boot.disk

 加入以下代码

ata0-master: type=disk, path="hd60M.img", mode=flat,cylinders=121,heads=16,spt=63

完整文件内容

# 设置 Bochs 在运行过程中能够使用的内存,本例为 32MB
megs: 32# 设置对应真实机器的 BIOS 和 VGA BIOS
romimage: file=/home/minios/bochs/share/bochs/BIOS-bochs-latest
vgaromimage: file=/home/minios/bochs/share/bochs/VGABIOS-lgpl-latest# 设置 Bochs 使用的磁盘
# floppya: 1_44=a.img, status=inserted# 选择启动盘符
# boot: flopy # 默认从软盘启动
boot: disk # 从硬盘启动,我们的任何代码都将直接写在硬盘上,所以不会再有读写软盘的操作。# 设置日志文件输出
log: bochs.out# 关闭鼠标,打开键盘,按照书上写会报错
mouse: enabled=0
#keyboard: enabled=1,
keyboard: keymap=/home/minios/bochs/share/bochs/keymaps/x11-pc-us.map# 硬盘设置
ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14#新加入的代码,虚拟硬盘配置
ata0-master: type=disk, path="hd60M.img", mode=flat,cylinders=121,heads=16,spt=63# 增加 Bochs 对 GDB 的支持,GDB 远程连接到此机器的 1234 端口便可调试
#gdbstub: enabled=1, port=1234, test_base=0, data_base=0, bss_base=0

保存退出,再次运行bochs

./bin/bochs -f boot.disk

 可以看到,虽然仍旧报错,但是报错信息不再是不能读取启动盘,说明启动盘已经创建好了

Boot failed:not a bootable disk

参考:

《操作系统真象还原》第一章 ---- 安装Vmware Station 安装Ubuntu 装载配置Bochs 安装Vmware tools 开始乘帆历险!_学习操作系统真相还原安装虚拟机-CSDN博客

操作系统真象还原环境搭建-详细实践版 - 知乎 (zhihu.com)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.cpky.cn/p/10413.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

基于H5的旅游攻略平台设计与实现

目 录 摘 要 I Abstract II 引 言 1 1 系统开发相关技术 3 1.1框架技术 3 1.1.1 SSM框架 3 1.1.2 SpringBoot框架 3 1.1.3 Spring框架 3 1.2开发语言 3 1.2.1 HTML 3 1.2.2 JAVA 4 1.2.3 JavaScript 4 1.3数据库 4 1.4本章小结 4 2 系统分析 5 2.1 可行性分析 5 2.2 功能需求分…

一站式数据采集物联网平台:智能化解决方案,让数据管理更高效、更安全

JVS物联网平台的定位 JVS是企业信息化的“一站式解决方案”,其中包括了基础的数字化底座、各种企业级能力、企业内常见的应用,如下图所示: 整体平台能力层有三大基础能力: 低代码用于业务的定义;数据分析套件用于数据的自助式分…

HTML静态网页成品作业(HTML+CSS)——家乡漳州介绍设计制作(1个页面)

🎉不定期分享源码,关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 🏷️本套采用HTMLCSS,未使用Javacsript代码,共有1个页面。 二、作品演示 三、代…

IPSec NAT穿越原理

一、IPSec VPN在NAT场景中存在的问题 当某些组网中,有的分支连动态的公网IP地址也没有,只能由网络中的NAT设备进行地址转换,才能访问互联网,然而IPsec是用来保护报文不被修改的,而NAT需要修改报文的IP地址&#xff0c…

和鲸科技受邀参与湖南省气象信息中心开展人工智能研究型业务支撑平台学术交流

为推进湖南省机器学习统一平台建设,2 月 29 日,湖南省气象信息中心开展学术讲座活动,活动由中心副主任冯冼主持,中心业务骨干、湖南省气象台、湖南分院等技术人员参加。 本次讲座邀请上海和今信息科技有限公司(简称“…

Windows下Golang开发环境的安装

以下是在Windows操作系统下安装Go语言环境(Golang)的步骤。 请注意,安装步骤可能因Go的版本更新而有所变化,以下教程适用于撰写本文时的最新稳定版。 1、下载Go语言安装包 打开Go语言的官方下载页面:https://golang.go…