环境:VMWare14+Ubuntu16.04

安装Bochs2.6.9

1.去官网下载

下载 bochs-2.6.9.tar.gz

2.安装一系列的包

因为Bochs 需要在 X11 环境下运行,因此你的 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.-dev

sudo apt-get install g++ 

3. 解压下载的源代码:

sudo tar zxvf bochs-2.6..tar.gz
cd bochs-2.6.

4. 运行configure脚本,它会测试你的机器,C/C++编译器以及一些库,用来判断何种配置适合于你的机器。运行:

sudo ./configure --enable-debugger --enable-disasm

(这两个是用来开启调试和反汇编功能)

5. 第3步正确运行后,会产生一个Makefile文件,然后:

make clean
sudo make

6. 安装:

sudo make install 

至此,bochs安装已经结束。

实验过程

  1. 制作引导扇区,把boot.asm编译了,得到boot.bin;
  2. 制作软盘,并将引导扇区写入
  3. 启动bochs,得到结果

1.编译

首先你得先装好NASM编译器,直接用 sudo apt-get install nasm

然后在当前工作目录下打开终端输入下列命令:

nasm -o boot.bin boot.asm

2. 做一个软盘

前面编译以后的 bochs2.6.9 文件夹下会有一个 bximage 可执行文件,在终端运行:

bximage

选择1制作软盘,然后选择,fd,然后剩下的直接回车就好了,就会在bochsrc所在文件夹下,即现在的工作文件夹下生成一个a.img文件,这就是我们的软盘了。

再将引导扇区写入软盘:

dd if=boot.bin of=a.img bs= count= conv=notrunc

3. 启动Bochs

在启动Bochs之前,需要修改配置文件。

在bochs-2.6.9文件夹下通过 ls -a 能看到原始的 .bochsrc 来参考(非必需

要能在 Bochs 中运行一个操作系统,至少需要以下一些资源或信息:

    • Bochs执行文件
    • BIOS映像文件(通常称为BIOS-bochs-latest)
    • VGA BIOS映像文件(例如VGABIOS-lgpl-latest)
    • 至少一个引导启动磁盘映像文件(软盘,硬盘或CDROM的映像文件)

###############################################################
# Configuration file for Bochs
############################################################### # how much memory the emulated machine will have
megs: # filename of ROM images
romimage: file=/usr/local/share/bochs/BIOS-bochs-latest
vgaromimage: file=/usr/local/share/bochs/VGABIOS-lgpl-latest # what disk images will be used
floppya: 1_44=a.img, status=inserted # choose the boot disk.
boot: floppy # where do we send log messages?
# log: bochsout.txt # disable the mouse
mouse: enabled= # enable key mapping, using US layout as default.
keyboard:keymap=/usr/local/share/bochs/keymaps/x11-pc-us.map

(mouse: enabled=1 能打卡Bochs界面的鼠标功能

在终端输入命令:

bochs -f bochsrc

(假设 bochsrc 在当前目录下

只输入 bochs也行,因为,如果你输入一个不带任何参数的bochs并执行,那么 Bochs 将在当前目录下按顺序找以下文件作为配置文件:

  • .bochsrc
  • bochsrc
  • bochsrc.txt
  • bochsrc.bxrc(仅对Windows 有效)

按道理,这时应出现 Hello, OS World!

如果只出现黑框,没有任何文字,

因为此时是Debug模式,你需要在终端输入c,回车,就会出现上述结果。

参考链接:

1. Ubuntu安装bochs

2. CSDN Ubuntu环境下安装Bochs

3. 简书 Ubuntu 14.04LTS安装和配置Bochs

Ubuntu 16.04LTS 安装和配置Bochs的更多相关文章

  1. Ubuntu 16.04LTS 安装 MATLAB 2014B

    环境:Ubuntu 16.04LTS 软件:MATLAB 2014B MATLAB 2014B 下载地址(带Crack): 链接: https://pan.baidu.com/s/1nvGtmEd 密 ...

  2. Ubuntu 16.04 安装和配置 Redis

    因为发现之前手动安装的 redis 与现有的教程不一样,所以总结统一一下安装的标准步骤. 安装依赖项 为了获取最新版本的 Redis,我们将从源代码进行编译和安装.下载源代码之前,需要先安装一些编译所 ...

  3. Ubuntu 16.04LTS安装flashplayer

    转载自http://www.linuxdiyf.com/linux/20084.html 在安装Ubuntu 16.04LTS后,播放有视频的网页时,总提示你要安装缺失的插件,在 ubuntu 系统下 ...

  4. Ubuntu 16.04安装和配置Sublime Text 3

    1.安装Sublime Text 3 首先添加sublime text 3的仓库: sudo add-apt-repository ppa:webupd8team/sublime-text-3 根据提 ...

  5. [Part 1] Ubuntu 16.04安装和配置QT5 | Part-1: Install and Configure Qt5 on Ubuntu 16.04

    本文首发于个人博客https://kezunlin.me/post/91842b71/,欢迎阅读! Part-1: Install and Configure Qt5 on Ubuntu 16.04 ...

  6. Ubuntu 16.04LTS安装Nginx

    Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器. Nginx 是由 Igor Sysoev ...

  7. Ubuntu 16.04LTS 安装 Node.js stable

    更新ubuntu软件源 sudo apt-get update sudo apt-get install -y python-software-properties software-properti ...

  8. ubuntu 16.04 安装和配置vncserver

    https://www.linode.com/docs/applications/remote-desktop/install-vnc-on-ubuntu-16-04/#connect-to-vnc- ...

  9. Ubuntu 14.04 LTS 安装和配置Bochs

    Ubuntu 14.04 LTS 安装和配置Bochs       系统是:Ubuntu 14.04 LTS 64位 安装的是:bochs-2.6.8 Bochs 需要在 X11 环境下运行,因此你的 ...

随机推荐

  1. 高性能Java代码的规范

    代码优化的目标是 减小代码的体积 提高代码运行的效率 代码优化细节 1.尽量指定类.方法的final修饰符 带有final修饰符的类是不可派生的.在Java核心API中,有许多应用final的例子,例 ...

  2. 【面试】C++类中的相关函数【构造,拷贝构造,析构,友元】

    构造函数:值的初始化,可带参数,无返回值,可重载,可存在多个 析构函数:释放对象内存空间,无参数,无返回值,不可重载,只能存在一个 拷贝构造函数:拷贝对象,其形参必须是引用 1.空类会默认添加哪些东西 ...

  3. [IOT] - Raspbian Buster 设置固定 IP

    背景 Raspberry Pi 4 + Raspbian Buster 配置步骤 1. 打开文件 "/etc/dhcpcd.conf" 进行配置. 2. 有线网卡配置固定IP in ...

  4. linux net通信 基于密钥

    配置SSHD服务 SSH(Secure Shell)是一种能够以安全的方式提供远程登录的协议,也是目前远程管理 Linux 系统的首选方式.在此之前,一般使用 FTP 或 Telnet 来进行远程登录 ...

  5. fatal: unable to auto-detect email address (got 'CC@LAPTOP-UPQ1N1VQ.(none)')

    git 提交问题出现小解决: 在输入 git commit -m "输入的是对这个版本的描述信息" 然后报错:fatal: unable to auto-detect email ...

  6. php策略模式实现简单计算器

    html: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...

  7. Xshell连接虚拟机文档教程

    1打开VirtualBox 2 找到导入的虚拟机 3右键虚拟机 启动 4 等待加载 5 加载的时候,打开xshell 6 7 填写框住的内容 名称: 自己取 主机: 127.0.0.1  固定内容 端 ...

  8. 查看线程CPU利用率

    查看线程CPU利用率 方法1:利用ps命令查看对应的线程 1. ps -ef | grep 进程名称 2. ps -mp 进程ID -o THREAD,pid,tid,cmd,time,%cpu,%m ...

  9. WPF 的 Application.Current.Dispatcher 中,Dispatcher 属性一定不会为 null

    原文:WPF 的 Application.Current.Dispatcher 中,Dispatcher 属性一定不会为 null 在 WPF 程序中,可能会存在 Application.Curren ...

  10. 全面学习 Python 包:包的构建与分发

    首发于公众号:Python编程时光 1. 为什么需要对项目分发打包? 平常我们习惯了使用 pip 来安装一些第三方模块,这个安装过程之所以简单,是因为模块开发者为我们默默地为我们做了所有繁杂的工作,而 ...