跳转到主内容
极星编程网:以代码为星,赴技术山海!

bochs 2.4.2 ubuntu 安装运行问题《orange's 一个操作系统的

用源码安装完后会遇到的问题: 《1》 运行可能碰到如下问题: Event type: PANIC Device: [ ] Message: dlopen failed for module 'x': file not found 这是由于在 安装 的时候,少 安装 了个 bochs -x 包 这个包可以在 http://packages .

ubuntu. com/dapp用源码安装完后会遇到的问题:《1》

运行可能碰到如下问题:

Event type: PANICDevice: [     ]Message: dlopen failed for module 'x': file not found这是由于在安装的时候,少安装了个bochs-x包这个包可以在http://packages.

ubuntu.

com/dapper/misc/ bochs-x找到也可以在terminal下面输入sudo apt-get installbochs-x这样才算安装完毕了。

《2》、启动问题点进入系统后控制台出现下面的提示: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那个《3》、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

例如:

lzel@lzel-desktop:/usr/share/ bochs$ ls BIOS-bochs-latest  BIOS-bochs-legacy  BIOS-qemu-latest   keymaps lzel@lzel-desktop:/usr/share/ bochs$后来我才发现,从终端下安装bochs时它把VGA专门作为了一个程序安装在了/usr/share/vgabios/中了。

lzel@lzel-desktop:/usr/share/ bochs$ ls /usr/share/vgabios/ vgabios.

bin  vgabios.

cirrus.

bin  vgabios.

cirrus.

debug.

bin  vgabios.

debug.

bin lzel@lzel-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 PostgreSQL 18.4 ubuntu PostgreSQL 18.4 官方 Ubuntu 安装包现已发布,这是目前最新的稳定版本。推荐通过官方 APT 仓库安装:先执行 sudo apt update 更新索引,再运行 sudo apt install postgresql-18 即可完成部署。新版本引入了异步 I/O 子系统,在顺序扫描与 VACUUM 场景下性能提升显著,同时支持 UUID v7 原生生成函数与虚拟生成列。

下载最后在是《orange's 一个操作系统的实现》第二章关于bochsrc配置文件内容的修改:安装好bochs之后,我们需要对bochs进行配置,其实就是对文件bochrsc进行修改!

《orange's :一个操作系统的实现》的附带光盘里有一个已经配置好的bochrsc,但是它是针对bochs2.3版本的,所以不能用!!!我们需要重新修改bochrsc!

首先将附带光盘里的chapter1子目录下的文件夹a 移动到/home/roothoo/,(主要是为是让a.img 和 bochsrc在同一文件夹下),然后对bochrc进行修改如下:注意,#是注释符号!即#之后的语句是无效的,其实#就相当于C+语言中的//################################################################ 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 romimage: file=$BXSHARE/BIOS-bochs-latest#vgaromimage: /usr/local/share/vgabios/vgabios.bin vgaromimage: file=$BXSHARE/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 cd      /home/roothoo/a   #我们切换到a.img 和 bochsrc所在的文件夹,bochs     -f    bochsrc    #以bochsrc为配置文件启动bochs然后选择6,然后再按c键,OK!!!ENJOY! -_-

相关文章