Freescale armhf iMX6Q 마더보드는 커널 5.10 이상을 사용하여 부팅할 수 없습니다.

Freescale 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와 모듈을 부팅 및 루트 파티션에 복사합니다.

내 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 이전 커널과 호환되지 않을까요? 검색했지만 아무것도 찾을 수 없습니다.

관련 정보