DeanOS
1.0.0
從頭開始創建操作系統。該操作系統是針對I386+ 32位Intel X86構建的。任何其他平台可能無法正常工作,也沒有進行測試。
只需鍵入make run即可創建所需的所有文件並在QEMU模擬器中運行。 Makefile是一種混亂,因此對更好的makefiles提出的任何建議都得到讚賞。
nasm用於組裝引導程序gcc用於編譯內核並包括C庫ld用於將所有內核文件鏈接在一起objcopy用於從小精靈文件中創建內核二進制ar用於創建C庫make - 運行makefileqemu運行操作系統Windows Linux subsystem :cmd用於在Linux子系統終端中使用Windows命令partcopy -Windows CMD用於創建引導扇區imdisk -Windows CMD用於創建和安裝軟盤圖像copy - Windows CMS,用於將文件複製到軟盤圖像上很抱歉,這會傷害人們將Windows和Linux一起使用,因此,如果有人有我可以使用的建議和/或更好的makefile,請告訴我。 Makefiles對我來說是新的,因此您可以對它們進行任何更改,您能評論它們,以便我可以理解發生了什麼。尤其是只使用Linux命令的MakeFile是最好的。我曾嘗試使用dd來創建引導扇區,但無法正確工作,因此任何乘坐某些Windows命令的方法都很好。您可以通過[email protected]給我發送電子郵件,如果您有任何更改。
您可以運行make debug該調試將創建所需的所有文件並在QEMU模擬器中運行。然後,您可以通過將行添加到.gdbinit中或直接鍵入命令來連接GDB調試器:
set architecture i386
target remote localhost:1234
br *0x7c00
c
這將將體系結構設置為16位x86,因為這是啟動加載程序的編碼開始。然後連接到端口1234上的仿真器(qemu的默認值)。然後在引導加載程序的開頭設置一個斷點。啟動操作系統並在引導加載程序的開頭停止。
如果要在內核的開頭中斷,則加載的地址為0x100000。因此,用br *0x7c00替換br *0x100000 。
您在實際硬件上運行我的操作系統。不能保證通過運行操作系統會損壞硬件。因此,為了安全起見,請在虛擬機或仿真器中運行。