ubuntu1804下安装bochs2.6.9运行linux_0.11

学习资源 专栏收录该内容
4 篇文章 0 订阅


谨以此博文纪念我今天的折腾!!

bochs2.6.9的安装过程

重要的话一定要写在前面:想用 .rpm 文件在ubuntu上安装bochs2.6.9的人请绕行,我不会,没试过。请别浪费时间看这个文章了。再次说明安装环境:
ubuntu1804 + bochs2.6.9
如何查看你的操作系统版本信息?

  • uname -m
    显示:x86_64。
    这就说明是64位。
  • sudo lsb_release -a
    显示:
    No LSB modules are available.
    Distributor ID: Ubuntu
    Description: Ubuntu 18.04.2 LTS
    Release: 18.04
    Codename: bionic

所以,我的Ubuntu版本是18.04,64位。也可以用 cat /etc/issue 查看版本号。

安装过程

1. 依赖项的安装

在开始安装之前前线执行如下的命令,安装一些依赖项。放心大胆的执行,如果你之前安装过这些包,再次安装的时候会提示你已经安装过了,不会给你在安装一次的。少任何一个,都会给你报错,一堆错,恶心!!

apt-get install build-essential
apt-get install xorg-dev
apt-get install libgtk2.0-dev
apt-get install bison
apt-get install g++

2. 下载源代码压缩文件

a. 去bochs网站https://sourceforge.net/projects/bochs/files/bochs/2.6.9/ 下载bochs-2.6.9.tar.gz文件,下载后想放到什么位置,就放到什么位置。假如放到了~/Deskop/bochs/ 目录下。
b. 然后,解压文件:sudo tar zxvf bochs-2.6.9.tar.gz

3. 编译并安装

a. 解压后进入 bochs-2.6.9 目录:cd ./bochs-2.6.9
b. 进入后运行 configure 脚本:./configure --enable-debugger --enable-disasm
--enable-debugger--enable-disasm 表示开启调试和反汇编功能)
c. 上一步正确运行后,会产生一个 Makefile 文件,于是可以编译: sudo make

这一步会报错:

无法获取“./bochsdbg”的文件状态(stat):没有那个文件或目录
make;[install_bin] 错误1(忽略)

解决方法:

将 bochs 文件拷贝一份,并命名为 bochsdbg 即可。

d. 安装:sudo make install
至此,bochs安装已经结束。如果很顺利的到达这一步,先自己鼓个掌!
如果中间有别的类型的错误,我就帮不了你了,百度吧。

运行linux-0.11

1. 创建配置文件

如果已经安装成功,那么我们肯定迫不及待地想用起来。先跑一个 Linux-0.11 吧。
a. 下载linux0.11的镜像文件。
下载地址是:
http://www.oldlinux.org/Linux.old/images/bootroot-0.11
下载的镜像文件放在 ***/bochs-2.6.9 目录之下!!!
b. 写一个简单的配置文件:vim bochsrc
配置文件的内容:(参考此文章

 #注意'#'后面为注注释内容

#模拟器的内存 
megs:128

#这个是BIOS-bochs-latest的路径,自己慢慢找,不一定和我的一样
romimage:file=/usr/local/share/bochs/BIOS-bochs-latest

#这个是VGABIOS-lgpl-latest的路径,自己慢慢找
vgaromimage:file=/usr/local/share/bochs/VGABIOS-lgpl-latest 

#这个是启动软盘,就是我们下载的那个,就在当前目录下,如果不在当前目录,需要指明路径 
floppya:1_44=bootroot-0.11,status=inserted

#表示从软盘启动
boot:floppy 

#日志输出文件
log:bochsout.txt 

#选项还有很多,想了解更多可以参照原始的.bochsrc文件(在bochs-2.6.9/目录下)

2. 打开 bochs

用编辑完配置文件后。执行 bochs -f bochsrc (-f 选项表示指定配置文件,后面不就是我们的配置文件名吗)。你会看到:
打开Bochs的画面 然后,输入 6,回车。或者直接回车。
不要慌张看到一片漆黑的时候不要慌张!注意看,ubuntu 的 Terminal 底端显示:

(0) [0xfffffff0] f000:fff0 (unk. ctxt): jmpf f000:e05b

处理器在加电启动时,CS=0xF000;IP=0xFFF0,也就是说地址线的低20位是0xFFFF0,且其他地址线被强制为高电平,所以方括号中的地址就是 0xfffffff0,此处是一条跳转指令 jmpf f000:e05b,这个地址指向了 ROM-BIOS。
此时,Bochs 停了下来,在等我们的调试命令。
我们在 ubuntu 的 Terminal 输入 c (表示continue),回车。
注意看 Bochs 的窗口,可以看到Linux-0.11启动了!最后的画面如下:
![成功了!!!](https://img-blog.csdnimg.cn/20190330222540879.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1RoZV9DaG9zZW5fMQ==,size_16,color_FFFFFF,t_70

感谢

真诚希望这篇文章能帮到大家,哪怕是一个人。如果你觉得此文章有用,欢迎点击收藏。转载什么的,不用注明出处,随便转。如果有错误之处还望诸位海涵斧正!

  • 3
    点赞
  • 1
    评论
  • 8
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值