这几天一直再看于渊的 《 Orange's 一个操作系统的实现》这本书,感觉写的不错。自己平时书看的还算不少,可是感觉自己的动手能力还是有待提高,所以这次就决定照着实践一下,没想到照着实践还是遇到不少的问题。
首先是安装的问题。由于最近在学习linux,所以就选定了linux作为实践环境,这也是作者推荐的。然后选择的是从源代码编译安装,这其中遇到了一些问题,通过google也顺利的解决了,主要是库依赖的问题。最终bochs成功运行。
然后我参照书写了boot.asm,用nasm进行编译得到bin,然后制作了软盘镜像a.img,把bin复制到a.img中。这些步骤很顺利,当我运行bochs命令时出错,怀疑是bochsrc出问题,然后按照网上的教程写了一个,当再次运行时,bochs中工具栏未出现,也没有任何字符提示,黑的一片。我还是怀疑是bochsrc的问题,然后就来回折腾了好几遍,还是不行。我就上网去搜解决方案,终于在一篇文章 中找到了答案。其实我自己的配置都是正确,只是由于我是从源码中编译的bochs,开启了debugger选项,所以默认的进入调试模式,只要在终端中输入c回车,就可以看到结果了。
因为这个简单的问题折腾了半天多,大部分时间浪费在搜索答案上。其中的过程中发现自己的思路还是不明确,老是在徘徊,以后应该在遇到问题时先理清思路,然后有的放矢。