一、宿主机系统 Centos 7

二、安装bochs

1、下载: wget http://sourceforge.net/projects/bochs/files/bochs/2.6.2/bochs-2.6.2.tar.gz

2、解压

3、编译安装:./configure  --prefix=/usr/local/bochs --enable-debugger --enable-disasm --enable-iodebug --enable-x86-debugger --with-x --with-x11

make     & make install

可能遇到的问题1:缺少编译环境gcc的支持,请按照gcc、g++等编译环境

可能遇到的问题2:fatal error: gtk/gtk.h: No such file or directory。解决方法安装yum install gtk2-devel,只需要找到系统提供的gtk dev包进行安装即可

可能遇到的问题3: undefined reference to 'pthread_creat' 修改Makefile文件,LIBS=。。。。。。结尾增加 -lpthread

三、配置和运行 bochs

1、拷贝或者创建配置文件bochsrc.disk cp /usr/local/bochs/share/doc/bochs/bochsrc-sample.txt bochsrc.disk. 内容如下:

megs: 32romimage: file=/usr/local/bochs/share/bochs/BIOS-bochs-latest
vgaromimage: file=/usr/local/bochs/share/bochs/VGABIOS-lgpl-latest#floppya: 1_44=a.img, status=inserted   (1.44M 3.5"  media)boot: disklog: bochs.outmouse: enabled=0
keyboard_mapping: enable=1, map=/usr/local/bochs/share/bochs/keymaps/x11-pc-us.mapata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14
ata0-master: type=disk, path="hd60M.img", mode=flat, cylinders=121, heads=16, spt=63#gdbstub: enabled=0, port=1234, text_base=0, data_base=0, bss_base=0

其中ata0-master为后面增加内容

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

可能遇到的错误:因为前面编译的时候使用的--enable-debugger 模式,因此不支持gdbstub模式,需要屏蔽掉

2、运行boch2

在boch2的安装目录下,执行 bin/boch2 指定配置文件为上面创建的bochsrc.disk即可

3、为此虚拟机创建磁盘

bin/bximage 按照提示输入参数 hd、flat、60M,hd60M.img

修改bochsrc.disk 文件,将硬盘参数进行修改

OK了

操作系统真相还原——环境准备相关推荐

  1. [操作系统] 操作系统真相还原读书笔记三:MBR加载loader到内存并跳转到loader执行

    为什么要有loader程序? 通过操作系统真相还原读书笔记二:编写MBR主引导记录我们已经能够正常运行MBR主引导记录(有些书籍也叫做boot)程序了,但该程序什么也没做.我们的MBR 受限于 512 ...

  2. 操作系统真相还原学习笔记

    录像51 操作系统真相还原–学习笔记 这个笔记是把郑钢先生的代码在windows上编译运行了,希望大家在win上也调试地愉快. 链接:https://pan.baidu.com/s/1T7Sj_ZwA ...

  3. 操作系统真相还原-编译遇到“__stack_chk_fail_local”错误

    编写操作系统真相还原 – 中断系统时, 在编译链接时遇到了一个问题 我先按照书上所说(如下方), 进行编译 gcc -m32 -I lib/kernel/ -I lib/ -I kernel/ -c ...

  4. 操作系统真相还原——第6章 完善内核

    函数底层调用约定 cdecl:函数参数由栈进行传递,从右向左顺序入栈,栈空间由调用者清理,函数的返回值存储在EAX 寄存器. syscall:参数从右到左入校.参数列袤的大小被放置在AL 寄存器中 o ...

  5. 无意中又喜获一本好书——《操作系统真相还原》——郑钢 著

    盗版还真是无处不在呀!电子版的PDF封面也都有了.不过为了能够躺着看,我还是买了一本正版的.拿到手上也只是烦了几页,最近其实是在学习C.C++等语言,实在的说,没有时间和经历看这些厚厚的操作系统书的. ...

  6. 读书笔记之计算机操作系统的启动——《操作系统真相还原》

    首先,致敬作者-郑刚!一个偶然机会看到了真本书,然后就学着别人的刻苦,利用了地铁上的时间看了本书的试读版.不得不说,作者的功力很深厚,通俗易懂,讲解的十分详细,纵使之前学习过操作系统,但是看了此书之后 ...

  7. 学习《操作系统真相还原》三

    前言 我们开始实现了loader,从mbr跳转到loader.并执行的loader的代码.在屏幕上打印了"2 LOADER". 1.进入保护模式 保护模式,顾名思义,就是为了让操作 ...

  8. 操作系统真相还原不明白的地方

    线程调度里thread_block方法在执行当前线程状态更新前把中断给关上了,然后调用schedule函数执行切换,schedule函数会将当前线程换下,从就绪队列里再pop队首线程上处理器执行,现在 ...

  9. 操作系统真相还原_第5章第4节:特权级

    文章目录 特权级 TSS简介 CPL和DPL入门 处理器提供的从低特权级到高特权级的方法 门.调用门和RPL序 特权级 保护模式下特权级按照权力大小分为0.1.2.3级 0特权级是操作系统内核所在的的 ...

最新文章

  1. python与办公自动化-用 Python 自动化办公,我与大神之间的差距一下就拉小了
  2. python对笔记本电脑的要求-笔记本电脑中多版本python的配置
  3. svn服务器基本知识及搭建
  4. [tensorflow] - csv文件读取
  5. 第七十九期:阿里程序员感慨:码农们过去暴富有多轻松,现在赚钱就有多辛苦
  6. linux内核ttyusb实现,[zhuan]Linux的USB-Serial驱动(从系统初始化到生成tty设备的全过程)...
  7. Google Analytics是什么
  8. python multiprocessing遇到Can’t pickle instancemethod问题
  9. 计算机wind10切换桌面wind7系统,win10多桌面切换的方法以及开启步骤是怎样的
  10. 关于Backup Exec的Agent启动失败的解决办法
  11. pdffactory字体打印不对_【原创】pdfFactory Pro有关转换PDG图像质量下降解决途径
  12. R语言——查看内置数据集
  13. win10删除输入法后输入法找不到的解决方法
  14. starday跨境电商平台发展迅猛,主打高性价比的产品优势来了!
  15. golang开发的准备 - gvm(go版本管理软件)的安装
  16. linux中的find查找文件或者目录、locate快速定位文件路径
  17. 2018年HBase生态社群画像
  18. 黑马头条移动项目(一):项目介绍、项目技术点介绍、项目包介绍
  19. linux驱动由浅入深系列:tinyalsa(tinymix/tinycap/tinyplay/tinypcminfo)音频子系统之一【转】
  20. nc java 5.7,用友ERP NC v5.7 ——安装详解篇

热门文章

  1. 知乎,你还不赶紧谢谢今日头条
  2. flex布局实现div内容垂直居中
  3. 23 种设计模式详解 代码实现全解析
  4. php小程序卡密系统源码,可赚钱微信小程序发卡系统带后台管理,带收益多种卡密领取模式,赚钱带流量主功能
  5. 使用Swiper4插件问题
  6. openwrt修改默认WIFI名,配置启动参数
  7. zabbix elasticsearch 安装
  8. 恢复笔记本电脑电池容量的技巧
  9. 使用arcMap发布要素服务到使用的全流程记录
  10. 如何使用Python实现21点小游戏?