Linux下bochs源码安装与测试
来源:互联网 发布:旅游订票网站php模板 编辑:程序博客网 时间:2024/05/20 11:24
1.首先下载Bochs源码 下载后解压
源码下载网址 http://sourceforge.net/projects/bochs/files/bochs/2.6.6/
2.为了安装Bochs,还要安装一些必要的东西,执行一下命令 如下:
3.测试sudo apt-get install build-essentialsudo apt-get install xorg-devsudo apt-get install libgtk2.0-dev./configure --enable-debugger --enable-disasm 修改Makefile文件第92行 LIBS=最后加上 -lm -lpthread makesudo make install #若不加sudo 安装会出错要保证Linux机器启动级别是5 (/etc/inittab 中的默认启动级别),也就是x window,而且还要在本机Linux系统运行,这样运行bochs时才会有界面。(使用sudo init 5命令)
我们写一个小小的引导扇区,可以参考《Orange's 一个操作系统的实现》,命名为boot.asm。
org 07C00h ; 告诉编译器程序加载到0000:7C00处
mov ax, cx
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 = 13H, AL = 01H
mov bx, 000CH ; 页号为0(BH = 0) 黑底红字(BL = 0CH,高亮)
mov dl, 0
int 10H ; 调用BIOS的10号中断
ret
BootMessage: db "Hello World!" ; 要显示的字符串
times 510-($-$$) db 0 ; 填充剩余空间,使生成的二进制代码恰好为512字节
dw 0XAA55 ; 结束标志
我们把这段代码用NASM编译一下:$nasm boot.asm -o boot.bin
如果没有安装NASM,可以用如下命令进行安装:
$sudo apt-get install nasm
使用以下命令创建一个软盘映像
dd if=boot.bin of=a.img bs=512 count=1 conv=notrunc使用以下命令创建一个软盘映像
Ok,马上就可以启动Bochs了。不过别急,在启动Bochs之前还需要为运行系统预先设置一些模拟环境的参数。这些参数可以在命令行上传递给Bochs执行程序,但通常都使用一个文本形式的配置文件(例如bochsrc)为专门的一个应用来设置运行参数。在目录/usr/local/share/doc/bochs下有一个bochsrc-sample.txt,我们可以参照它来写一个。这里既有好消息也有坏消息,坏消息是这个文件很长,好消息是大部分都是注释,嘎嘎。值得注意的是 floppya: 1_44= 这一行 ,里面的路径是你的文件所在的绝对路径,使用相对路径会出错,我的是这样。
我们在当前目录下新建一个文件,命名为bochsrc(注意,没有后缀)。
###############################################################
# Configuration file for Bochs(Linux)
###############################################################
#=======================================================================
# filename of ROM images
#=======================================================================
romimage: file=$BXSHARE/BIOS-bochs-latest
#=======================================================================
# VGAROMIMAGE
# You now need to load a VGA ROM BIOS into C0000.
#=======================================================================
vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest
#=======================================================================
# what disk images will be used
#=======================================================================
floppya: 1_44=/home/mayuan/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. 注意map的路径
#=======================================================================
keyboard_mapping: enabled=0, map=/usr/local/share/bochs/keymaps/x11-pc-us.map
#=======================================================================
# how much memory the emulated machine will have
#=======================================================================
megs: 32
好了现在所有准备工作都完成了。
打开命令行终端进入当前工作目录即a.img所在的目录,输入命令sudo bochs -f bochsrc
如果幸运的话,你将看到如下画面
继续按下回车将看到下面画面(其实还要按下c的,嘻嘻):
打开命令行终端进入当前工作目录即a.img所在的目录,输入命令sudo bochs -f bochsrc
如果幸运的话,你将看到如下画面
继续按下回车将看到下面画面(其实还要按下c的,嘻嘻):
0 0
- Linux下bochs源码安装与测试
- ubuntu下源码安装bochs
- 在LINUX下安装BOCHS
- 在LINUX下安装BOCHS
- linux下安装编译Bochs
- Linux下的bochs安装
- Linux下Bochs的安装
- linux 下bochs安装和问题
- 在windows下,用Bochs安装linux
- 在LINUX下安装BOCHS zz
- Ubuntu 下bochs 的安装与使用
- 嵌入式操作系统与虚拟机杂记(二)——Linux下安装支持VMX模式的BOCHS
- Ubuntu下bochs安装
- ubuntu下安装bochs
- ubuntu下安装bochs
- centos下安装bochs
- ubuntu下安装bochs
- ubuntu下安装bochs
- 网页客户端存储的方式(二)------- cookies 和 IE userData的使用
- 将 Visual Studio C 和 C++ 项目迁移到 Eclipse CDT
- SpringMVC数据验证
- bootstrap --环境配置
- 笔试题们
- Linux下bochs源码安装与测试
- iPhone像素点和常用控件尺寸
- Python定时执行
- OpenCV之单通道图像的直方图绘制
- 一年没写CSDN,以后要经常来看自己的了,原来自己写的也有人看过啊,嘿嘿。
- NYOJ_33 韩信点兵
- 面试题18树的子结构
- el表达式的例子
- 15第十一周项目0——是春哥啊