本来打算按照《30天自制操作系统》完成一个自己的操作系统,但是由于作者是在Windows进行开发的,而我使用的是linux系统,很多地方会有差别,因此,从现在起,开始转向参考github上SamyPesse的“How to Make a Computer Operating System”这本书来进行开发。
该电子书的下载地址:https://www.gitbook.com/book/samypesse/how-to-create-an-operating-system/details
Chapter 1 简单介绍了一下x86架构,具体可参考作者的电子书,在此不再赘述。
Chapter 2 主要介绍了环境的搭建过程
*下载安装Vagrant, VirtualBox(两个都要安装)
Vagrant : http://www.vagrantup.com/
VirtualBox: https://www.virtualbox.org/wiki/Downloads
*下载适当版本的镜像文件
首先,为了简单起见,下载32位的box文件。作者给出的版本是lucid32(Ubuntu 10.04),但是该版本的系统现在已经不再受支持了(没有相对应的软件源了),所以我选择的是precise32(Ubuntu 12.04),读者请根据情况自行下载。
下载地址: http://www.vagrantbox.es/
*创建虚拟机
首先切换到上面下载的镜像文件的目录下,然后执行下面的代码:
vagrant box add precise32 ./precise32.box
然后,编写VagrantFile,地址:https://github.com/SamyPesse/How-to-Make-a-Computer-Operating-System/blob/master/src/Vagrantfile, 讲代码复制出来,保存到一个名为VagrantFile的文件中,然后在与VagrantFile所在目录下执行以下语句:
vagrant up
vagrant ssh
这样,我们就进入了虚拟机中,我们之后的开发就是在此系统上,作者原文中还把Makefile放在这这一章中,但是我们还没有编写自己的代码,还用不到make