IMX6ULL配置交叉编译环境
- [1. 简单描述](#1. 简单描述)
- [2. 相关资源(相关资料正点原子都有提供)](#2. 相关资源(相关资料正点原子都有提供))
- [3. MobaXterm连接虚拟机](#3. MobaXterm连接虚拟机)
- [4. 相关文件上传](#4. 相关文件上传)
- [5. 交叉编译环境安装](#5. 交叉编译环境安装)
- [6. 编译linux内核](#6. 编译linux内核)
- [6. 编译uboot](#6. 编译uboot)
1. 简单描述
1、 本项目基于基于正点原子IMX6U-MINI开发板开发;
2. 相关资源(相关资料正点原子都有提供)
| 资源名称 | 说明 |
|---|---|
| ubuntu-24.04.3-live-server-amd64.iso | linux系统镜像(这个是更新的不是16.4) |
| linux-imx-4.1.15-2.1.0-e48931b1-v2.8.tar | 正点原子linux内核源码 |
| gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz | 交叉编译工具链 |
| fsl-imx-x11-glibc-x86_64-meta-toolchain-qt5-cortexa7hf-neon-toolchain-4.1.15-2.1.0_20241230.sh | 正点原子提供Poky交叉编译工具链脚本 |
| VMware-workstation-17.6.2-24409262.exe | WM虚拟机 |
| sdk_root_dir.zip | 相关驱动开发sdk(非必须) |
| MobaXterm | ssh工具 |
3. MobaXterm连接虚拟机
- 自己安装linux镜像!(略)
- 使用ssh连接虚拟机需要的shell
bash
sudo apt-get update
sudo apt-get install net-tools
ifconfig
4. 相关文件上传
bash
mkdir toolchain
mkdir code
cd code
mkdir linux_core
- toolchain文件夹下上传相关文件
| gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz |
|---|
| fsl-imx-x11-glibc-x86_64-meta-toolchain-qt5-cortexa7hf-neon-toolchain-4.1.15-2.1.0_20241230.sh |
- linux_core文件夹下上传相关文件
| linux-imx-4.1.15-2.1.0-e48931b1-v2.8.tar |
|---|
- code文件夹下上传相关文件
| sdk_root_dir.zip |
|---|
5. 交叉编译环境安装
- 安装Poky交叉编译工具链
bash
chmod u+x fsl-imx-x11-glibc-x86_64-meta-toolchain-qt5-cortexa7hf-neon-toolchain-4.1.15-2.1.0_20241230.sh
./fsl-imx-x11-glibc-x86_64-meta-toolchain-qt5-cortexa7hf-neon-toolchain-4.1.15-2.1.0_20241230.sh
source /opt/fsl-imx-x11/4.1.15-2.1.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi
arm-poky-linux-gnueabi-gcc --version
bash
sudo apt-get update // 先更新软列表(本地数据库)`在这里插入代码片`
sudo apt-get install lzop // 安装lzop工具,用于生成压缩或解压镜像
sudo apt-get install libncurses* // 安装ncurese相关库,U-boot或者内核菜单显示时需要
- 交叉编译器安装
bash
sudo mkdir /usr/local/arm
sudo cp -rf gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz /usr/local/arm/
cd /usr/local/arm/
sudo tar -xvf gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz
- 修改环境变量
bash
sudo vim /etc/profile
export PATH=$PATH:/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin
arm-linux-gnueabihf-gcc -v
sudo apt-get install lsb-core lib32stdc++6
sudo apt-get install lzop
sudo apt-get install libncurses*
sudo apt-get install make
6. 编译linux内核
bash
cd /code/linux_core
tar -vxjf linux-imx-4.1.15-2.1.0-e48931b1-v2.8.tar.bz2
ls
./build.sh
- 会出现 multiple definition of `yylloc'
- 需要修改/code/linux_core/scripts/dtc/dtc-parser.tab.c_shipped文件添加extern
c
extern YYLTYPE yylloc;

6. 编译uboot
bash
tar -jxvf uboot-imx-2016.03-2.1.0-g0ae7e33-v1.7.tar.bz2
./build.sh