架构/开发板相关的引导过程
我们要将Linux内核移植到S3C2440(arm9)平台上,和移植U-Boot一样,在移植Linux内核之前,我们先了解Linux内核的启动过程,我们这里以S3C2440平台为例。
典型的内核映像是zImage,包含自引导程序和压缩的vmlinux两部分。启动过程也就是解压和启动vmlinux的过程。我们主要讲解vmlinux的启动过程。对于其他格式的内核,比如zImage、bzImage等,它们都要进行自解压得到vmlinux,然后执行vmlinux的启动过程。
在前面的文章中,我们介绍了ARM架构处理器上vmlinux的编译连接过程。在这一篇文章中,我们讲解它的启动过程。vmlinux内核的启动过程分为两部分:架构/开发板相关的引导过程和通用的启动过程。
引导阶段通常使用汇编语言编写,它首先检查内核是否支持当前架构的处理器,然后检查是否支持当前开发板。由于连接内核