MONKOS是用于英特尔和AMD处理器的64位操作系统。它是C和组装语言的组合,是正在进行的工作。当前,它由BIOS启动加载程序,虚拟控制台系统,中断处理系统,分类内存管理器,堆分配器,一些简单的设备驱动程序和原始交互式壳组成。启动装载机旨在从CDROM启动操作系统。
该操作系统当前使用交叉补偿器在Linux下构建。可以通过两种方法来构建它:(1)通过在系统上安装所有必要的工具并运行make ,或(2)使用即将制造的Docker容器,该容器包含所需的所有构建工具。
要使用本地系统上安装的工具构建,您需要已经安装了以下软件:
这些工具中的大多数都可以从标准Linux软件包管理器中获得。但是,交叉补偿器不是。要构建跨编译器,请在此页面上咨询说明。请确保在没有红区说明的情况下也遵循LIBGCC。
一旦安装了所有工具,并确保交叉补充商在您的路径中,请make 。
$ make这将在您的构建子目录中产生一个可引导的CDROM ISO文件,称为monk.iso 。
因为构建和安装交叉补偿器可能会有些麻烦,所以已经准备了一个Docker容器,从而使您可以避免自己构建交叉补偿器。要运行基于Docker的构建,请确保您在系统上安装了最新版本的Docker,请将自己添加到系统的Docker用户组中,然后输入以下内容:
$ make docker如果您还没有,这将拉下Docker容器( brett/monkos-build ),如果您尚未拥有它,请在构建子目录中生成ISO文件(以及所有其他中间输出文件)。它的行为几乎就像您使用系统上本地安装的跨编译器make跑步一样。
拥有ISO文件后,有几种运行MONKO的方法。首先也是最耗时的方法是使用您喜欢的燃烧实用程序将其烧成CD或DVD ROM。这是在裸机系统上测试僧侣的唯一方法。
另外,您可以使用VMWare或VirtualBox(例如VMWARE)启动操作系统。
或者,您可以在基于Linux的仿真器(例如Qemu或Bochs)中运行操作系统。 Monkos Makefile通过提供一个简单的构建规则来在QEMU中启动操作系统,从而使此替代方案特别容易:
$ make test您也可以使用MakeFile在QEMU和GDB下启动内核调试会话。首先,以调试模式启动QEMU:
$ make debug然后通过将GDB附加到QEMU调试器端点来启动GDB调试器会话:
$ gdb
(gdb) set arch i386:x86-64
(gdb) symbol-file build/monk.sys
(gdb) target remote localhost:8864
(gdb) layout src
运行make docs ,为蒙克构建格式良好的文档。您需要在系统上安装Doxygen才能做到这一点。
$ make docs Doxygen文档将出现在docs/monk子目录中。要查看它们,请在您的浏览器中启动它们(在这种情况下为Firefox):
$ firefox docs/monk/index.html要在编辑器中构建代码标签以供简单的符号搜索,请使用MakeFile运行繁殖标签实用程序:
$ make tags这会在您的蒙科(Monkos)目录中产生.tags文件。
要清理所有中间文件,请使用干净的构建:
$ make clean要清洁所有生成的依赖项文件,请使用CleanDeps构建:
$ make cleandeps请咨询Doxygon-Formatted文档,该文档是Monkos文档集的一部分。
这些是我试图更好地了解引导加载程序和OS开发的众多和各个方面的一些资源:
此源代码的使用由可以在许可证文件中找到的BSD式许可管辖。