ubuntu下安装bochs

安装gcc编译环境

sudo apt-get install build-essential

sudo apt-get install xorg-dev

sudo apt-get install libgtk2.0-dev

下载bochs最新版本
http://bochs.sourceforge.net/

安装命令
$tar vxzf bochs-2.4.5.tar.gz
$cd bochs-2.4.5
$./configure --enable-debugger --enable-disasm
$make
$sudo make install

安装nasm
sudo apt-get install nasm

编译boot.asm
nasm boot.asm -o boot.bin

此处的boot.asm是一段汇编代码,在屏幕上打印出hello, OS world!

代码如下:
org 07c00h ; 告诉编译器程序加载到7c00处
mov ax, cs
mov ds, ax
mov es, ax
call DispStr ; 调用显示字符串例程
jmp $ ; 无限循环
DispStr:
mov ax, BootMessage
mov bp, ax ; ES:BP = 串地址
mov cx, 16 ; CX = 串长度
mov ax, 01301h ; AH = 13,  AL = 01h
mov bx, 000ch ; 页号为0(BH = 0) 黑底红字(BL = 0Ch,高亮)
mov dl, 0
int 10h ; 10h 号中断
ret
BootMessage: db "Hello, OS world!"
times 510-($-$$) db 0 ; 填充剩下的空间,使生成的二进制代码恰好为512字节
dw 0xaa55 ; 结束标志
 
用bximage命令来创建img文件

使用dd命令将它写进刚刚创建的软盘映像a.img的第一个扇区
dd if=boot.bin of=a.img bs=512 count=1 conv=notrunc

此时还需要配置bochs的配置文件bochsrc,标准的配置文件格式为

###############################################################
# Configuration file for Bochs
###############################################################

# how much memory the emulated machine will have
megs: 32

# 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=0

# enable key mapping, using US layout as default.
keyboard_mapping: enabled=1, map=/usr/local/share/bochs/keymaps/x11-pc-us.map

接着便可以执行
bochs -f bochsrc
来运行bochsrc虚拟机。

ubuntu下安装bochs相关推荐

  1. Ubuntu 下安装thttpd Web服务器

    不知道大家是不是真的需要用appache这么复杂的功能这么强大的web server,其实有很多时候使用webserver也只是一种远程共享访问的方式.这里,Ubuntu repository的提供了 ...

  2. Ubuntu下安装Apache+PHP+Mysql

    Ubuntu下安装 apache+php+mysql文本服务器! ------------------------------------------------------------------- ...

  3. ubuntu下安装ftp服务器

    ubuntu下安装ftp服务器 Ftp服务器是使用以vsftp为例. 1. 安装     $sudo aptitude install vsftpd     $ps aux | grep 'ftp' ...

  4. linux pureftp mysql_在Ubuntu下安装apache2+php5+mysql5+pureftp+ftp

    在Ubuntu下安装apache2+php5+mysql5+pureftp+ftp 一.安装Ubuntu7.04 Desktop版 二.ubuntu Linux下手工安装mysql5 1.下载mysq ...

  5. ubuntu下安装windows虚拟机

    ubuntu下安装win7虚拟机总结 ubuntu16.04 虚拟机 安装win7/win10 http://WIN10:你不能访问此共享文件夹,解决方法 VirtualBox虚拟机剪贴板共享

  6. Linux :debian(ubuntu)下安装和使用haskell

    文章目录 Linux :debian(ubuntu)下安装haskell 安装 使用 Linux :debian(ubuntu)下安装haskell 安装 直接使用apt进行安装: sudo apt- ...

  7. Linux: debian/ubuntu下安装和使用Java 11

    Linux: debian/ubuntu下安装和使用Java 11 只需6行命令: su - echo "deb http://ppa.launchpad.net/linuxuprising ...

  8. Linux: debian/ubuntu下安装和使用Java 8

    Linux: debian/ubuntu下安装和使用Java 8 7行命令解决问题: su - echo "deb http://ppa.launchpad.net/webupd8team/ ...

  9. Linux: debian/ubuntu下安装Neo4j

    文章目录 Linux: debian/ubuntu下安装Neo4j Linux: debian/ubuntu下安装Neo4j Neo4j的官方仓库地址:neo4j/neo4j: Graphs for ...

最新文章

  1. 5个层级带你看清一颗芯片的内部结构
  2. Linux(64) 下 Tomcat + java 环境搭建
  3. Python回顾与整理10:模块
  4. 分辨率设置640*480
  5. 如何最小化混合云中影子IT带来的风险
  6. boost::fibers::launch::post的测试程序
  7. 好程序员web前端技术之CSS3过渡
  8. px4原生源码学习四--Nuttx 实时操作系统编程
  9. Versant 对象型数据库
  10. 插入数据的时候出现错误:Error during job, obtaining debugging information…
  11. Oracle 9.2.0.4的一个简单安装脚本(含安装前补丁p3006854)
  12. C#窗体应用实战项目——绩效考核管理系统
  13. 小程序商城需要食品流通许可证吗?
  14. BootStrap运行流程解析
  15. SIM800A上传数据到Onenet平台命令
  16. pythonlauncher是干什么用的_python launcher是什么
  17. optuna自动调参框架对lgb的超参进行优化
  18. 蓝字冲销是什么意思_会计上的红字蓝字是什么意思?正常记录是什么...
  19. Android 获取电池容量 mAh
  20. Pycharm2018破解版破解教程 Pycharm2018安装激活永久破解详细教程

热门文章

  1. ai怎样导出所选部分,AI 怎么导出部分文件
  2. 04-前端技术_ javaScript内置对象与DOM操作
  3. 三七互娱-游戏运维岗笔试题(无答案)
  4. 浙江财经大学python_朱宗元-浙江财经大学 数据科学学院
  5. 密码开锁:浙大版C语言程序设计
  6. Docker容器处于Removal in process 无法删除解决方案
  7. ESL第八章 模型推断和平均 【参数】自助法/得分函数/信息矩阵/观测信息/费舍尔信息量、贝叶斯方法/无信息先验、高斯混合/GEM/MM算法、吉布斯、Bagging、委员会、Stacking、随机搜索
  8. DriverStudio 3.x 完全版 下载
  9. 绑定ZBar的OpenCV条形码和QR码扫描器
  10. python基础之浅谈布尔类型的变量