【Linux驱动开发IMX6ULL】交叉编译环境安装

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
c 复制代码
 extern YYLTYPE yylloc;

6. 编译uboot

bash 复制代码
tar -jxvf uboot-imx-2016.03-2.1.0-g0ae7e33-v1.7.tar.bz2
./build.sh
相关推荐
不能跑的代码不是好代码6 小时前
Linux系统常用命令中文速查表
linux·运维·服务器
石一峰6997 小时前
深入理解 Linux 中断三层机制与 1-Wire 时序锁原理
linux·运维·服务器
无限码农8 小时前
Linux上通过cmake编译uchardet
linux·运维·服务器
运维大师9 小时前
【Linux运维极简教程】06-网络配置与管理
linux·运维
探索云原生12 小时前
终于搞懂 Kueue:5 个核心对象一次讲透
linux·docker·ai·云原生·kubernetes
An_s13 小时前
机器学习python之识别图中物品信息
java·linux·开发语言
Championship.23.2413 小时前
Linux 3.0 LVDS驱动开发详解
linux·运维·驱动开发·lvds
风向决定发型丶14 小时前
Shell中的特殊变量
linux·运维·bash
mounter62515 小时前
走向长时运行:引入协程(Coroutines),打破 BPF 程序的“一堂到底”限制
linux·ebpf·kernel
运维大师15 小时前
【Linux运维极简教程】05-软件包管理
linux·运维·服务器