《操作系统真象还原》阅读笔记——第1章

部署工作环境

操作系统的宿主环境和编译器

  • 物理机:Windows 10
  • 虚拟机:VMware Workstation 15 Pro、bochs-2.6.11
  • 操作系统:Ubuntu 14.04.4 LTS
  • C语言编译器:GCC
  • 汇编语言编译器:NASM

安装bochs

  1. 安装一系列的包。
    首先,Linux 系统需要安装了X Window系统才能使用Bochs。
    因Bochs是由C++写的,需先安装GNU gcc/g++编译器。
    安装命令如下:
sudo apt-get install build-essential 
sudo apt-get install xorg-dev 
sudo apt-get install bison 
sudo apt-get install libgtk2.0-dev  
sudo apt-get install g++ 
  1. 下载bochs
    到官方地址去下载,我安装的版本是 bochs-2.6.9.tar.gz 。
  2. 解压压缩包
    tar zxvf bochs-2.6.9.tar.gz
  3. 编译
    在 bochs-2.6.9 目录下,开始configure、make、make install三部曲。
 ./configure \
 --prefix=/root/bochs \
 --enable-debugger \
 --enable-disasm \
 --enable-iodebug \
 --with-x \
 --with-x11
make

若编译时没有问题,就直接执行:

make install

配置bochs

为了模拟计算机,需要写一个配置文件,bochs启动时会找到此文件,根据文件内容创建自己。
在安装目录下有样本文件:share/doc/bochs/bochsrc-sample.txt。摘取重点内容,关于启动顺序,可参见该文件的以下几行:
《操作系统真象还原》阅读笔记——第1章_第1张图片
配置文件bochsrc.disk放在 bochs 的安装目录下。(bochs配置文件位置不固定,名字也不要求固定),加disk是作者为了表示此配置文件的内容是从硬盘启动。

# Configuration file for Bochs

# 第1步,设置Bochs在运行中能够使用的内存,32MB
megs : 32

# 第2步,设置对应真实机的BIOS和VGA BIOS。
romimage: file=/root/bochs/share/bochs/BIOS-bochs-latest
vgaromimage: file=/root/bochs/share/bochs/VGABIOS-lgpl-latest

# 第3步,设置Bochs所使用的磁盘
# 若只有一个软盘,则使用floppya即可;多个则使用floppya,floppyb...
#floppya: 1_44=a.img, status=inserted

# 第4步, 选择启动盘符
#boot: floppy #默认从软盘启动,将其注释
boot: disk    #改为从硬盘启动。代码写在硬盘上,不会有读写软盘的操作。

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

# 第6步,开启或关闭某些功能
# 关闭鼠标,打开键盘
mouse: enable=0
keyboard: type=mf, keymap=/root/bochs/share/bochs/keymaps/x11-pc-us.map

# 硬件设置
ata0: enable=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14

运行bochs

在安装目录下执行bin/bochs命令:
《操作系统真象还原》阅读笔记——第1章_第2张图片
默认提示符【2】,准备读取选项,也就是配置文件,直接按回车。
《操作系统真象还原》阅读笔记——第1章_第3张图片
加载成功后给出默认选项【6】 Begin simulation,继续回车后,c命令运行。
输出如下提示“no bootable device”,原因是没有创建启动盘。
《操作系统真象还原》阅读笔记——第1章_第4张图片
bochs 提供了创建虚拟硬盘的工具 bin/bximage。
直接输入bin/bximage命令根据提示进行创建。
创建好后,根据下图中提示,把红色框中的配置信息添加更新到我们之前的 bochsrc.disk 中
《操作系统真象还原》阅读笔记——第1章_第5张图片
可以指定配置文件,使用bin/bochs -f bochsrc.disk命令,回车:
《操作系统真象还原》阅读笔记——第1章_第6张图片
还是报错提示“no bootable device”,但与之前原因不同:‘boot failed: not a bootable disk”。具体原因下章再讲。

你可能感兴趣的:(《操作系统真象还原》笔记)