Ubuntu 16.04LTS 安装和配置Bochs
环境:VMWare14+Ubuntu16.04
安装Bochs2.6.9
1.去官网下载
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安装已经结束。
实验过程
- 制作引导扇区,把boot.asm编译了,得到boot.bin;
- 制作软盘,并将引导扇区写入
- 启动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,回车,就会出现上述结果。
参考链接:
3. 简书 Ubuntu 14.04LTS安装和配置Bochs
Ubuntu 16.04LTS 安装和配置Bochs的更多相关文章
- Ubuntu 16.04LTS 安装 MATLAB 2014B
环境:Ubuntu 16.04LTS 软件:MATLAB 2014B MATLAB 2014B 下载地址(带Crack): 链接: https://pan.baidu.com/s/1nvGtmEd 密 ...
- Ubuntu 16.04 安装和配置 Redis
因为发现之前手动安装的 redis 与现有的教程不一样,所以总结统一一下安装的标准步骤. 安装依赖项 为了获取最新版本的 Redis,我们将从源代码进行编译和安装.下载源代码之前,需要先安装一些编译所 ...
- Ubuntu 16.04LTS安装flashplayer
转载自http://www.linuxdiyf.com/linux/20084.html 在安装Ubuntu 16.04LTS后,播放有视频的网页时,总提示你要安装缺失的插件,在 ubuntu 系统下 ...
- Ubuntu 16.04安装和配置Sublime Text 3
1.安装Sublime Text 3 首先添加sublime text 3的仓库: sudo add-apt-repository ppa:webupd8team/sublime-text-3 根据提 ...
- [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 ...
- Ubuntu 16.04LTS安装Nginx
Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器. Nginx 是由 Igor Sysoev ...
- Ubuntu 16.04LTS 安装 Node.js stable
更新ubuntu软件源 sudo apt-get update sudo apt-get install -y python-software-properties software-properti ...
- ubuntu 16.04 安装和配置vncserver
https://www.linode.com/docs/applications/remote-desktop/install-vnc-on-ubuntu-16-04/#connect-to-vnc- ...
- Ubuntu 14.04 LTS 安装和配置Bochs
Ubuntu 14.04 LTS 安装和配置Bochs 系统是:Ubuntu 14.04 LTS 64位 安装的是:bochs-2.6.8 Bochs 需要在 X11 环境下运行,因此你的 ...
随机推荐
- [转帖]首颗国产DRAM芯片的技术与专利,合肥长鑫存储的全面深度剖析
首颗国产DRAM芯片的技术与专利,合肥长鑫存储的全面深度剖析 https://mp.weixin.qq.com/s/g_gnr804q8ix4b9d81CZ1Q 2019.11 存储芯片已经成为全球珍 ...
- 宁夏网络赛-F-Moving On
https://www.cnblogs.com/31415926535x/p/11440395.html 一道简单的Floyd题,,但是是动态加点求多次有限制的最短路,,感觉这个思想很好,,当然可以直 ...
- django下创建多个app,如何设置每个app的urls
1.创建第二个app 假设我们项目P下面已经有了一个默认的app,名字是app1.现在我想创建第二个app,名字时app2. 进入pychram下的Terminal中,运行命令: python man ...
- 18.Python略有小成(collections模块,re模块)
Python(collections模块,re模块) 一.collections模块 在内置数据类型(dict.list.set.tuple)的基础上,collections模块还提供了几个额外的数据 ...
- 高仿linux下的ls -l命令——C语言实现
主要用到的函数可以参考头文件,仅仅支持ls -l这功能,扩展就交给大家了0.0 相关测试图片: 话不多说,直接上码 #include <stdio.h> #include < ...
- Sql日期查询-SQL查询今天、昨天、7天内、30天
今天的所有数据:select * from 表名 where DateDiff(dd,datetime类型字段,getdate())=0 昨天的所有数据:select * from 表名 where ...
- gorm 批量插入数据
使用gorm 插入数据的时候,根据官方文档可以使用Create或者FirstOrCreate(). 但是官方没有提供批量插入数据的方法. 根据github的 issue得知,我们可以通过自己拼接sql ...
- Ubuntu遇到apt-get update报错:"E: Could not get lock /var/lib/apt/lists/lock"
sudo apt-get update报错:"E: Could not get lock /var/lib/apt/lists/lock" 出现此问题的原因可能是有另外一个程序在运 ...
- lmir 随笔
近期需要研究一些特征工程的工作,就打算把微软之前公布出来的特征都复现一遍,今天遇到的特征是 LMIR, 其实也就是language model for information retrieval的简写 ...
- bat批处理删除多少天前的文件
@echo off ::演示:删除指定路径下指定天数之前(以文件的最后修改日期为准)的文件. ::如果演示结果无误,把del前面的echo去掉,即可实现真正删除. ::本例需要Win2003/Vist ...