《操作系统真相还原》 | 实验记录1.0
记录1.0
一、环境配置:
- 平台:Virtualbox
- 建立操作系统:Redhat-Linux环境
- 光盘映像文件:CentOS-7-x86_64-Everything-2207-02.iso
- 安装Linux时的软件选择界面,我选择了“含有 GUI 的服务器”这一选项,即默认搭载 GNOME,同时在用户设定界面我创建了用户并设置其为管理员。
- Bochs下载地址:https://sourceforge.net/projects/bochs/files/bochs/2.6/;下载文件bochs-2.6.tar.gz
1.1 Boch安装
1.1.1 文件上传至Linux虚拟机
- 宿主机下载压缩文件并上传至虚拟机
- 操作环境:宿主系统是windows主系统,Virtualbox-Readhat-linux虚拟机。在windows系统下将bochs2.6压缩包文件下载到U盘,进行虚拟机USB接口设置,我们将利用U盘把bochs2.6压缩包上传到虚拟机中。
- 虚拟机USB接口设置
- 在虚拟机设置中找到USB设置,勾选启用USB3.0控制器,并在下部添加一个各个域都为空的USB设备筛选器(该筛选器可自动匹配所有USB端口的设备信息)
- 启动虚拟机以用户身份登录进入GNOME图形界面,在Virtualbox窗口上部的设备菜单中选择USB选项下的当前插入电脑的U盘设备,等待片刻便会在图形界面出现U盘图标。访问U盘并将boch解压文件复制到虚拟机用户目录下完成bochs2.6文件上传工作。
1.1.2 打开终端
- 在主目录中点击鼠标右键,选择打开终端并开始执行指令
- 在终端可鼠标右键->配置文件首选项->颜色,选择自己喜欢的终端风格
1.1.3 检查工具是否完备及安装对应工具
- 注意!!我们的Linux操作系统为Redhat(64-bit)
- 检查gcc编译工具
- 运行
gcc -v
,若提示未找到该命令,则需安装gcc工具,见下条。 - 使用yum指令安装,前提需从用户模式转到root模式,利用命令
sudo -i
完成转换(根据提示输入对应密码) - 利用命令
yum install make automake gcc gcc-c++ kernel-devel
安装gcc及其依赖文件。(我们用的是Redhat系列,该系列的包管理工具是yum,Debian系列的包管理工具是apt-get)
- 运行
- 安装GTK工具库
- 利用
yum install gtk2 gtk2-devel gtk2-devel-docs
安装。
- 利用
- 回到用户模式:
exit
1.1.4 bochs内部文件配置工作
- 解压bochs2.6压缩文件:使用命令
tar -xzvf file.tar.gz
- 进入bochs2.6解压文件目录, 开始configure 、make install相关操作。
I、configure
- bash . /configure \
- --prefix=/your_path/bochs \
- --enable-debugger \
- --enable-disasm \
- --enable-iodebug \
- --enable-x86-debugger \
- --with-x \
- --with-xll
- 注意每行结尾的‘\’宇符前面有个空格。下面简要说明一下configure的参数:
- --prefix=/your_path/bochs :是用来指定 bochs 的安装目录,根据个人实际情况将 your_path 替换为自己待安装的路径。
- --enable-debugger :打开 bochs 自己的调试器。
- --enable-disasm :使 bochs 支持反汇编。
- --enable-iodebug :启用 io 接口调试器。
- --enable-x86-debugger :支持 x86 调试器。
- --with-x :使用 x windowso
- --with-xll :使用 xll 图形用户接口。(注意,是x和数字十一,不是x和英文字母LL)
从root切换回用户模式:exit
II、make install
- 用 vim 编辑 makefile,
vim Makefile
, 回车- 进入vim后,输入
:set number
,以此显示行号。 - 找到 92 行,输入
:w
后按下s键开始输入(注意,输入s后会删去一个字符,记得加回来),编辑第92 行,将 thread 库加入,将其放在行末尾就行了。 - 先按Esc,后输入
:wq
,保存并退出。
- 进入vim后,输入
IBS =-lm -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 –lpangocairo
-1.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 –lpthread
- 执行
make install
完成安装,这时候退回到home目录,便可以看到依据configure新编译创立的bochs文件夹。
1.2 配置Boch
按照书中指示完成配置文件创建即可
- 创建文件指令:
touch file.disk
,但是要特别注意下面两条:- 注意:将bochsrc.disk配置文件中的keyboard_mapping该行和下一行的map替换为keyboard:keymap=/your_path/bochs/keymaps/x11-pc-us.map即可
- 将配置文件中的 gdbstub 一行删除。
1.3 运行Bochs
- 键入
bin/bochs
,回车键运行选项2。 - 运行问题及解决:
bochs is not compiled with gdbstub support
- 对于该问题解决方案就是直接将配置文件中的 gdbstub 一行删除即可。
Cannot connect to X display
- 解决:关闭命令行环境,用linux安装时的图形界面打开bin/bochs文件夹。
- linux图形界面下的bochs x86 emulator启动后是黑屏:在终端输入小写字母 c (表示continue)后回车即可继续运行。
- 接下来继续跟随书本进行即可,如有疑问欢迎随时留言。
本文作者:宇星海
本文链接:https://www.cnblogs.com/Yu-Xing-Hai/p/18462813/Linux~bochs-operate_system
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步