《操作系统真象还原》bochs安装

  在安装bochs之前,我们先需要安装虚拟机和linux发行版,也可以安装双系统,总之有个linux操作系统就好。

  我是在ubuntu14.04系统下安装bochs的。

安装Bochs

  以下为安装步骤

  1. 下载bochs。官方地址是http://sourceforge.net/projects/bochs/files/bochs/,安装的版本是2.6.2,下载后的文件是bochs-2.6.2.tar.gz。
  2. 解压压缩包 tar zxvf bochs-2.6.2.tar.gz
  3. 编译。先进入到目录 cd bochs-2.6.2,开始configure、 make、 make install三步曲
./configure --prefix=/your_path/bochs --enable-debugger --enable-disasm --enable-iodebug --enable-x86-debugger --with-x --with-x11 LDFLAGS=‘-pthread‘ LIBS=‘-lX11‘

  注意各行结尾‘\‘字符前有个空格,/your_path/要修改为你想要安装的路径,相比与原书的配置,我在上面增加了两行(红色)的配置,这对后面的编译有帮助,会减少一些问题的出现。

  configure之后,会生成Makefile,可以编译了。

make

  make的过程中可能遇到各种问题,我在下面罗列一下我遇到的。

  ① 由于g++没有安装,出现C++ preprocessor "/lib/cpp" fail sanity check。

  解决办法:安装g++

sudo apt-get install g++

  ② fatal error: gtk/gtk.h: No such file or directory

  

  解决办法:输入下面的命令行

sudo apt-get install libgtk2.0-dev

    如果还不行,尝试在bochs/gui下的makefile 第104后面增加`pkg-config --cflags --libs gtk+-2.0`(注意是  `  ),有可能这也解决不了,那么可以尝试根据出错信息定位所在的目录,修改该目录下的makefile,在相应位置加入`pkg-config --cflags --libs gtk+-2.0`。

$(CXX) -c  $(CXXFLAGS) $(LOCAL_CXXFLAGS) $< -o [email protected] `pkg-config --cflags --libs gtk+-2.0`

 ③ undefined reference to symbol ’XSetForeground‘

  解决办法:输入下面命令行

sudo apt-get install xorg-dev

  如果上面configure时,没有设置LIBS=‘lX11‘,也会出现这个问题。

④ undefined reference to ‘pthread_create‘

  解决办法: configure时加入LDFLAGS=‘-pthread‘。

  最后make install

make install

  至此,无错误信息,bochs安装成功。

运行bochs

  安装bochs的工作已经完成了,如果还出现其他问题,尝试一下在bing、google、baidu等等搜索解决问题,想当初在网上做操作系统JOS实验时,我可是花了大量时间在安装bochs上,那时都快崩溃了,总之很多因素都会导致配置过程中失败,请坚持下去,因为很多人像我一样在安装过程中挣扎着,匍匐前行,如果你安装成功了,也祝贺你,这等于成功了一大半!!

  下面开始准备运行bochs:

    我们先试试运行下bochs,先进入我们上面配置时制定的bochs地址,然后输入下面的命令:

bin/bochs

  正常来说会出现以下界面:

  如果不是,尝试根据错误信息解决。

  之后我打算省略书上的一些细节,直接描述应该做些什么。

  首先,我们创建一个虚拟硬盘,输入以下命令:

bin/bximage -hd -mode="flat" -size=60 -q hd60M.img

  然后,我们在当前目录创建一个bochsrc文件了,这是用来配置bochs的,文件名为bochsrc.disk,文件内容为:

#Bochs运行中使用的内存,设置为32Mmegs: 32

#设置真实机器的BIOS和VGA BIOS
#修改成你们对应的地址
romimage: file=/home/thougr/Desktop/mybochs/bochs/share/bochs/BIOS-bochs-latest
vgaromimage: file=/home/thougr/Desktop/mybochs/bochs/share/bochs/VGABIOS-lgpl-latest
#设置Bochs所使用的磁盘#设置启动盘符
boot: disk
#设置日志文件的输出
log: bochs.out
#开启或关闭某些功能,修改成你们对应的地址
mouse: enabled=0
keyboard_mapping: enabled=1, map=/home/thougr/Desktop/mybochs/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的支持,我们在这里不使用,所以注释掉了
#gdbstub: enabled=1, port=1234, text_base=0, data_base=0, bss_base=0

  执行下列命令运行bochs:

bin/bochs -f bochsrc.disk

  结果如图下:

  输入‘c‘继续运行(默默地吐槽一句,这是书上没有提示做的)

  结果如下图:

  显示这个错误时正常的,因为我们还没有设置启动盘,不要桑心,这个问题之后会解决的,做到这里已经很成功了!!!

  

原文地址:https://www.cnblogs.com/thougr/p/9716192.html

时间: 2024-11-08 21:08:47

《操作系统真象还原》bochs安装的相关文章

操作系统真象还原 文件系统的建立

Linux 文件系统借鉴了inode,inode的结构是 也就是说,在一个分区中 有多少个文件 就有多少个inodes,而一个文件最大,不会超过(12 + 256 + 256 × 256 + 256 × 256 × 256)个数据块大小 同时,目录和普通文件一样,都是一个目录对应一个inode 在一个正常的硬盘中 会有MBR + 几个分区 每个子分区的结构为: (操作系统引导块EBR) + (超级块) + (空闲块位图) + (inode位图)  + (inode数组) + (根目录) + (空

操作系统真象还原《二》启动流程

计算机通电启动时,第一件事时需要找到BIOS的入口地址,首先cpu 的 cs:ip 寄存器被强制初始化为 0xF000:0xFFF0,由实模式下寻址可知,BIOS的入口地址即为0xFFFF0,而这个地址并不是BIOS的起始代码而是一个长跳转指令 jmp far  f000:e05b,如下图: 而f000:e05b处才是真正的BIOS起始代码,然后接下来 BIOS 便马不停蹄地检测内存.显卡等外设信息,当检测通过,并初始化好硬件后,开始在内存中 0x000-0x3FF 处建立数据结构,中断向量表

《操作系统真象还原》ELF文件

下面是第五章部分内容的收获. 用C语言编写内核 一直以来我们都是用汇编语言编写程序的,但接下来我们或许很少用汇编语言编写代码了,大多数都是使用C语言.为什么要这样呢?书上的解释我看的不是很懂,只能结合书上谈谈我的见解,个人觉得有两个原因: 汇编语言编写代码较高级语言来说还是麻烦很多的,毕竟大家试试就知道了,一句C语言代码,可能要几句汇编语言代码才能与之对应.那有人说CPU能执行C语言代码吗,当然不,CPU最终执行的是机器指令,也就是由0和1组成的机器指令.所以肯定需要一个东西将C语言转换为机器指

Bochs安装FreeDOS与调试

最经看<80x86汇编语言程序设计>杨季文等著,里面的保护模式的例子无法调试,后来查到bochs可以调试,就折腾了一番,这里写下吧…… >>>>>>>>>>>>>>>>>>>>>>>无耻的分割线>>>>>>>>>>>>>>>>>>>>>

[操作系统][Ubuntu 14.04] 安装Flash 安装QQ2013

[操作系统][Ubuntu 14.04] 安装Flash 安装QQ2013_郑少群个人网 一.安装Flash 打开Firefox浏览器弹出的Flash安装提醒早都烦死了,那么Ubuntu14.04怎么安装Flash呢? 1.32位系统命令行安装: 第一步 更新库: ? sudo apt-get update ? ? 第二步 安装Flash用下面的代码: sudo apt-get install flashplugin-installer ? 这样就将Flash和依赖装好了. 2.32位系统可视化

查看你的Windows 操作系统是什么时候安装的?

CMD查询你的Windows操作系统是什么时候安装的,首先Win+R,输入cmd,调出命令提示符. 英文系统: cmd /k systeminfo | find "Original Install Date" 中文系统: cmd /k systeminfo | find "初始安装日期" PS:请将双引号更换为英文输入状态下的双引号,WP 自动替换成了全角.直接输入"systeminfo"会显示更全的信息! 如图:

一铭桌面操作系统4.0 SP1安装使用初体验

一铭桌面操作系统4.0 SP1安装使用初体验 近日来,基于之前的勒索病毒事件,考虑到个人信息安全以及工作需要,一直想找一款国产桌面操作系统来进行替代.多年来使用Windows操作系统已经成为习惯,所以在选择国产桌面操作系统时,笔者注重于从平日的操作使用习惯以及界面的视觉效果等方面进行考量.看到这款操作系统的描述是基于用户的真实需求进行完善,并在用户使用习惯.安装操作.系统界面.安全防御等多个方面进行了优化和升级而来,于是决定下载来试用一下,看看是否真如介绍所言. 在一铭云社区(http://bb

Linux下的bochs安装

强烈建议使用ubuntu系统,apt-get指令太好用了,安装各种依赖相当简单. 1.首先到bochs网站上下载一个linux版本bochs.在安装之前需要安装一些依赖: sudo apt-get install build-essential sudo apt-get install xorg-dev sudo apt-get install libgtk2.0-dev sudo apt-get install bison 2.解包 tar -jxvf bochs-2.4.6.tar.gz 3

bochs安装一系列问题

操作系统:ubuntu 12.04 apt-get install bochs 错误一: 00000000000p[     ] >>PANIC<< bochsrc:10: vgaromimage directive malformed. vgaromimage: /usr/share/vgabios/vgabios.bin 改成 vgaromimage: file=/usr/share/vgabios/vgabios.bin 错误二: Event type: PANIC Devi