【发布时间】:2011-10-06 16:28:22
【问题描述】:
我现在真的被困住了......
vmlinuz 二进制文件、MBR 和 BOOTMGR 映像等可引导文件都是用纯二进制/机器代码编写的。但是它们是从 C 和汇编编译而来的——即 linux 内核源代码不只是由 1 和 0 组成,它是由 C 源代码组成的。我将如何获取我的程序集和 C 程序并将它们编译为通用 x86(在我的情况下为 x86-32)微处理器范围的机器代码,以便我可以从这些文件启动。
【问题讨论】:
我现在真的被困住了......
vmlinuz 二进制文件、MBR 和 BOOTMGR 映像等可引导文件都是用纯二进制/机器代码编写的。但是它们是从 C 和汇编编译而来的——即 linux 内核源代码不只是由 1 和 0 组成,它是由 C 源代码组成的。我将如何获取我的程序集和 C 程序并将它们编译为通用 x86(在我的情况下为 x86-32)微处理器范围的机器代码,以便我可以从这些文件启动。
【问题讨论】:
这种事情有一个很好的资源:@987654321@。
特别注意Bare bones 页面:它引导您完成创建、构建和运行用汇编和 C 语言编写的极简“内核”的过程。
另请参阅Baby steps 页面,了解如何构建引导扇区。
【讨论】: