SAIL-IMX7D Linux开发环境搭建与内核编译

2019-05-24 10:39
110

主机平台:ubuntu14.04.5

目标平台:SAIL-IMX7D核心板

虚拟机:VMware-workstantion-full-12.5.5

编译工具链:gcc-linaro-arm-linux-gnueabihf-


1 Linux开发环境搭建

1.1 安装编译器

IMX7D Linux系统常用编译器的版本是gcc-linaro-arm-linux-gnueabihf-4.9。

编译器的安装包在/光盘/linux/交叉编译器/中,

gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux.tar.xz压缩包是交叉编译器安装包。将安装包拷贝到Ubuntu的 /dianyu 目录下。

如果Ubuntu没有/dianyu目录,可以使用 #mkdir   /dianyu 创建一个新目录。修改 /dianyu 权限,命令:   #chmod 777 /dianyu

在Ubuntu中新建目录 /usr/local/arm,命令 #mkdir -p /usr/local/arm。

将gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux.tar.xz解压缩到/usr/local/arm,命令

#tar xvf /dianyu/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux.tar.xz -C /usr/local/arm

如图所示:


上述命令执行完成后,即可完成编译器安装。同时设置一下环境变量,执行命令:

#export PATH=/usr/local/arm/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux/bin/:$PATH


1.2 设置、升级开发环境依赖库

将 /光盘/通用工具/工具脚本 中setup-package-install.sh文件拷贝到Ubuntu中的 /dianyu 目录下,如图所示:


修改/setup-package-install.sh权限,命令#chmod 777 setup-package-install.sh

命令: #./setup-package-install.sh ,如图所示:



报错,bash: ./setup-package-install.sh: /bin/sh^M: bad interpreter: No such file or directory执行vi setup-package-install.sh,回车



将每行后面的^M删掉(若不报错可直接进行下一步)。删完后保存退出。



重新执行./setup-package-install.sh 选择Y,回车,如图所示:



这里直接回车,默认是Yes。如图所示:



正在从源服务器下载配置环境的安装包。如图所示:



安装完成后,如图所示:


若安装失败,则输入命令:# apt-get update

然后再重新输入命令:#./setup-package-install.sh 进行安装。


2 SAIL-IMX7D内核编译

将/光盘/linux/源代码/sail-imx7d-linux-4.1.15.tar.gz 拷贝到Ubuntu系统中的/dianyu 目录中。

在终端中执行命令:#cd   /dianyu

然后执行解压缩命令:#tar zxvf sail-imx7d-linux-4.1.15.tar.gz,将sail-imx7d-linux-4.1.15.tar.gz解压缩到 /dianyu 目录下。解压工作完成后,在 /dianyu目录下自动生成 sail-imx7d-linux-4.1.15 目录。sail-imx7d-linux-4.1.15 目录就是linux内核源码了。



使用命令 #cd   sail-imx7d-linux-4.1.15

进入sail-imx7d-linux-4.1.15目录



执行清理编译产生的中间文件。命令: #make clean

编译内核。命令:#make zImage ZIMAGE_LOADADDR=0x10008000

如图所示:


正在编译,如下图所示:


编译报错(如果不报错,可跳过此步,若出现其他错误,请自行百度),如下图所示:



报错提示为缺少lzop,命令apt-get install lzop,安装lzop,如下图所示:



安装完成后,重新编译内核,成功,如下图所示:



编译dts。命令:#make sail-imx7d.dtb,如下图所示:



编译成功如图所示:


其中zImage、sail-imx7d.dtb即为linux系统下的内核源码。


3 说明

搭建linux开发环境时主要的问题是/setup-package-install.sh文件,首先是权限问题,更改其权限为777,其次是在拷贝到虚拟机里时会在每一行后面多出^M,只有使用vi打开才能看到。配置好环境变量后,编译内核源码一般不会出现问题,若出现问题则根据实际情况寻找解决办法。