iMX6qLinux 交叉编译环境搭建

it2025-10-15  9

在编译工作进行之前,先确保你的虚拟系统网络是可以用的, 下面先介绍一下apt-get

添加 apt-get update 国内源 sudo vim /etc/apt/sources.list

添加阿里服务器

deb http://mirrors.aliyun.com/ubuntu/ xenial main deb-src http://mirrors.aliyun.com/ubuntu/ xenial main deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main deb http://mirrors.aliyun.com/ubuntu/ xenial universe deb-src http://mirrors.aliyun.com/ubuntu/ xenial universe deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates universe deb http://mirrors.aliyun.com/ubuntu/ xenial-security main deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security universe

添加163服务器

deb http://mirrors.163.com/ubuntu/ precise main universe restricted multiverse deb-src http://mirrors.163.com/ubuntu/ precise main universe restricted multiverse deb http://mirrors.163.com/ubuntu/ precise-security universe main multiverse restricted deb-src http://mirrors.163.com/ubuntu/ precise-security universe main multiverse restricted deb http://mirrors.163.com/ubuntu/ precise-updates universe main multiverse restricted deb http://mirrors.163.com/ubuntu/ precise-proposed universe main multiverse restricted deb-src http://mirrors.163.com/ubuntu/ precise-proposed universe main multiverse restricted deb http://mirrors.163.com/ubuntu/ precise-backports universe main multiverse restricted deb-src http://mirrors.163.com/ubuntu/ precise-backports universe main multiverse restricted deb-src http://mirrors.163.com/ubuntu/ precise-updates universe main multiverse restricted

准备交叉编译工具,这个工具一般芯片厂商会提供,或者从网上自己下载。 工具参照官方文档,放在默认的/opt 路径下,然后解压。

解压后设置编译器的环境变量。

$ PATH=$PATH:/opt/fsl-imx-x11/4.1.15-2.1.0/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi 验证一下编译工具是否能够使用了,正常的话会打印一长串,出问题会提示错误信息。 $ arm-poky-linux-gnueabi-gcc -v 配置必要的环境 sudo apt-get install lib32z1 lib32ncurses5 sudo apt-get install gcc-multilib g++-multilib 准备linux源码,网上下载或找供应商。 $ tar -zxvf linux-4.1.15.tar.bz2 进入到解压后的linux目录,执行 make ARCH=arm imx_v7_defconfig

当然也可以根据需求,自己配置编译选项。

make menuconfig

如果已星号的方式选择,执行下面语句的时候会一起编译进zImage,如果选择太多不常用的模块,这样就增大的zImage的容量。有些模块可以选择“M”的方式(make module),他们就需要独立编译,需要的时候再安装模块。

make -j4 zImage 提示出错

piggy.lzo ,错误点在这里,这个提示说明piggy是lzo压缩格式。 lzop is a file compressor which is very similar to gzip. lzop uses the LZO data compression library for compression services. 下载安装解压工具

sudo apt-get install lzop

再次执行make -j4 zImage 这次编译速度就快多了,因为刚才很多编译工作都已经完成。 编译后会提示 Kernel: arch/arm/boot/zImage is ready

表明zImage的路径在linux内核的arch/arm/boot 路径下

编译设备树dtb make imx6q-sabresd.dtb 或者 make imx6dl-sabresd.dtb

生产的文件存放路径 arch/arm/boot/dts/ 如果此步提示错误,可能是arch/arm/boot/dts 路径下的Makefile里没有定义imx6q-sabresd.dtb,添加此定义即可。

最新回复(0)