“MYZR-IMX8M-EK300 Linux-4.14.98 编译参考手册”的版本间的差异
来自明远智睿的wiki
第1行: | 第1行: | ||
− | + | ## MY-i.MX8M Linux 编译手册 | |
− | ## | + | ### 1. 安装交叉编译工具 |
− | + | ||
− | + | - 创建目录 | |
− | + | ||
− | mkdir ~/ | + | ```shell |
− | cd ~/ | + | => mkdir ~/myimx8m/gcc-tool -p |
− | + | => cd ~/myimx8m/gcc-tool | |
− | + | ``` | |
− | + | ||
− | + | - 下载交叉编译工具 | |
− | wget https://releases.linaro.org/components/toolchain/binaries/7.3-2018.05/aarch64-linux-gnu/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.tar.xz | + | |
− | + | ```shell | |
− | + | => wget https://releases.linaro.org/components/toolchain/binaries/7.3-2018.05/aarch64-linux-gnu/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.tar.xz | |
− | + | ``` | |
− | + | ||
− | tar | + | - 解压交叉编译工具 |
− | + | ||
− | + | ```shell | |
− | + | => tar -xvf gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.tar.xz -C ~/myimx8m/gcc-tool | |
− | + | ``` | |
− | + | ||
+ | - 创建交叉编译工具配置脚本 | ||
+ | |||
+ | ```shell | ||
+ | => vim gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.env | ||
+ | |||
+ | # 输入如下内容 | ||
#!/bin/sh | #!/bin/sh | ||
− | + | export PATH=${HOME}/gcc-tool/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin:${PATH} | |
− | export PATH=${HOME}/ | ||
export ARCH=arm64 | export ARCH=arm64 | ||
export CROSS_COMPILE=aarch64-linux-gnu- | export CROSS_COMPILE=aarch64-linux-gnu- | ||
− | + | ``` | |
+ | |||
+ | ```shell | ||
+ | # 赋予脚本执行权限 | ||
+ | => chmod +x gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.env | ||
+ | ``` | ||
+ | |||
+ | - 配置交叉编译环境变量 | ||
+ | |||
+ | ```shell | ||
+ | => source ~/myimx8m/gcc-tool/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.env | ||
+ | ``` | ||
+ | |||
+ | - 验证安装 | ||
− | + | ```shell | |
− | + | => ${CROSS_COMPILE}gcc -v | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | ${CROSS_COMPILE}gcc -v | ||
− | |||
Using built-in specs. | Using built-in specs. | ||
COLLECT_GCC=aarch64-linux-gnu-gcc | COLLECT_GCC=aarch64-linux-gnu-gcc | ||
第50行: | 第57行: | ||
Thread model: posix | Thread model: posix | ||
gcc version 7.3.1 20180425 [linaro-7.3-2018.05 revision d29120a424ecfbc167ef90065c0eeb7f91977701] (Linaro GCC 7.3-2018.05) | gcc version 7.3.1 20180425 [linaro-7.3-2018.05 revision d29120a424ecfbc167ef90065c0eeb7f91977701] (Linaro GCC 7.3-2018.05) | ||
− | + | ``` | |
+ | |||
+ | |||
+ | |||
+ | ### 2. 内核编译 | ||
+ | |||
+ | #### 2.1 准备源码 | ||
+ | |||
+ | - 创建目录 | ||
+ | |||
+ | ```shell | ||
+ | => mkdir ~/myimx8m/source -p | ||
+ | ``` | ||
+ | |||
+ | - 下载源码 | ||
+ | |||
+ | 打开网盘到 “2.1\_OS\_Linux-4.14.98 -> 02_Source”,下载 “linux-4.14.98.*.tar.bz2”。 | ||
+ | 把源码包复制到虚拟机的 “~/myimx8m/source”,并解压(解压命令如下): | ||
+ | |||
+ | ```shell | ||
+ | => cd ~/myimx8m/source | ||
+ | => tar -xvf linux-4.14.98.*.tar.bz2 | ||
+ | ``` | ||
+ | |||
+ | - 进入内核源码目录 | ||
+ | |||
+ | ```shell | ||
+ | => cd ~/myimx8m/source/linux-4.14.98 | ||
+ | ``` | ||
+ | |||
+ | - 配置交叉编译环境 | ||
+ | |||
+ | ```shell | ||
+ | => source ~/myimx8m/gcc-tool/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.env | ||
+ | ``` | ||
+ | |||
+ | #### 2.2 编译内核目标文件 | ||
+ | |||
+ | - 生成目标.config文件 | ||
+ | |||
+ | ```shell | ||
+ | => make myimx8mq_defconfig | ||
+ | ``` | ||
+ | |||
+ | - 编译内核目标文件 | ||
+ | |||
+ | ```shell | ||
+ | => make Image | ||
+ | ``` | ||
+ | |||
+ | - 复制内核目标文件 | ||
+ | |||
+ | ```shell | ||
+ | => cp arch/arm64/boot/Image ./ | ||
+ | ``` | ||
+ | |||
+ | #### 2.3 编译设备树目标文件 | ||
+ | |||
+ | - 根据开发板型号规格配置编译环境变量 | ||
+ | |||
+ | ```shell | ||
+ | => EVK_MODE=myimx8mek300 | ||
+ | => EVK_MPU=8mq | ||
+ | ``` | ||
+ | |||
+ | - 执行编译命令 | ||
+ | |||
+ | ```shell | ||
+ | # MIPI输出 | ||
+ | => make myzr/${EVK_MODE}-${EVK_MPU}.dtb | ||
+ | # HDMI输出 | ||
+ | => make myzr/${EVK_MODE}-${EVK_MPU}-hdmi.dtb | ||
+ | ``` | ||
+ | |||
+ | - 复制设备树目标文件 | ||
+ | |||
+ | ```shell | ||
+ | => cp arch/arm64/boot/dts/myzr/${EVK_MODE}-${EVK_MPU}.dtb ./ | ||
+ | => cp arch/arm64/boot/dts/myzr/${EVK_MODE}-${EVK_MPU}-hdmi.dtb ./ | ||
+ | ``` | ||
+ | |||
+ | #### 2.4 编译内核模块包 | ||
+ | |||
+ | - 执行编译 | ||
+ | |||
+ | ```shell | ||
+ | => make modules | ||
+ | ``` | ||
+ | |||
+ | - 创建内核模块的保存目录 | ||
+ | |||
+ | ```shell | ||
+ | => mkdir modules | ||
+ | ``` | ||
+ | |||
+ | - 安装内核模块到指定目录 | ||
+ | |||
+ | ```shell | ||
+ | => make modules_install headers_install INSTALL_MOD_PATH=./modules | ||
+ | ``` | ||
+ | |||
+ | - 打包内核模块文件 | ||
+ | |||
+ | ```shell | ||
+ | => tar -cjf kernel-modules.tar.bz2 -C modules lib | ||
+ | ``` | ||
+ | |||
+ | #### 2.5 目标文件 | ||
+ | |||
+ | **Image、\*.dtb 和 kernel-modules.tar.bz2 即编译得到的目标文件,保存这些文件** | ||
+ | |||
+ | |||
+ | |||
+ | ### 3. 编译u-boot文件 | ||
+ | |||
+ | #### 3.1 编译前的准备 | ||
+ | |||
+ | - 下载u-boot源码 | ||
+ | |||
+ | 打开网盘到 “2.1\_OS\_Linux-4.14.98 -> 02_Source”,下载 “u-boot-2018.03.*.tar.bz2”。 | ||
+ | |||
+ | 把源码包复制到虚拟机的 “~/myimx8m/source”,并解压(解压命令如下): | ||
+ | |||
+ | ```shell | ||
+ | => cd ~/myimx8m/source | ||
+ | => tar -xvf u-boot-2018.03.*.tar.bz2 | ||
+ | ``` | ||
+ | |||
+ | - 进入uboot源码目录 | ||
+ | |||
+ | ```shell | ||
+ | => cd ~/myimx8m/source/u-boot-2018.03 | ||
+ | ``` | ||
+ | |||
+ | - 配置交叉编译环境变量 | ||
+ | |||
+ | ```shell | ||
+ | => source ~/myimx8m/gcc-tool/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.env | ||
+ | ``` | ||
+ | |||
+ | #### 3.2 编译u-boot目标文件 | ||
+ | |||
+ | - 根据开发板型号规格配置编译环境变量 | ||
− | + | ```shell | |
− | + | => EVK_MODE=myimx8mek300 | |
− | + | => EVK_MPU=8mq | |
− | + | => EVK_MEM=2g | |
− | + | ``` | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | **EVK_MEM:支持的设置为 2g、1g、3g、4g。** | |
− | * | ||
− | |||
− | |||
− | |||
− | + | - 生成目标 .config 文件 | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | ```shell | |
− | + | => make ${EVK_MODE}-${EVK_MPU}-${EVK_MEM}_defconfig | |
− | + | ``` | |
− | |||
− | + | - 编译u-boot目标文件 | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | ```shell | |
− | + | => make | |
− | + | ``` | |
− | |||
− | |||
− | + | - 复制u-boot目标文件 | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | ```shell | |
− | + | => cp arch/arm/dts/${EVK_MODE}-${EVK_MPU}.dtb ./ | |
− | + | ``` | |
− | |||
− | + | #### 3.3 目标文件 | |
− | |||
− | |||
− | |||
− | * | + | **${EVK_MODE}-${EVK_MPU}.dtb、u-boot-nodtb.bin 和 u-boot-spl.bin 即编译得到的目标文件,保存这三个文件,在下一步的 bootloader 编译需要用到** |
− | |||
− | |||
− | |||
− | |||
− | ### | + | #### 3.4 编译BootLoader |
− | |||
− | |||
− | |||
− | |||
− | + | ##### 3.4.1 编译前的准备 | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | - 下载BootLoader编译工具 | |
− | + | 打开网盘到 “2.1\_OS\_Linux-4.14.98 -> 02_Source”,下载 “mkimage-4.14.98.*.tar.bz2”。 | |
− | + | 把源码包复制到虚拟机的 “~/myimx8m/source/”,并解压(解压命令如下): | |
− | |||
− | |||
− | + | ```shell | |
− | + | => cd ~/myimx8m/source | |
− | + | => tar -xvf mkimage-4.14.98.*.tar.bz2 | |
− | + | ``` | |
− | + | - 进入工具目录 | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | ```shell | |
− | + | => cd ~/myimx8m/source/mkimage-4.14.98 | |
− | + | ``` | |
− | |||
− | |||
− | + | - 根据开发板型号规格配置编译环境变量 | |
− | |||
+ | ```shell | ||
+ | => EVK_MODE=myimx8mek300 | ||
+ | => EVK_MPU=8mq | ||
+ | => EVK_MEM=2g | ||
+ | => EVK_SOC=iMX8M | ||
+ | ``` | ||
− | + | **EVK_MEM:支持的设置为 2g、1g、3g、4g;** | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | - 复制依赖文件 | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | 把u-boot编译得到的三个文件复制过来。 | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | ```shell | |
− | + | => cp ../u-boot-2018.03/u-boot-nodtb.bin \ | |
− | + | ./iMX8M/${EVK_MODE}-${EVK_MPU}-${EVK_MEM}-nodtb.bin | |
− | + | => cp ../u-boot-2018.03/spl/u-boot-spl.bin \ | |
− | + | ./iMX8M/${EVK_MODE}-${EVK_MPU}-${EVK_MEM}-spl.bin | |
− | + | => cp ../u-boot-2018.03/${EVK_MODE}-${EVK_MPU}.dtb \ | |
− | + | ./iMX8M/${EVK_MODE}-${EVK_MPU}.dtb | |
− | + | ``` | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | ## | + | ##### 3.4.2 编译BootLoader目标文件 |
− | ### | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | - 输入编译指令 | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | ```shell | |
− | + | => make SOC=${EVK_SOC} ${EVK_MODE} OUTIMG=${EVK_MODE}-${EVK_MPU}-${EVK_MEM}.bin | |
− | + | ``` | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | == | ||
− | |||
− | |||
− | |||
− | |||
+ | - 复制BootLoader目标文件 | ||
+ | ```shell | ||
+ | => cp ./iMX8M/${EVK_MODE}-${EVK_MPU}-${EVK_MEM}.bin ./${EVK_MODE}-${EVK_MPU}.bin | ||
+ | ``` | ||
− | ## | + | ##### 3.4.3 目标文件 |
− | ### | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | **${EVK_MODE}-${EVK_MPU}.bin 即编译得到的目标文件,保存这个文件** | |
− | |||
Web: http://www.myzr.com.cn/ | Web: http://www.myzr.com.cn/ |
2020年4月28日 (二) 18:03的版本
MY-i.MX8M Linux 编译手册
1. 安装交叉编译工具
- 创建目录
<code class="shell">=> mkdir ~/myimx8m/gcc-tool -p => cd ~/myimx8m/gcc-tool </code>
- 下载交叉编译工具
<code class="shell">=> wget https://releases.linaro.org/components/toolchain/binaries/7.3-2018.05/aarch64-linux-gnu/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.tar.xz </code>
- 解压交叉编译工具
<code class="shell">=> tar -xvf gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.tar.xz -C ~/myimx8m/gcc-tool </code>
- 创建交叉编译工具配置脚本
<code class="shell">=> vim gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.env # 输入如下内容 #!/bin/sh export PATH=${HOME}/gcc-tool/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin:${PATH} export ARCH=arm64 export CROSS_COMPILE=aarch64-linux-gnu- </code>
<code class="shell"># 赋予脚本执行权限 => chmod +x gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.env </code>
- 配置交叉编译环境变量
<code class="shell">=> source ~/myimx8m/gcc-tool/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.env </code>
- 验证安装
<code class="shell">=> ${CROSS_COMPILE}gcc -v Using built-in specs. COLLECT_GCC=aarch64-linux-gnu-gcc COLLECT_LTO_WRAPPER=/home/myzr/my-work/03_toolchain/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin/../libexec/gcc/aarch64-linux-gnu/7.3.1/lto-wrapper Target: aarch64-linux-gnu Configured with: '/home/tcwg-buildslave/workspace/tcwg-make-release/builder_arch/amd64/label/tcwg-x86_64-build/target/aarch64-linux-gnu/snapshots/gcc.git~linaro-7.3-2018.05/configure' SHELL=/bin/bash --with-mpc=/home/tcwg-buildslave/workspace/tcwg-make-release/builder_arch/amd64/label/tcwg-x86_64-build/target/aarch64-linux-gnu/_build/builds/destdir/x86_64-unknown-linux-gnu --with-mpfr=/home/tcwg-buildslave/workspace/tcwg-make-release/builder_arch/amd64/label/tcwg-x86_64-build/target/aarch64-linux-gnu/_build/builds/destdir/x86_64-unknown-linux-gnu --with-gmp=/home/tcwg-buildslave/workspace/tcwg-make-release/builder_arch/amd64/label/tcwg-x86_64-build/target/aarch64-linux-gnu/_build/builds/destdir/x86_64-unknown-linux-gnu --with-gnu-as --with-gnu-ld --disable-libmudflap --enable-lto --enable-shared --without-included-gettext --enable-nls --with-system-zlib --disable-sjlj-exceptions --enable-gnu-unique-object --enable-linker-build-id --disable-libstdcxx-pch --enable-c99 --enable-clocale=gnu --enable-libstdcxx-debug --enable-long-long --with-cloog=no --with-ppl=no --with-isl=no --disable-multilib --enable-fix-cortex-a53-835769 --enable-fix-cortex-a53-843419 --with-arch=armv8-a --enable-threads=posix --enable-multiarch --enable-libstdcxx-time=yes --enable-gnu-indirect-function --with-build-sysroot=/home/tcwg-buildslave/workspace/tcwg-make-release/builder_arch/amd64/label/tcwg-x86_64-build/target/aarch64-linux-gnu/_build/sysroots/aarch64-linux-gnu --with-sysroot=/home/tcwg-buildslave/workspace/tcwg-make-release/builder_arch/amd64/label/tcwg-x86_64-build/target/aarch64-linux-gnu/_build/builds/destdir/x86_64-unknown-linux-gnu/aarch64-linux-gnu/libc --enable-checking=release --disable-bootstrap --enable-languages=c,c++,fortran,lto --build=x86_64-unknown-linux-gnu --host=x86_64-unknown-linux-gnu --target=aarch64-linux-gnu --prefix=/home/tcwg-buildslave/workspace/tcwg-make-release/builder_arch/amd64/label/tcwg-x86_64-build/target/aarch64-linux-gnu/_build/builds/destdir/x86_64-unknown-linux-gnu Thread model: posix gcc version 7.3.1 20180425 [linaro-7.3-2018.05 revision d29120a424ecfbc167ef90065c0eeb7f91977701] (Linaro GCC 7.3-2018.05) </code>
2. 内核编译
2.1 准备源码
- 创建目录
<code class="shell">=> mkdir ~/myimx8m/source -p </code>
- 下载源码
打开网盘到 “2.1_OS_Linux-4.14.98 -> 02_Source”,下载 “linux-4.14.98.*.tar.bz2”。
把源码包复制到虚拟机的 “~/myimx8m/source”,并解压(解压命令如下):
<code class="shell">=> cd ~/myimx8m/source => tar -xvf linux-4.14.98.*.tar.bz2 </code>
- 进入内核源码目录
<code class="shell">=> cd ~/myimx8m/source/linux-4.14.98 </code>
- 配置交叉编译环境
<code class="shell">=> source ~/myimx8m/gcc-tool/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.env </code>
2.2 编译内核目标文件
- 生成目标.config文件
<code class="shell">=> make myimx8mq_defconfig </code>
- 编译内核目标文件
<code class="shell">=> make Image </code>
- 复制内核目标文件
<code class="shell">=> cp arch/arm64/boot/Image ./ </code>
2.3 编译设备树目标文件
- 根据开发板型号规格配置编译环境变量
<code class="shell">=> EVK_MODE=myimx8mek300 => EVK_MPU=8mq </code>
- 执行编译命令
<code class="shell"># MIPI输出 => make myzr/${EVK_MODE}-${EVK_MPU}.dtb # HDMI输出 => make myzr/${EVK_MODE}-${EVK_MPU}-hdmi.dtb </code>
- 复制设备树目标文件
<code class="shell">=> cp arch/arm64/boot/dts/myzr/${EVK_MODE}-${EVK_MPU}.dtb ./ => cp arch/arm64/boot/dts/myzr/${EVK_MODE}-${EVK_MPU}-hdmi.dtb ./ </code>
2.4 编译内核模块包
- 执行编译
<code class="shell">=> make modules </code>
- 创建内核模块的保存目录
<code class="shell">=> mkdir modules </code>
- 安装内核模块到指定目录
<code class="shell">=> make modules_install headers_install INSTALL_MOD_PATH=./modules </code>
- 打包内核模块文件
<code class="shell">=> tar -cjf kernel-modules.tar.bz2 -C modules lib </code>
2.5 目标文件
Image、*.dtb 和 kernel-modules.tar.bz2 即编译得到的目标文件,保存这些文件
3. 编译u-boot文件
3.1 编译前的准备
- 下载u-boot源码 打开网盘到 “2.1_OS_Linux-4.14.98 -> 02_Source”,下载 “u-boot-2018.03.*.tar.bz2”。 把源码包复制到虚拟机的 “~/myimx8m/source”,并解压(解压命令如下):
<code class="shell">=> cd ~/myimx8m/source => tar -xvf u-boot-2018.03.*.tar.bz2 </code>
- 进入uboot源码目录
<code class="shell">=> cd ~/myimx8m/source/u-boot-2018.03 </code>
- 配置交叉编译环境变量
<code class="shell">=> source ~/myimx8m/gcc-tool/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.env </code>
3.2 编译u-boot目标文件
- 根据开发板型号规格配置编译环境变量
<code class="shell">=> EVK_MODE=myimx8mek300 => EVK_MPU=8mq => EVK_MEM=2g </code>
EVK_MEM:支持的设置为 2g、1g、3g、4g。
- 生成目标 .config 文件
<code class="shell">=> make ${EVK_MODE}-${EVK_MPU}-${EVK_MEM}_defconfig </code>
- 编译u-boot目标文件
<code class="shell">=> make </code>
- 复制u-boot目标文件
<code class="shell">=> cp arch/arm/dts/${EVK_MODE}-${EVK_MPU}.dtb ./ </code>
3.3 目标文件
${EVK_MODE}-${EVK_MPU}.dtb、u-boot-nodtb.bin 和 u-boot-spl.bin 即编译得到的目标文件,保存这三个文件,在下一步的 bootloader 编译需要用到
3.4 编译BootLoader
3.4.1 编译前的准备
- 下载BootLoader编译工具 打开网盘到 “2.1_OS_Linux-4.14.98 -> 02_Source”,下载 “mkimage-4.14.98.*.tar.bz2”。 把源码包复制到虚拟机的 “~/myimx8m/source/”,并解压(解压命令如下):
<code class="shell">=> cd ~/myimx8m/source => tar -xvf mkimage-4.14.98.*.tar.bz2 </code>
- 进入工具目录
<code class="shell">=> cd ~/myimx8m/source/mkimage-4.14.98 </code>
- 根据开发板型号规格配置编译环境变量
<code class="shell">=> EVK_MODE=myimx8mek300 => EVK_MPU=8mq => EVK_MEM=2g => EVK_SOC=iMX8M </code>
EVK_MEM:支持的设置为 2g、1g、3g、4g;
- 复制依赖文件 把u-boot编译得到的三个文件复制过来。
<code class="shell">=> cp ../u-boot-2018.03/u-boot-nodtb.bin \ ./iMX8M/${EVK_MODE}-${EVK_MPU}-${EVK_MEM}-nodtb.bin => cp ../u-boot-2018.03/spl/u-boot-spl.bin \ ./iMX8M/${EVK_MODE}-${EVK_MPU}-${EVK_MEM}-spl.bin => cp ../u-boot-2018.03/${EVK_MODE}-${EVK_MPU}.dtb \ ./iMX8M/${EVK_MODE}-${EVK_MPU}.dtb </code>
3.4.2 编译BootLoader目标文件
- 输入编译指令
<code class="shell">=> make SOC=${EVK_SOC} ${EVK_MODE} OUTIMG=${EVK_MODE}-${EVK_MPU}-${EVK_MEM}.bin </code>
- 复制BootLoader目标文件
<code class="shell">=> cp ./iMX8M/${EVK_MODE}-${EVK_MPU}-${EVK_MEM}.bin ./${EVK_MODE}-${EVK_MPU}.bin </code>
3.4.3 目标文件
${EVK_MODE}-${EVK_MPU}.bin 即编译得到的目标文件,保存这个文件
Web: http://www.myzr.com.cn/ Wiki: http://wiki.myzr.com.cn/ BBS: http://bbs.myzr.com.cn/
Tel: 0756-3628023/3628021 E-mail: service@myzr.com.cn </pre>
-------------------------------------------------------------------------------- * 珠海明远智睿科技有限公司 * ZhuHai MYZR Technology CO.,LTD. * Latest Update: 2019/11/08 * Supporter: Tang Bin --------------------------------------------------------------------------------