记得很久以前,就开始准备实现一个自己操作系统,找了一本《Orange’s 一个操作系统的实现》来看。满怀期待的进入最开始章节,环境搭建篇,足足让我整了一个通宵还没整出Hello World,后来就忘记了要写操作系统这件事了。现在拿起这本书,希望坚持做下去,并把我自己的编译器放上去运行。同时我也会在每个阶段记录在我的博客上。 环境搭建在书上有详细的介绍,但是这本书已年代久远,各种工具也更新换代多次,使用方法略有区别,但大致相同。我把过程在此记录,希望能帮助到有需要的人,以不至于被第一步就困难到。 我的运行环境是Windows8,Linux下我也会简略介绍。 准备阶段安装NASMNasm的官方网站:http:///projects/nasm/。下载完成直接安装,记住你的安装文件夹。 dd命令工具Windows下有dd for Windows的工具,下载地址http://www./download,找到dd-*(版本号).zip,下载解压即可使用。 Bochs安装Bochs主页http://bochs./,可直接安装。 配置环境变量将三个软件的安装位置加入环境变量中,相信安装过软件的都知道如何设置,这里就不详细说明了。 测试软件在cmd下输入 如果指令都正常,我们的准备工作就完成了,若发生错误,有可能是环境变量设置问题,可重新检查一遍。 操作阶段汇编boot.asm
注意路径不要搞错。 生成软盘映像这里使用bximage,和书中的操作略有不同,注意阅读一下指令的输出。 最终a.img生成在cmd的当前目录下,请注意目录。 写入引导我在这一步遇到了问题,试了两次都没写入,后来分析了一下找出了问题所在。 书上的命令为 首先要注意这里的if是指输入文件,即汇编后的生成文件。a.img是软盘映像,这里一定要看看这两个文件是否在同一路径和在cmd当前目录中,否则就要加上完整的路径。其次,当输入完指令后,输出为 下划线表示没有这个指令,我猜测dd工具已经更新掉了这个命令,所以去掉即可。 配置bochsrc.bxrc文件我的配置文件是 注意改成自己的路径即可。 HELLO WORLD搞定!!!
|
|
来自: herowuking > 《Windows相关》