bochs调试linux内核学习4 - bochs配置文件的$BXSHARE变量bochs的System BIOS must end at 0xfffff错误运行内核0.00版本

Posted bcbobo21cn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了bochs调试linux内核学习4 - bochs配置文件的$BXSHARE变量bochs的System BIOS must end at 0xfffff错误运行内核0.00版本相关的知识,希望对你有一定的参考价值。

经过前面的一些操作,目前只能用bochs调试linux 0.11内核的启动部分;下面来继续学习相关内容;

根据资料,在内核0.11之前,还有更小的内核0.00版本需要认识;在此下载;

http://oldlinux.org/Linux.old/bochs/linux-0.00-050613.zip

下载了一个解压版的bochs;在bochs目录建立00目录;

 

把下载的.00版本相关文件拷贝到00目录下;

 

建立run.bat,内容如下;

cd "Y:\\dddd1013-001-cd-2021\\Bochs\\Bochs\\00"
..\\bochsdbg -q -f bochsrc-0.00.bxrc

第一行,切换到自己建立的00目录;第2行,使用该行给出的.bxrc配置文件来运行bochs虚拟系统;

run一下之后,出现下图错误;找不到 BXSHARE 环境变量;

 

记事本打开.bxrc文件,将所有使用的$BXSHARE替换为当前bochs的安装目录,我目前是Y:\\dddd1013-001-cd-2021\\Bochs\\Bochs;注释语句中的$BXSHARE不用管;

然后再run;提示 floppy_command_delay 这行不理解,

 

加#注释掉;

 

又提示 ips 不理解,

 

注释掉;

 

再运行,出现下图错误;

 

错误消息,

    ROM: System Bios must end at 0xfffff

根据资料,需要把

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

        改成

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

只有古老系统才会出现此错误消息;

改了以后,再run, 此时软盘放入的是0.00版本内核image文件;运行起来只是循环输出A和B字符;

 

有时间再继续; 

 

以上是关于bochs调试linux内核学习4 - bochs配置文件的$BXSHARE变量bochs的System BIOS must end at 0xfffff错误运行内核0.00版本的主要内容,如果未能解决你的问题,请参考以下文章

Bochs调试Linux内核 - 定位内核中的变量或数据结构

Bochs调试Linux内核6 - 启动过程调试 - 跳到bootsect引导程序执行

linux内核调试的主要方法

bochs运行早期linux0.11和linux0.98内核

Linux内核——环境搭建

Ubuntu14.04下搭建Bochs仿真平台,同时用该平台安装Linux0.11内核