0

arm imx28 システムに問題があります。Linux カーネル 5.10.50 を使用しており、次の boot.scr で U-Boot を使用しています。

setenv mtdparts "mtdparts="gpmi-nand:3m(bootloader)ro,512k(environment),512k(redundant-environment),8m(kernel),512k(fdt),8m(ramdisk),120m(filesystem),-(data)"";
setenv nandargs "setenv bootargs console=${console_mainline},${baudrate} rootfstype=ubifs ubi.mtd=6 root=ubi0_0 ${mtdparts}";
setenv mmcroot "/dev/mmcblk0p3";
setenv nandboot "mtdparts default; run nandargs; nand read ${loadaddr} kernel 0x00600000; if test ${boot_fdt} = yes; then nand read ${fdt_addr} fdt 0x00080000; bootz ${loadaddr} - ${fdt_addr}; else if test ${boot_fdt} = no; then bootz; else echo \"ERROR: Set boot_fdt to yes or no.\"; fi; fi";
setenv nandinstall "nand device 0; nand erase.part environment; nand erase.part redundant-environment; run update_nand_firmware_full; run update_nand_fdt; run update_nand_kernel; run update_nand_filesystem;
setenv -f bootcmd run nandboot; saveenv";
run nandinstall; run nandboot

カーネルが起動すると、次の行が表示されます。

8 cmdlinepart partitions found on MTD device gpmi-nand
Creating 8 MTD partitions on "gpmi-nand":
0x000000000000-0x000000300000 : "bootloader"
0x000000300000-0x000000380000 : "environment"
 0x000000380000-0x000000400000 : "redundant-environment"
0x000000400000-0x000000c00000 : "kernel"
0x000000c00000-0x000000c80000 : "fdt"
0x000000c80000-0x000001480000 : "ramdisk"
0x000001480000-0x000008c80000 : "filesystem"
0x000008c80000-0x000010000000 : "data"

つまり、カーネルはブート パラメータを正しく解釈します。

しかし、少し後に、次の行が際限なく繰り返されていることがわかります。

ubi0 warning: ubi_io_read: error -74 (ECC error) while reading 64 bytes from PEB 0:0, read only 64 bytes, retry

など 4回以上

CPU: 0 PID: 1 Comm: swapper Not tainted 5.10.50
Hardware name: Freescale MXS (Device Tree)
[<c0010084>] (unwind_backtrace) from [<c000dea4>] (show_stack+0x10/0x14)
 [<c000dea4>] (show_stack) from [<c03ce4fc>] (ubi_io_read+0x110/0x2f0)
[<c03ce4fc>] (ubi_io_read) from [<c03ce900>] (ubi_io_read_ec_hdr+0x44/0x244)

Linux カーネル 4.14.67 でも同じ状況が見られます。エラーはカーネル関連ではなく、u-boot 関連であると結論付けています。

エラーの原因をどの方向から探す必要があるか教えてください。十分な情報がない場合は、何を追加するかを書いてください。ありがとうございました。

4

1 に答える 1

0

uboot-2017.11/include/configs/mx28evk.h ファイルに 1 行追加する必要がある解決策を見つけました

#define CONFIG_SYS_NAND_ONFI_DETECTION
于 2021-08-11T11:43:42.820 に答える