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引导程序执行