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 。
您在实际硬件上运行我的操作系统。不能保证通过运行操作系统会损坏硬件。因此,为了安全起见,请在虚拟机或仿真器中运行。