imx8qm系统安装

489 阅读1分钟

一、代码&&工具

1. linux源码下载

git clone -b toradex_5.4-2.1.x-imx git://git.toradex.cn/linux-toradex.git

2. 交叉编译工具链

ftp://ftp.toradex.cn/Linux/toolchain/gcc-9.2/64bit_Arm/gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu.tar.xz

3. uboot

git clone -b toradex_imx_v2020.04_5.4.24_2.1.0 git://git.toradex.cn/u-boot-toradex.git

二、linux源码编译

1. 修改顶层Makefile指定交叉编译工具

ARCH		?= arm64
CROSS_COMPILE	?= aarch64-none-linux-gnu-

2. 配置

export PATH=$PATH:/usr/local/arm64/gcc-arm-9.2/bin
make defconfig
/* 编译显示缺少什么安装什么 */
sudo apt-get install flex
sudo apt-get install bison

3. 编译

make -j4

三、设备树

1. 设备树架构

顶层dts: arch/arm64/boot/dts/freescale/imx8qm-apalis-ixora-v1.1.dts
底板层dtsi:arch/arm64/boot/dts/freescale/imx8qm-apalis-ixora-v1.1.dtsi
核心板层dtsi1:arch/arm64/boot/dts/freescale/imx8qm-apalis.dtsi
核心板层dtsi2:arch/arm64/boot/dts/freescale/imx8qm-apalis-v1.1.dtsi
芯片层dtsi:arch/arm64/boot/dts/freescale/imx8qm.dtsi
引脚描述头文件:include/dt-bindings/pinctrl/pads-imx8qm.h

2. 编译设备树

在arch/arm64/boot/dts/freescale/Makefile中添加预编译得dts文件,编译:

make dtbs

四、从网络加载

1.修改uboot环境变量

setenv ipaddr 192.168.2.22
setenv serverip 192.168.2.31
setenv netmask 255.255.255.0
setenv gatewayip 192.168.2.1
saveenv

//修改延时为5s
setenv bootdelay 5

//建立挂载命令
setenv netArgs 'setenv bootargs 'console=ttyLP1 earlycon,115200 root=/dev/mmcblk0p2 rootwait rw''
setenv netDtb nDtb.dtb
setenv netImage nImage
setenv net_load_image 'run netArgs;tftp ${loadaddr} ${netImage}; tftp ${fdt_addr_r} ${netDtb}; booti ${loadaddr} - ${fdt_addr_r}'

测试能否PING通。