有人可以指导我创建一个简单的可启动 hello world 程序的路径/步骤吗?我有 C/C++ 的基本知识。
我的目标是创建一个非常简单的操作系统。
我想要尽可能多的参考和示例的相关链接。
有人可以指导我创建一个简单的可启动 hello world 程序的路径/步骤吗?我有 C/C++ 的基本知识。
我的目标是创建一个非常简单的操作系统。
我想要尽可能多的参考和示例的相关链接。
看到这个。 这是一个非常基本的引导加载程序的教程。它与 C/C++ 没有太大关系,但它有一些关于引导加载程序基本构建块的非常好的信息。
如果您真的对积木感到好奇,可以通过教科书的形式获得更深入的资源。例如,本教程没有解释为什么引导加载程序必须以55 AA
. 此外,它相对狭窄。
您想构建一个静态链接的二进制文件(不涉及 ld.so),并通过跳转到其入口点来启动它。入口点通常是 .text 部分的开始。Maye 在其上运行 objdump --section-headers图像以找出其地址。
如果您尝试在嵌入式设备上运行,请查看嵌入式操作系统的内核是如何构建和引导的。例如,查看 U-Boot 如何构建基于 Ångström linux 的系统。