This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] Linux/PROCESSOR-SDK-AM335X:NAND 引导带来了糟糕的 Linux ARM zImage 魔法! 误差

Guru**** 2595230 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/587885/linux-processor-sdk-am335x-nand-boot-giving-bad-linux-arm-zimage-magic-error

器件型号:PROCESSOR-SDK-AM335X

工具/软件:Linux

您好!

我正在研究最新的 TI SDK  ti-processor-sdk-linux-am335x-evm-03.02.00.05。

当我单独写入映像时、NAND 引导工作正常。

但是、当我创建完整的 UBIFS 映像时、我 将获得

"错误的 Linux ARM zImage 魔法!"  打开

"bootz ${loadaddr}-${fdtaddr}\0"

这是我的 NANDARGS:

#define NANDARGS \
       "mtdids="" MTDIDS_DEFAULT "\0"\
       "mtdparts="MTDPARTS_DEFAULT "\0"\
       nandargs=setenv bootargs console=${console}"\
               "${optargets}"\
               "root=${nandroot}"\
               "rootfstype=${nandrootfstype}\0"\
       "nandroot=ubi0:rootfs rw ubi.mtd=NAND.file-system、2048\0"\
       "nandrootfstype=ubifs rootwait=1\0"\
       "nandboot=echo Booting from nand...;"\
               "运行 nandargs;"\
               "NAND 读取${fdtaddr}NAND.u-boot-spl-OS;"\
               "NAND 读取${loadaddr}NAND.kernel;"\
               "回波错误现已出现"\
               "bootz ${loadaddr}-${fdtaddr}\0"

这是我的 mtdparts 的输出

=> mtdparts

器件 nand0 ,#部件= 10
 #:姓名                               尺寸                 偏移         MASK_FLAGS
 0:NAND.SPL                        0x00020000     0x00000000     0
 1:NAND.SPL.Backup1            0x00020000     0x00020000     0
 2:NAND.SPL.Backup2             0x00020000     0x00040000     0
 3:NAND.SPL.backup3                     0x00020000     0x00060000     0
 4:NAND.U-BOOT-SPL-OS                    0x00040000     0x00080000     0
5:NAND.u-boot                     0x00080000     0x000c0000     0
 6:NAND.u-boot-env               0x00020000     0x00140000     0
 7:NAND.u-boot-env.Backup1          0x005a0000  0x00160000     0
 8:NAND.kernel                    0x00400000     0x00700000     0
 9:NAND.rootfs                     0x1f500000     0x00b00000     0


活动分区:nand0、0 -(NAND.SPL) 0x00020000 @ 0x00000000

有人能告诉我这个问题吗

谢谢

深度

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    您如何设置:
    "bootpart=0:2\0"\
    "bootdir=/boot\0"\
    您是否遵循了本指南:
    processors.wiki.ti.com/.../UBIFS_Support
    用于创建和将 ubifs 布线到 NAND 中?

    此致、
    Yordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你(们)好

    这是我的配置:

    #ifndef CONFIG_SPL_Build
    #define CONFIG_Extra ENV_SETTINGS \
    DEFAULT_LINUX_BOOT_ENV \
    DEFAULT_MMC_TI_args \
    DEFAULT_FIT TI_args \
    "bootpart=0:2\0"\
    "bootdir=/boot\0"\
    "BootFile=zImage\0"\
    "Fdtfile=AM335x-bonebblack.dTB\0"\
    "console=ttyO3、115200n8\0"\
    "partitions="\
    "uid_disk=${uuid_gppt_disk};"\
    "name=rootfs,start=2MiB, size=-、uuid=${uid_gp_t_rootfs}\0"\
    "Bootz ${loadaddr}${rdaddr}${fdtaddr}\0"\
    "findfdt="\
    "如果 TEST $board_name = A335BONE;则"\
    "setenv fdtfile am335x-bone.dtb;fi;"\
    "如果 TEST $board_name = A335BNLT;则"\
    "setenv fdtfile am335x-bonebblack.dtb;fi;"\
    "如果 test $board_name = BBG1;则"\
    "setenv fdtfile am335x-bonegreen.dtb;fi;"\
    "如果 TEST $board_name = A33515BB;则"\
    "setenv fdtfile am335x-evm.dtb;fi;"\
    "如果 TEST $board_name = A335X_SK;则"\
    "setenv fdtfile am335x-evmsk.dtb;fi;"\
    "如果测试$board_name = A335_ICE;则"\
    "setenv fdtfile am335x-icev2.dtb;fi;"\
    "如果 test $fdtfile =未定义;则"\
    "回显警告:无法确定要使用的设备树;fi;\0"\
    "init_console="\
    "如果 TEST $board_name = A335_ICE;则"\
    "setenv 控制台 ttyO3、115200n8;"\
    "否则"\
    "setenv 控制台 ttyO3、115200n8;"\
    " FI;\0"\
    NANDARGS \
    NETARGS \
    DFUARGS \
    Bootenv


    我已按照上述 NAND 用户指南创建子库并将其连接到 NAND 中。

    谢谢
    深度
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    有人能不能建议我解决这个问题。

    谢谢
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    问题已解决。
    ubifs 存在计算错误

    谢谢