直接参考【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.81
本文仅作为个人笔记使用,方便进一步记录自己的实践总结。
前几章我们重点讲解了如何移植 uboot 到 I.MX6U-ALPHA 开发板上,从本章开始我们就开始学习如何移植 Linux 内核。同 uboot 一样,在具体移植之前,我们先来学习一下 Linux 内核的顶层 Makefile 文件,因为顶层 Makefile 控制着 Linux 内核的编译流程。
Linux 内核获取
关于 Linux 的起源以及发展历史,这里就不啰嗦了,网上相关的介绍太多了!即使写到这里也只是水一下教程页数而已,没有任何实际的意义。有限的时间还是放到有意义的事情上吧,Linux 由 Linux 基金会管理与发布,Linux 官网为:
所以你想获取最新的Linux 版本就可以在这个网站上下载,网站界面如图 35.1.1 所示:
从图 35.1.1 可以看出最新的稳定版 Linux 已经到了 5.1.4,大家没必要追新,因为 4.x 版本的 Linux 和 5.x 版本没有本质上的区别,5.x 更多的是加入了一些新的平台、新的外设驱动而已。NXP 会从 https://www.kernel.org 下载某个版本的 Linux 内核,然后将其移植到自己的 CPU上,测试成功以后就会将其开放给 NXP 的 CPU 开发者。开发者下载 NXP 提供的 Linux 内核,然后将其移植到自己的产品上。本章的移植我们就使用 NXP 提供的 Linux 源码,NXP 提供 Linux源码已经放到了开发板光盘中,路径为: 开发板光盘->1、例程源码->4、NXP 官方原版 Uboot和 Linux-> linux-imx-rel_imx_4.1.15_2.1.0_ga.tar.bz2
Linux 内核初次编译
编译内核之前需要先在 ubuntu 上安装 lzop 库,否则内核编译会失败!命令如下:
sudo apt-get install lzop先看一下如何编译 Linux 源码,这里编译 I.MX6U-ALPHA 开发板移植好的 Linux 源码,已经放到了开发板光盘中,路径为:开发板光盘->1、例程源码-> 3、正点原子 Uboot 和 Linux 出厂源码-> linux-imx-4.1.15-2.1.0-g8a006db.tar.bz2,注意,正点原子出厂系统在不断的更新,因此压缩包的名字可能不同,一切以实际为准!
在 Ubuntu 中新建名为“ alientek_linux ” 的 文 件夹 , 然 后 将 linux-imx-4.1.15-2.1.0-g8a006db.tar.bz2 这个压缩包拷贝到前面新建的 alientek_linux 文件夹中并解压,命令如下:
tar -vxjf linux-imx-4.1.15-2.1.0-g8a006db.tar.bz2解压完成以后的 Linux 源码根目录如图 35.2.1 所示:
以 EMMC 核心板为例,讲解一下如何编译出对应的 Linux 镜像文件。新建名为“mx6ull_alientek_emmc.sh”的 shell 脚本,然后在这个 shell 脚本里面输入如下所示内容:
示例代码 35.2.1 mx6ull_alientek_emmc.sh 文件内容 1 #!/bin/sh 2 make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean 3 make ARCH=arm CROSS_COMPILE



最低0.47元/天 解锁文章
245

被折叠的 条评论
为什么被折叠?



