|
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
|