编译Arm Linux内核

这一次写一下编译arm内核以及根文件系统的体验,我使用的是linux-2.6.30.4的内核,通过ftp://ftp.kernel.org/pub/linux/kernel下载。下面按步骤操作。

第一步:

解压源文件tar jxvf linux-2.6.30.4.tar.bz2  –C /opt 下。

第二步:

更改主目录下Makefile文件,使其支持arm架构。在193行的arch ?= $(SUBARCH)更改为arch ?=arm 将CROSS_COMPFILE ?=更改为 CROSS_COMPFILE ?= arm-linux-。

第三步:

修改平台的输入时钟,我们采用的平台是TQ2440的开发板,该平台采用的是12M赫兹的主频,所以需要修改其arch/arm/mach-s3c2440/mach-smdk2440.c 的

__init smdk2440_map_io(void)

编译Arm Linux内核

函数的时钟16934400 改为12000000.

第四步:

更改平台机器码,使得u-boot的机器码与内核的机器码一致,因为u-boot的机器码是168(系统提供,在include/asm-arm/mach-types.h中),

编译Arm Linux内核

所以在内核中将机器码改为168(/arch/arm/tools/mach-types,默认是362)

编译Arm Linux内核

相关推荐