文章目录

  • 1. 获取 ARM 官方交叉编译工具链
  • 2. 在IMX官网下载IMX6ULL相关资料
  • 3. 下载源码和编译kernel
  • 4. 编译验证kernel
  • 5. 相关文章

1. 获取 ARM 官方交叉编译工具链

在ubuntu linux环境下编译imx6ull Kernel源码时,需要安装对应版本的交叉编译工具链。IMX6ULL的CPU是 32bit ARM v7架构并支持硬件浮点,所以下载 AArch32版本工具链后缀为gnueabihf,地址如下:

https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-a/downloads

解压之后将工具路径添加到环境变量:$ vim ~/.bashrc

export ARCH=arm
export CROSS_COMPILE=arm-none-linux-gnueabihf-
export PATH=$PATH:/opt/ToolChain/gcc-arm-10.2-2020.11-x86_64-arm-none-linux-gnueabihf/bin

验证是否配置成功,输入命令:$ arm-none-linux-gnueabihf-gcc -v。配置成功结果如下:

2. 在IMX官网下载IMX6ULL相关资料

IMX6ULL官网地址如下:
https://www.nxp.com/design/development-boards/i-mx-evaluation-and-development-boards/evaluation-kit-for-the-i-mx-6ull-and-6ulz-applications-processor:MCIMX6ULL-EVK

下载比较新的imx6ull linux开发相关文档:

硬件参考设计:

3. 下载源码和编译kernel

在下载的资料中,我们可以找到《i.MX_Linux_Users_Guide.pdf》文件,它有介绍如何下载code和编译如下:

imx6ull的uboot源码下载和编译:

Download source by cloning with git clone https://source.codeaurora.org/external/imx/uboot-imx -b imx_v2020.04_5.4.70_2.3.0
cd uboot-imx
make clean
make mx6ull_14x14_evk_defconfig
make

imx6ull的kernel源码下载和编译:

Download source by cloning with git clone https://source.codeaurora.org/external/imx/linux-imx -b imx_5.4.70_2.3.0
cd linux-imx
make imx_v7_defconfig
make

4. 编译验证kernel

成功生成内核镜像zImage,如下:

下载后开机log如下:

U-Boot 2020.04 (Jul 05 2021 - 12:25:58 +0800)CPU:   i.MX6ULL rev1.1 792 MHz (running at 396 MHz)
CPU:   Industrial temperature grade (-40C to 105C) at 45C
Reset cause: POR
Model: i.MX6 ULL 14x14 EVK Board
Board: MX6ULL 14x14 EVK
DRAM:  512 MiB
MMC:   FSL_SDHC: 0, FSL_SDHC: 1
Loading Environment from MMC... *** Warning - bad CRC, using default environment[*]-Video Link 0 (1024 x 600)
[0] lcdif@21c8000, video
In:    serial
Out:   serial
Err:   serial
switch to partitions #0, OK
mmc0 is current device
flash target is MMC:0
Net:   eth1: ethernet@20b4000 [PRIME]
Fastboot: Normal
Normal Boot
Hit any key to stop autoboot:  3  2  1  0
switch to partitions #0, OK
mmc0 is current device
switch to partitions #0, OK
mmc0 is current device
8189384 bytes read in 369 ms (21.2 MiB/s)
Booting from mmc ...
35442 bytes read in 17 ms (2 MiB/s)
Kernel image @ 0x80800000 [ 0x000000 - 0x7cf5c8 ]
## Flattened Device Tree blob at 83000000Booting using the fdt blob at 0x83000000Using Device Tree in place at 83000000, end 8300ba71
Modify /soc/aips-bus@2200000/epdc@228c000:status disabled
ft_system_setup for mx6Starting kernel ...[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 5.4.70 (benjamin@ubuntu) (gcc version 9.3.0 (Buildroot -g658cfb3-dirty)) #1 SMP PREEMPT Sun Jul 4 18:28:07 CST 2021
[    0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c5387d
[    0.000000] CPU: div instructions available: patching division code
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] OF: fdt: Machine model: Freescale i.MX6 ULL 14x14 EVK Board
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] Reserved memory: created CMA memory pool at 0x96000000, size 160 MiB
[    0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
[    0.000000] percpu: Embedded 15 pages/cpu s32076 r8192 d21172 u61440
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 129920
[    0.000000] Kernel command line: console=ttymxc0,115200 root=/dev/mmcblk0p2 rootwait rw
[    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 335464K/524288K available (12288K kernel code, 578K rwdata, 4288K rodata, 1024K init, 435K bss, 24984K reserved, 163840K cma-reserved, 0K highmem)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] rcu: Preemptible hierarchical RCU implementation.
[    0.000000] rcu: RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=1.
[    0.000000] Tasks RCU enabled.

5. 相关文章

《【uboot】imx6ull uboot 2020.04源码下载和编译环境配置》

【Linux】imx6ull Kernel 源码下载和编译环境配置相关推荐

  1. Android 8.0源码下载及编译环境搭建

    最近在Ubuntu14.04上下载Android源码遇到的各种问题总结.网上搜到的各种搭建环境的文章,总是会出现一些这样那样的问题. 1.Ubuntu14.04镜像下载地址 Ubuntu14.04 2 ...

  2. Android kernel源码下载与编译

    构建内核 本页详细介绍了为 Android 设备构建自定义内核的流程.以下说明会逐步指导您如何选择正确的源代码,编译内核,以及将结果嵌入到根据 Android 开源项目 (AOSP) 编译的系统映像中 ...

  3. vc6可编译的 linux 源码,winpcap+vc6编译环境配置,以及获取网络设备列表的源代码...

    winpcap学习手记 (By 风色鸟) winpcap要使用VC6 第一次使用VC6,真的觉得配置很烦,而且觉得不可见.不可控.相比,还是喜欢linux下面的makefile. 尽管如此,还是需要把 ...

  4. 《深入理解Android内核设计思想(第2版)(上下册)》之Android源码下载及编译

    本文摘自人民邮电出版社异步社区<深入理解Android内核设计思想(第2版)(上下册)> 购书地址:http://item.jd.com/12212640.html 试读地址:http:/ ...

  5. 《深入理解Android内核设计思想(第2版)(上下册)》之Android源码下载及编译...

    本文摘自人民邮电出版社异步社区<深入理解Android内核设计思想(第2版)(上下册)> 购书地址:item.jd.com/12212640.ht- 试读地址:www.epubit.com ...

  6. Android 4.0.1 源码下载,编译和运行

    [牛人分享]Android 4.0.1 源码下载,编译和运行 转自 http://blog.csdn.net/rambo2188/article/details/6943382 ----------- ...

  7. android源码下载以及编译自己的ROM

    android源码下载以及编译自己的ROM 最近发现kernel.org被墙了,为什么这种网站也能被墙了? 要想下载源码的话,只能绕过去了.下面是我从网上搜索到的一些下载方法: =========== ...

  8. Android12 源码下载、编译、刷机、单编调试Framework

    文章目录 说明 1. 代码下载 1.1 下载Repo工具 1.2 安装和配置Git 1.3 创建工程目录 1.4 初始化Repo仓库 1.5 同步代码 2. 驱动下载 2.1 下载对应机型的驱动 2. ...

  9. SELinux零知识学习四、Audit应用层源码下载、编译和安装

    接前一篇文章:SELinux零知识学习三.SELinux应用层源码下载.编译和安装 在前篇文章中编译SELinux源码时,出现了如下错误: seusers_local.c:11:10: 致命错误:li ...

  10. 从零开始成为GStreamer专家——基于Windows的GStreamer从源码下载、编译到开发

    基于Windows的GStreamer从源码下载.编译到开发 本文介绍了在GStreamer下载方法, 使用过程中的部分依赖,以及在Windows上编译配置GStreamer 过程,为学习GStrea ...

最新文章

  1. NLP(5) | 命名实体识别
  2. Linux 基础 - 磁盘管理 -06
  3. oracle 怎么创建约束,Oracle创建约束
  4. TDOA定位的Chan算法MATLAB源代码
  5. eclipse 3.6的VE配置 Visual Editor for eclipse3.6
  6. 2017年10月07日普及组 蚂蚁
  7. 【C++】智能指针 Smart Pointer
  8. Java 文件操作 File 及 RandomAccessFile
  9. mfc cimage加载显示图片_在微信小程序里实现图片预加载组件
  10. modf函数C语言,C / C ++中的modf()
  11. C#微信公众号开发系列教程二(新手接入指南)
  12. CSS选择器的种类使用
  13. 面试官:new Object[5] 一共创建了几个对象?
  14. 佳缘男的计算机软件出差,交友我在世纪佳缘认识了一个男人,今年32岁,通信接近一个月,觉得 爱问知识人...
  15. unity 接入谷歌广告
  16. Latex 学术撰写工具推荐(在线、Windows、Mac、Linux)
  17. 纯CSS实现瀑布流布局
  18. 窗体泄漏错误has leaked window android.widget
  19. cisco packet tracer 介绍
  20. NFC通信基本原理 主动和被动通信

热门文章

  1. OCiOS开发:汉字转拼音
  2. 读《别在该努力的年纪,徘徊不前》有感
  3. ipad能不能编写python_【已解决】用ipad编写python代码
  4. Netty和Tomcat有什么区别
  5. CentOS — 文本编辑器
  6. 跑路潮来临:解散社群,深夜遁逃,卷走百亿资金
  7. 超全——一般照片、图片的尺寸、大小、像素
  8. php获得视频文件扩展名,php 获取文件扩展名的 n 种方法
  9. iphone 模拟器截图
  10. 查看linux的ubuntu版本,查看Ubuntu版本