热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

Ubuntu10.04Bochs安装配置及启动

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

  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 安装 10.04 Bochs

  其实,在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  

  例如:

www.linuxidc.com@linuxidc-desktop:/usr/share/bochs$ ls
BIOS-bochs-latest BIOS-bochs-legacy BIOS-qemu-latest keymaps
www.linuxidc.com@linuxidc-desktop:/usr/share/bochs$

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

www.linuxidc.com@linuxidc-desktop:/usr/share/bochs$ ls /usr/share/vgabios/
vgabios.bin vgabios.cirrus.bin vgabios.cirrus.debug.bin vgabios.debug.bin
www.linuxidc.com@linuxidc-desktop:/usr/share/bochs$

  这样配置文件就要改为:

 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,这样应该差不多了。


推荐阅读
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • 学习SLAM的女生,很酷
    本文介绍了学习SLAM的女生的故事,她们选择SLAM作为研究方向,面临各种学习挑战,但坚持不懈,最终获得成功。文章鼓励未来想走科研道路的女生勇敢追求自己的梦想,同时提到了一位正在英国攻读硕士学位的女生与SLAM结缘的经历。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • Ubuntu 9.04中安装谷歌Chromium浏览器及使用体验[图文]
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • 成功安装Sabayon Linux在thinkpad X60上的经验分享
    本文分享了作者在国庆期间在thinkpad X60上成功安装Sabayon Linux的经验。通过修改CHOST和执行emerge命令,作者顺利完成了安装过程。Sabayon Linux是一个基于Gentoo Linux的发行版,可以将电脑快速转变为一个功能强大的系统。除了作为一个live DVD使用外,Sabayon Linux还可以被安装在硬盘上,方便用户使用。 ... [详细]
  • Ubuntu安装常用软件详细步骤
    目录1.GoogleChrome浏览器2.搜狗拼音输入法3.Pycharm4.Clion5.其他软件1.GoogleChrome浏览器通过直接下载安装GoogleChro ... [详细]
  • 本文讨论了在Linux系统中,使用chown命令将django项目目录下的static目录的拥有者从root改为eureka的问题。作者尝试了多种命令,包括chown和sudo chown等,但都没有成功修改拥有者。文章提供了相关目录的权限信息,并补充了项目所在磁盘和操作系统的信息。 ... [详细]
  • Vagrant虚拟化工具的安装和使用教程
    本文介绍了Vagrant虚拟化工具的安装和使用教程。首先介绍了安装virtualBox和Vagrant的步骤。然后详细说明了Vagrant的安装和使用方法,包括如何检查安装是否成功。最后介绍了下载虚拟机镜像的步骤,以及Vagrant镜像网站的相关信息。 ... [详细]
  • 近年来,大数据成为互联网世界的新宠儿,被列入阿里巴巴、谷歌等公司的战略规划中,也在政府报告中频繁提及。据《大数据人才报告》显示,目前全国大数据人才仅46万,未来3-5年将出现高达150万的人才缺口。根据领英报告,数据剖析人才供应指数最低,且跳槽速度最快。中国商业结合会数据剖析专业委员会统计显示,未来中国基础性数据剖析人才缺口将高达1400万。目前BAT企业中,60%以上的招聘职位都是针对大数据人才的。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • 本文主要讨论了在xps15上安装双系统win10和MacOS后,win10无法正常更新的问题。分析了可能的引导问题,并提供了解决方法。 ... [详细]
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
  • 本文介绍了UVALive6575题目Odd and Even Zeroes的解法,使用了数位dp和找规律的方法。阶乘的定义和性质被介绍,并给出了一些例子。其中,部分阶乘的尾零个数为奇数,部分为偶数。 ... [详细]
author-avatar
永川青峰_915
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有