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式許可管轄。