很早之前就在琢磨,能不能自己撸一个简单的操作系统内核出来,但是一直没有实质性行动。最近受师兄的启发,要开始造轮子了,不然编程能力是很难有提高的,就重拾当初的想法了。 做一个简单的操作系统内核出来,要保证能够正常运行,当然不能直接在物理机上测试(这是显然了,不然你怎么跟踪错误,一次次重启去看dump是一件很心累的事,而且也没额外的电脑),所以必须用到模拟器,采用Bochs或者Qemu都可以,这里给出Bochs的安装、基本使用测试,为后期的工作做好准备。
编译安装
我采用的环境是Ubuntu-14.04 X86_64,默认的apt-get安装的Bochs是不带有与gdb等工具联合调试功能的,所以必须自己动手来编译安装。去sourceforge下载源码,我使用的是2.6.8版本。需要提前安装g++,build-essential,xorg-dev,直接apt-get安装即可,然后
安装完成,建立软链接
大功告成
制作虚拟软盘
执行bximage
写启动测试程序
写一个简单的开机启动执行的汇编代码,简单打印一句话
编译并写入软盘
|
|
Bochs配置
编写bochs配置文件,这是用来启动bochs的,存为bochsrc
启动测试
执行bochs -f bochsrc,即可看到输出提示,直接回车(默认6,开始模拟)