小编Neo*_*tal的帖子

如何用C语言编写linux启动代码?

我是学习OS开发的新手.从我读过的书中,它说启动加载器会将第一个MBR复制到0x7c00,然后从实模式开始.

并且,示例从16位汇编代码开始.但是,当我查看今天的linux内核时,arch/x86/boot有'header.S'和'boot.h',但实际代码是在main.c中实现的.

这似乎对"不编写汇编"很有用.但是,这是如何在Linux中专门完成的?我可以粗略地想象可能有特殊gcc选项和链接策略,但我看不到细节.

c assembly linux-kernel bootloader x86-16

8
推荐指数
1
解决办法
805
查看次数

标签 统计

assembly ×1

bootloader ×1

c ×1

linux-kernel ×1

x86-16 ×1