ubuntu 下安装bochs

来源:互联网 发布:linux firewall cmd 编辑:程序博客网 时间:2024/05/16 05:20

 

    参考文章:http://blog.csdn.net/lilongherolilong/article/details/7683952



  安装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/


  安装bochs命令

   $tar vxzf bochs-2.4.5.tar.gz

  $cd bochs-2.4.5

 $./configure --enable-debugger --enable-disasm

 $make

 $sudo make install

 安装2.6.8运行时总是报一些看不懂的错,用的2.4.5就没问题

 在sudo make install 时报错,信息如下

 //lib/x86_64-linux-gnu/libpthread.so.0: error adding symbols: DSO missing from command line

 collect2: error: ld returned 1 exit status

 是由于目标库少加载了个文件libpthread,在Makefile文件大约第92行加上就可以了。

 


  安装汇编编译器nasm

 sudo apt-get install nasm

 

 编写汇编代码(参考《ORANGE'S:一个操作系统的实现》)

 文件名:boot.asm

org 07c00h; 告诉编译器程序加载到7c00处mov ax, csmov ds, axmov es, axcall DispStr;调用显示字符串的小程序jmp $;无限循环DispStr: ;显示字符串的小程序mov ax, BootMessage ;将要显示的字符串的串地址给axmov bp, ax;mov cx, 12 ;将串长度给cxmov ax, 01301h;mov bx, 000ch;页号为0 (bh=0) 黑底红字(bl=0ch,高亮)mov dl, 0int 10h;10号中断retBootMessage: db "Hello,ACway!"times 510-($-$$) db 0 ;填充剩下的空间,使生成的二进制代码恰好为512字dw 0xaa55 ;结束标志

 编译boot.asm

 nasm boot.asm -o boot.bin


 用bximage命令来创建img文件

 bximage  让后输入fd 接着按照提示敲enter键就可以了(大约2个)

 过程截图如下

 


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


 配置bochs的配置文件bochsrc

 在当前目录直接创建文件名为bochsrc就可

 

megs: 32romimage: file=/usr/local/share/bochs/BIOS-bochs-latestvgaromimage: file=/usr/local/share/bochs/VGABIOS-lgpl-latestfloppya: 1_44=a.img,status=insertedboot: floppylog:bochsout.txtmouse:enabled=0keyboard_mapping:enabled=1,map=/usr/local/share/bochs/keymaps/x11-pc-us.map

接着执行bochs -f bochsrc

由于安装的是具有调试功能的bochs,那么启动后,你会看到控制台出现若干选项,默认选项为“6.Begin  simulation”,所以直接按回车键,Bochs就启动了,不过既然是可调试的,Bochs并没有急于让虚拟机进入运转状态,而是继续出现一个提示符,等待你的输入,在命令行里输入c就可以了

运行结果如下




0 0
原创粉丝点击