MYZR-IMX8M-EVK开发板
从官方处获取了烧录工具,linux镜像,内核源码包和交叉编译等资料,需要的东西都很齐全了,开始今天的学习。
官方为我准备了UUU-MYIMX8M-L4.14.98-Patch.*.rar,UUU-MYIMX8M-L4.14.98烧录工具压缩包,烧录工具中已拥有官方配置好的镜像。
把 “UUU-MYIMX8M-L4.14.98-Patch.*.rar” 解压到 “UUU-MYIMX8M-L4.14.98” 目录。
为开发板断电, 用 USB Type-C 线连接开发板和 PC, 并把开发板的 “Boot Mode” 拨到 “OFF ON”,再给开发板上电。
双击运行 “myimx8mevk-8mq-uuu.bat”,这时候 Windows 命令行窗口会看到如下信息:
烧录完成后, Windows 命令行窗口信息如下:
把开发板断电, “Boot Mode” 拨到 “ON OFF”, 并为开发板上电, 开发板即可正常启动。
在官方配置好的ubuntu中编译开发板linux会比较方便。且下载内核源码包linux-4.14.98..tar.bz2,uboot源码包u-boot-2018.03..tar.bz2及bootloader源码包mkimage-imx4.14.98.*.tar.bz2。
创建工具目录,在工具目录下下载gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.tar.xz交叉编译工具包
下载完毕解压交叉编译工具:
创建交叉编译工具配置脚本,
给予脚本执行的权限,
配置交叉编译环境。
最后检查安装输入:
${CROSS_COMPILE}gcc -v
回复:
。。。。。。
gcc version 7.3.1 20180425 [linaro-7.3-2018.05 revision d29120a424ecfbc167ef90065c0eeb7f91977701] (Linaro GCC 7.3-2018.05)
或者输入echo ${CROSS_COMPILE}gcc
ubuntu打印:
aarch64-linux-gnu-gcc
创建工作目录,将内核源码包linux-4.14.98..tar.bz2,uboot源码包u-boot-2018.03..tar.bz2及bootloader源码包mkimage-imx4.14.98.*.tar.bz2复制到该目录下,并且解压所有包
编译前,首先配置交叉编译环境变量
myzr@u14045:source ~/my-work/03_toolchain/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.env
myzr@u14045:cd ~/my-work/02_source/linux-4.14.98
生成目标.config:
myzr@u14045:make myimx8mq_defconfig
ubuntu打印->configuration written to .config时代表成功生成目标.config。
编译内核镜像
myzr@u14045:make Image -j4
编译结束后
myzr@u14045:cp arch/arm64/boot/Image ./
完成编译内核
myzr@u14045:myzr@u14045:make modules
创建内核模块的保存目录
myzr@u14045:mkdir modules
安装内核模块到指定目录
myzr@u14045:make modules_install headers_install INSTALL_MOD_PATH=./modules
打包内核模块文件
Image、 *.dtb 和 kernel-modules.tar.bz2 即编译得到的目标文件, 保存这三个文件
myzr@u14045:cd ~/my-work/02_source/u-boot-2018.03
编译前,首先配置交叉编译环境变量
myzr@u14045:source ~/my-work/03_toolchain/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.env
然后又是编译三部曲
生成目标 .config 文件
myzr@u14045:make myimx8mevk-8mq_defconfig
编译u-boot目标文件
myzr@u14045:make
复制u-boot目标文件
myzr@u14045:cp arch/arm/dts/myimx8mevk-8mq.dtb ./myimx8mevk.dtb
myimx8mevk.dtb、 u-boot-nodtb.bin 和 u-boot-spl.bin 即编译得到的目标文件, 保存这三个文件, 在下一步的 bootloader 编译需要用到
myzr@u14045:cd ~/my-work/02_source/mkimage-imx_4.14.98
复制依赖文件 把u-boot编译得到的三个文件复制过来。
myzr@u14045:cp …/u-boot-2018.03/u-boot-nodtb.bin ./iMX8M/
myzr@u14045:cp …/u-boot-2018.03/u-boot-spl.bin ./iMX8M/
myzr@u14045:cp …/u-boot-2018.03/myimx8mevk.dtb ./iMX8M/
编译BootLoader目标文件
myzr@u14045:make SOC=iMX8M myimx8mevk OUTIMG=myimx8mevk-8mq.bin
复制BootLoader目标文件
myzr@u14045:cp ./iMX8M/myimx8mevk-8mq.bin ./
myimx8mevk-8mq.bin 即编译得到的目标文件, 保存这个文件。