嵌入式系统/ARM技术中的Linux内核启动 内核解压缩

zsliqiang 12 0 PDF 2020-11-08 22:11:35

这得从vmliux.bin的产生过程说起。 从内核的生成过程来看内核的链接主要有三步: 第一步是把内核的源代码编译成.o文件,然后链接,这一步,链接的是arch/i386/kernel/head.S,生成的是vmlinux。注意的是这里的所有变量地址都是32位页寻址方式的保护模式下的虚拟地址。通常在3G以上。 第二步,将vmlinux objcopy 成arch/i386/boot/compressed/vmlinux.bin,之后加以压缩,最后作为数据编译成piggy.o。这时候,在编译器看来,piggy.o里根本不存在什么startup_32。 第三步,把head.

用户评论
请输入评论内容
评分:
暂无评论