我已经开始了我的OS开发之旅.人们通常会大声说使用原始二进制而不是ELF(或其他结构化格式)是自定义操作系统中应用程序的常见错误.我可以说,因为ELF提供了额外的好处(存储元信息的地方,如符号表,.debug和.line).但是,让我们考虑内核二进制本身一分钟.它应该是结构化的(如ELF),如果是,为什么?否则写一个ELF加载器并在stage1加载器之后立即挤压它似乎是浪费.
AFAIK Linux内核是一个ELF文件,但我不知道原因.
operating-system kernel elf osdev bootloader
bootloader ×1
elf ×1
kernel ×1
operating-system ×1
osdev ×1