设为首页 加入收藏

TOP

Ubuntu 10.04 Bochs 安装配置及启动
2014-11-24 07:29:18 来源: 作者: 【 】 浏览:1
Tags:Ubuntu 10.04 Bochs 安装 配置 启动

  Bochs是由Kevin Lawton 于1994年开始开发的一个用于完全模拟Intel的x86模拟器。开始它仅仅是一个商业产品,不过可以购买到它的源程序。2000年3月,Mandrakesoft买下了Bochs,并把它置于GNULGPL下使之成为一个开源程序。在2001年3月,Kevin把Bochs的家从bochs.com移到了 bochs.sourceforge.net上了。


  Bochs是用C++开发的,它被设计成可以运行于多种主流平台下,包括x86, PPC, Alpha,


  Sun和MIPS。它完全是靠软件模拟来实现的。从启动到重启,包括PC的外设键盘,鼠标,VGA卡,磁盘,网卡等,全部都是有软件来模拟的。这和其它的


  模拟器如VMware,plex86等有很大的区别。也正是由于Bochs完全是靠软件来模拟整个PC环境,因此它非常的适合开发操作系统,这对广大操作系统爱好者来说是一个福音。因为有它,使得调试操作系统非常非常的容易,它自带一个调试器bochsdbg,它可以从PC机刚启动的那一刹那起就开始模拟,注意,这不是从读取磁盘中的引导扇区那开始模拟。 



  其实,在Ubuntu下只用一条命令就可以搞定:


  sudo apt-get install bochs


  这样安装会遇到问题:


  问题一、安装bochs在terminal下输入下列代码


  sudo apt-get install bochs


  这样安装结束后,在我使用bochs的时候出现了下列错误:


  Event type: PANIC


  Device: [  ]


  Message: dlopen failed for module 'x': file not found


  这是由于在安装的时候,少安装了个bochs-x包


  这个包可以在 这里 找到


  也可以在terminal下面输入


  sudo apt-get install bochs-x


  这样才算安装完毕了。


  问题二、启动问题


  点进入系统后控制台出现下面的提示:


Please choose one: [6] 6
00000000000i[  ] installing win32 module as the Bochs GUI
00000000000i[  ] using log file bochsout.txt
========================================================================
Event type: PANIC
Device: [MEM0 ]
Message: ROM: System BIOS must end at 0xfffff
A PANIC has occurred. Do you want to:
 cont    - continue execution
 alwayscont - continue execution, and don't ask again.
         This affects only PANIC events from device [MEM0 ]
 die    - stop execution now
 abort   - dump core
Choose one of the actions above: [die]



  问题原因:


  在2.3.5以前的bochs使用的BIOS-bochs-latest是64k的,那个时候需要加上


  romimage: file=BIOS-bochs-latest,address=0xf0000


  在2.3.5中的BIOS-bochs-latest更新了,变成了128k的,这个时候配置需要改为


  romimage: file=$BXSHARE/BIOS-bochs-latest


  解决方法:


  去掉配置文件中的address那个


  问题三、bochs的启动配置文件bochsrc


  一般网上的资料都会提示你安装好后会有如下工具:


/usr/bin/bochs  Bochs启动程序
/usr/bin/bximage  Bochs带的制作磁盘镜像文件的工具
/usr/bin/bxcommit  把redolog放进flat磁盘镜像文件中去的交互工具
/usr/share/doc/bochs/bochsrc-sample.txt  Bochs配置文件的例子
/usr/share/bochs/BIOS-bochs-*  ROM BIOS镜像文件
/usr/share/bochs/VGABIOS-*  与VGA BIOS镜像文件相关的文件
/usr/bin/bochs-dlx  启动Bochs中DLX linux的程序
/usr/share/bochs/dlxlinux/  DLX Linux的目录,包含它的磁盘镜像文件和配置文件
/usr/share/bochs/keymaps/*.map  X11和SDL的keymap列表


  其实在终端安装的却没有第四、第七和第八项,就连第二第三项也要另外安装:


    sudo apt-get install bximage


    sudo apt-get install bxcommit


  所以,网上那些bochsrx在Ubuntu是运行不了的,就因为这点,我搞近一个下午,开始我老以为是配置文件不对呢。


  普通的bochsrc:


  romimage: file=$BXSHARE/BIOS-bochs-latest, address=0xf0000


  vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest


  但是在Ubuntu下压根就没有VGABIOS-lgpl-latest


  例如:


  后来我才发现,从终端下安装bochs时它把VGA专门作为了一个程序安装在了/usr/share/vgabios/中了。


  这样配置文件就要改为:


 romimage: file=$BXSHARE/BIOS-bochs-latest
 megs:4
 floppya: image=./boot.img,status=inserted
 vgaromimage: file=/usr/share/vgabios/vgabios.bin
boot:a                                                                                                
 log:out.bochs
OK,这样应该差不多了。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇FS2410 开发板Linux-2.6.35内核 L.. 下一篇Android 永远锁屏解决方法

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Redis 分布式锁全解 (2025-12-25 17:19:51)
·SpringBoot 整合 Red (2025-12-25 17:19:48)
·MongoDB 索引 - 菜鸟 (2025-12-25 17:19:45)
·What Is Linux (2025-12-25 16:57:17)
·Linux小白必备:超全 (2025-12-25 16:57:14)