飞思卡尔 armhf iMX6Q 主板无法使用内核 5.10 或更高版本启动

飞思卡尔 armhf iMX6Q 主板无法使用内核 5.10 或更高版本启动

我正在将使用 iMX6Q Freescale 处理器的主板上的内核从版本 3.17.0-rc4 升级到最新内核版本,但主板未完成启动。

我按照以下步骤使用 Debian 10 进行交叉编译:

cp arch/arm/configs/imx_v6_v7_defconfig .config
make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabihf- menuconfig
make -j`nproc` ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabihf- -k zImage modules

然后将 zImage 和模块复制到 boot 和 root 分区。

我的 uEnv.txt 文件是:

loadaddr=0x10008000
fdtaddr=0x18000000

fdtfile=imx6q-CIO100X50V01.dtb

console=ttymxc1,115200n8
optargs=console=ttyS0 quiet systemd.show_status=false
ethaddr=70:B3:D5:16:20:00

mmcroot=/dev/mmcblk0p2 ro
mmcrootfstype=ext4 rootwait fixrtc

loadkernel=load mmc ${mmcdev}:${mmcpart} ${loadaddr} zImage
loadinitrd=load mmc ${mmcdev}:${mmcpart} 0x12A00000 initrd.img; setenv initrd_size ${filesize}
loadfdt=load mmc ${mmcdev}:${mmcpart} ${fdtaddr} /${fdtfile}

#zImage/initrd.img:
#boot_fdt=run loadkernel; run loadinitrd; run loadfdt

#zImage:
boot_fdt=run loadkernel; run loadfdt

mmcargs=setenv bootargs console=${console} ${optargs} root=${mmcroot} rootfstype=${mmcrootfstype} video=${video} ethaddr=${ethaddr}

#zImage:
uenvcmd=run boot_fdt; run mmcargs; bootz ${loadaddr} - ${fdtaddr}

我在尝试使用内核版本 5.13.12 时收到此消息,然后启动冻结:

U-Boot 2016.07-rc1-g0b9fdb5-dirty (Oct 20 2016 - 15:57:37 +0200)

CPU:   Freescale i.MX6Q rev1.2 at 792 MHz
Reset cause: POR
Board: SABRE Lite
I2C:   ready
DRAM:  512 MiB
force_idle_bus: sda=0 scl=0 sda.gp=0xcb scl.gp=0x5
force_idle_bus: failed to clear bus, sda=0 scl=0
MMC:   FSL_SDHC: 0, FSL_SDHC: 1
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   No ethernet found.
Hit any key to stop autoboot:  0 
switch to partitions #0, OK
mmc0(part 0) is current device
280 bytes read in 32 ms (7.8 KiB/s)
Running bootscript from mmc ...
## Executing script at 12000000
6x_bootscript -> uEnv.txt wrapper...
787 bytes read in 49 ms (15.6 KiB/s)
10801304 bytes read in 38345 ms (274.4 KiB/s)
33124 bytes read in 52 ms (622.1 KiB/s)
Kernel image @ 0x10008000 [ 0x000000 - 0xa4d098 ]
## Flattened Device Tree blob at 18000000
   Booting using the fdt blob at 0x18000000
   Using Device Tree in place at 18000000, end 1800b163

Starting kernel ...


[    0.224790] debugfs: Directory 'dummy-iomuxc-gpr@20e0000' with parent 'regmap' already present!

我尝试过其他内核版本,没有遇到问题(例如 4.19 或 5.9),但由于某种原因,大于或等于 5.10 的内核版本会冻结启动。

我想过只使用5.9内核版本,但我有点咸,因为我不知道这是怎么回事,也不知道如何调试正在发生的事情。这是我可以做的事情来调试正在发生的事情还是我可以尝试的事情?

也许由于某种原因 iMX6Q 与大于 5.10 的内核不兼容?我已经搜索过但找不到任何东西。

相关内容