3.4 内核的移植
由于嵌入式系统是针对特定应用的,而且资源有限,所以标准Linux 无法应用到嵌入式系统中,因此必须根据实际情况对Linux 进行裁剪、配置,从而产生一个适用的嵌入式Linux 操作系统。Linux 内核的移植包括获取源代码、修改设置、裁减配置和编译。
3.4.1 获取源代码
Linux 内核源代码一般都有专门的机构负责维护,我们可以从这些机构的网站上下载下来使用。修改设置
嵌入式系统的应用的针对性很强,从站点上下载下来的内核不可能包含针对所有嵌入式系统的代码,因此需要对代码进行修改设置,从而适合目标平台。一般包含下面几步。
① 编写与处理器相关的代码。主要包括时钟设置、中断设置、存储器分配及其他一些寄存器的设置等等,这些与HMS30C7202 处理器相关的代码放在/arch/arm/mach-s3c2440 目录下。
② 修改根目录下的工程管理文件Makefile ,指定所移植的硬件平台和交叉编译器的路径。
③ 修改/ arch/arm 目录下的工程管理文件Makefile ,指定内核运行的虚拟地址,修改该目录下的配置文件config.in,以便在执行配置命令时能够显示HMS30C7202 的相关信息。
④在/arch/arm/def-configs 目录下添加配置好的HMS30C7202 配置文件。在/arch/arm/boot/compressed 目录下添加处理器的初始化代码head-s3c2440.s 。
⑤ 修改/arch/arm/kernel 目录下的工程管理文件Makefile ,确定文件类型之间的依赖关系。