本帖最后由 ji7423 于 2015-2-26 17:19 编辑
预先安装arm-none-linux-gnueabi交叉编译工具链。
arm-none-linux-gnueabi交叉编译工具可以在以下网站获取:http://sourcery.mentor.com/publi ... none-linux-gnueabi/
(1)从https://github.com/linux4sam/linux-at91/tree/linux-2.6.39-at91 下载对应Linux内核源码,这里要注意,branch按钮处可以选择,建议选择2.6.39版本(推荐),按ZIP下载按钮进行下载,下载到的压缩包文件名为linux-at91-linux-2.6.39-at91.zip。
(2)对上面的文件进行解压(解压时会提示有文件重复,默认选择覆盖),将arch/arm/configs/文件下的at91sam9x5ek_defconfig放置在linux-at91-linux-2.6.39-at91目录下,并且重命名为.config。
(3)接下来就是配置和编译内核。
[cpp]
view plaincopymake ARCH=arm menuconfig #进行menuconfig配置,可以根据自己的需要进行修改
make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- uImage #编译生成uImage文件
(4)在linux内核源码arch/arm/boot目录下可以找到uImage文件。
(5)编译成功。
注:由于编译uImage时会用到uboot工具mkimage,所以首先需要正确编译uboot,请参考http://blog.csdn.net/jaymade/article/details/8704689,编译完uboot之后,请将uboot根目录下tools目录中的mkimage文件放置到arm-none-linux-gnueabi交叉编译工具根目录的bin目录下(或者把mkimage加入环境变量中)。
|