Welcome to Yu-Xing-Hai Blog,|

宇星海

园龄:2年5个月粉丝:0关注:6

2024-10-13 19:30阅读: 46评论: 0推荐: 0

《操作系统真相还原》 | 实验记录1.0

记录1.0

一、环境配置:

  1. 平台:Virtualbox
  2. 建立操作系统:Redhat-Linux环境
  3. 光盘映像文件:CentOS-7-x86_64-Everything-2207-02.iso
  4. 安装Linux时的软件选择界面,我选择了“含有 GUI 的服务器”这一选项,即默认搭载 GNOME,同时在用户设定界面我创建了用户并设置其为管理员。
  5. Bochs下载地址:https://sourceforge.net/projects/bochs/files/bochs/2.6/;下载文件bochs-2.6.tar.gz

1.1 Boch安装

1.1.1 文件上传至Linux虚拟机

  1. 宿主机下载压缩文件并上传至虚拟机
    1. 操作环境:宿主系统是windows主系统,Virtualbox-Readhat-linux虚拟机。在windows系统下将bochs2.6压缩包文件下载到U盘,进行虚拟机USB接口设置,我们将利用U盘把bochs2.6压缩包上传到虚拟机中。
  2. 虚拟机USB接口设置
    1. 在虚拟机设置中找到USB设置,勾选启用USB3.0控制器,并在下部添加一个各个域都为空的USB设备筛选器(该筛选器可自动匹配所有USB端口的设备信息)
  3. 启动虚拟机以用户身份登录进入GNOME图形界面,在Virtualbox窗口上部的设备菜单中选择USB选项下的当前插入电脑的U盘设备,等待片刻便会在图形界面出现U盘图标。访问U盘并将boch解压文件复制到虚拟机用户目录下完成bochs2.6文件上传工作。

1.1.2 打开终端

  1. 在主目录中点击鼠标右键,选择打开终端并开始执行指令
  2. 在终端可鼠标右键->配置文件首选项->颜色,选择自己喜欢的终端风格

1.1.3 检查工具是否完备及安装对应工具

  1. 注意!!我们的Linux操作系统为Redhat(64-bit)
  2. 检查gcc编译工具
    1. 运行gcc -v,若提示未找到该命令,则需安装gcc工具,见下条。
    2. 使用yum指令安装,前提需从用户模式转到root模式,利用命令sudo -i完成转换(根据提示输入对应密码)
    3. 利用命令yum install make automake gcc gcc-c++ kernel-devel安装gcc及其依赖文件。(我们用的是Redhat系列,该系列的包管理工具是yum,Debian系列的包管理工具是apt-get)
  3. 安装GTK工具库
    1. 利用 yum install gtk2 gtk2-devel gtk2-devel-docs安装。
  4. 回到用户模式:exit

1.1.4 bochs内部文件配置工作

  1. 解压bochs2.6压缩文件:使用命令tar -xzvf file.tar.gz
  2. 进入bochs2.6解压文件目录, 开始configure 、make install相关操作。

I、configure

  1. bash . /configure \
    1. --prefix=/your_path/bochs \
    2. --enable-debugger \
    3. --enable-disasm \
    4. --enable-iodebug \
    5. --enable-x86-debugger \
    6. --with-x \
    7. --with-xll
  2. 注意每行结尾的‘\’宇符前面有个空格。下面简要说明一下configure的参数:
    1. --prefix=/your_path/bochs :是用来指定 bochs 的安装目录,根据个人实际情况将 your_path 替换为自己待安装的路径。
    2. --enable-debugger :打开 bochs 自己的调试器。
    3. --enable-disasm :使 bochs 支持反汇编。
    4. --enable-iodebug :启用 io 接口调试器。
    5. --enable-x86-debugger :支持 x86 调试器。
    6. --with-x :使用 x windowso
    7. --with-xll :使用 xll 图形用户接口。(注意,是x和数字十一,不是x和英文字母LL
      从root切换回用户模式:exit

II、make install

  1. 用 vim 编辑 makefile,vim Makefile, 回车
    1. 进入vim后,输入:set number,以此显示行号。
    2. 找到 92 行,输入:w后按下s键开始输入(注意,输入s后会删去一个字符,记得加回来),编辑第92 行,将 thread 库加入,将其放在行末尾就行了。
    3. 先按Esc,后输入:wq,保存并退出。
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 
  1. 执行make install完成安装,这时候退回到home目录,便可以看到依据configure新编译创立的bochs文件夹。

1.2 配置Boch

按照书中指示完成配置文件创建即可

  1. 创建文件指令:touch file.disk但是要特别注意下面两条
    1. 注意:将bochsrc.disk配置文件中的keyboard_mapping该行和下一行的map替换为keyboard:keymap=/your_path/bochs/keymaps/x11-pc-us.map即可
      1. 参考网站:Bochs出现'keyboard_mapping' is deprecated - use 'keyboard' option instead.解决方法
    2. 将配置文件中的 gdbstub 一行删除。

1.3 运行Bochs

  1. 键入bin/bochs,回车键运行选项2。
  2. 运行问题及解决:
    1. bochs is not compiled with gdbstub support
      1. 对于该问题解决方案就是直接将配置文件中的 gdbstub 一行删除即可。
    2. Cannot connect to X display
      1. 解决:关闭命令行环境,用linux安装时的图形界面打开bin/bochs文件夹。
  3. linux图形界面下的bochs x86 emulator启动后是黑屏:在终端输入小写字母 c (表示continue)后回车即可继续运行。
  4. 接下来继续跟随书本进行即可,如有疑问欢迎随时留言。

本文作者:宇星海

本文链接:https://www.cnblogs.com/Yu-Xing-Hai/p/18462813/Linux~bochs-operate_system

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   宇星海  阅读(46)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起