查看: 1641|回复: 0
打印 上一主题 下一主题

AM335 Linux kernel编译

[复制链接] qrcode

38

主题

41

帖子

126

积分

注册会员

Rank: 2

积分
126
楼主
跳转到指定楼层
发表于 2016-7-3 05:53 PM | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
AM335 Linux kernel编译
-----东方青
一、        安装编译工具链
1.        获取资料
从提供的资料的目录linux_evb-t335/toolchains/中,可以看到存在两个交叉编译工具链。

        编译Linux kernel所需要的交叉编译工具链为:gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux.tar.bz2
2.        安装交叉编译工具链
将gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux.tar.bz2压缩文件解压到/opt目录下。
命令:sudo tar xvf gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux.tar.bz2 -C /opt

        进入到/opt/gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux/bin目录,查看交叉编译工具链的可执行文件。
        命令:cd /opt/gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux/bin

        如上图,交叉编译工具链的名称为:arm-linux-gnueabihf-
        而编译uboot的交叉编译工具链的名称为:arm-none-linux-gnueabi-。两者的名称不同,所以可以同时安装。
        获取交叉编译工具链的绝对路径为:/opt/gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux/bin
        将其添加到/etc/environment文件中。
        命令:sudo vim /etc/environment

        在末尾添加“:/opt/gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux/bin”。最后保存退出即可。
        修改~/.bashrc文件,添加环境变量,以便能够随时使用交叉编译工具链。
        命令:vim ~/.bashrc
        在最后添加:export PATH=$PATH:/opt/gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux/bin

        最后保存退出。
        最后更新~/.bashrc
        命令:source ~/.bashrc
        此后就可以直接使用arm-linux-gnueabihf-交叉编译工具链了。查看一下版本。
        命令:arm-linux-gnueabihf-gcc –v

        如上图可知,其为4.7.3版本。
二、        资源选择
在资料的目录linux_evb-t335/src下可以看到官方提供的源码。如下图:

        将linux-3.14.43-evbt335.tar.bz2文件拷贝出来。
        命令:cp linux-3.14.43-evbt335.tar.bz2 ../../
        切换目录之后,解压linux-3.14.43-evbt335.tar.bz2文件。
        命令:tar xvf linux-3.14.43-evbt335.tar.bz2
        解压得到的目录名称有些过长,将其修改为linux-3.14.43。
        命令:mv linux-3.14.43-evbt335 linux-3.14.43

三、        编译
1.        清理源码
命令:make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- mrproper

2.        系统配置
第一次编译,直接使用默认配置。
命令:make ARCH=arm evbt335_defconfig

3.        编译
(1)        编译内核
命令:make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- LOADADDR=0x80008000 uImage

等待编译完成。

(2)        编译内核模块
命令:make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- modules

        等待编译完成。

(3)        编译dts文件
命令:make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- evbt335-nand.dtb
        编译完成后,在arch/arm/boot/dts/目录下生成evbt335-nand.dtb文件。








本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表