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:TDA2PXEVM 引导错误

Guru**** 2595805 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/738601/linux-tda2pxevm-boot-error

主题中讨论的其他器件:DRA752

工具/软件:Linux

错误现象:

从 eMMC 引导...
##从 Legacy Image 中引导内核,地址为82000000...
  映像名称:  Linux uImage
  映像类型:  ARM Linux 内核映像(未压缩)
  数据大小:   3560040字节= 3.4 mib
  加载地址:80008000
  入口点: 80008000
  正在验证校验和... 好的
##正在从传统映像加载 init Ramdisk,地址为82000000...
  映像名称:  Linux uImage
  映像类型:  ARM Linux 内核映像(未压缩)
  数据大小:   3560040字节= 3.4 mib
  加载地址:80008000
  入口点: 80008000
  正在验证校验和... 好的
无 Linux ARM Ramdisk 映像
RAMDISK 映像损坏或无效

UBoot 参数:

=>印刷版
arch = ARM
args_fit=setenv bootargs console=${console}
args_mmc=run finduid;setenv bootargs console=${console}${optargets}root=PARTUUID =${uuid}rw rootfstype=${mmcrootfstype}
波特率=115200
电路板=dra7xx
Board_name=dra7xx
Board_rev=H.0
BOOT_FDT=尝试
BOOT_FIT = 0
BOOT_OS=0
BOOT_PART=9
bootargs=console=ttyO0、115200n8 root=PARTUUID =caf11011-02 RW rootfstype=ext4等待

bootcmd=if test ${dofastboot}-eq 1;then echo Boot fastboot requested、resetting dofastboot ...;setenv dofastboot 0;saveenv;echo Booting into fastboot ...;fastboot 0;fi;
如果测试${boot_fit}-eq 1;然后运行 update_to _fit;fi;运行 findfdt;运行 envboot;运行 mmcboot;运行 eMMC_Android_boot;

BOOTDELAY=2
bootdir=/boot
bootenvfile=uEnv.txt
BootFile=uImage
BOOTM_SIZE=0x10000000
bootpart=0:2
bootscript=echo 正在从 MMC${mmcdev}...;源${loadaddr}运行的 bootscript
console=ttyO0、115200n8
CPU=armv7
devtype=MMC

dfu_alt_info_eMMc=rawemmc raw 0 3751936;引导部分1;rootfs 部分1 2;mlo fat 1;ml.raw 0x100 0x100;u-boot.img.raw 0x300 0x1000;u-env.raw 0x1300 0x200;
SPL-OS-args.raw 0x1500 0x200;spl-OS-image.raw 0x1700 0x6900;spl-OS-args fat 1;spl-OS-image fat 1;u-boot.img fat 1;uEnv.txt fat 1

dfu_alt_info_mmc=boot part 0 1;rootfs part 0 2;mlo fat 0 1;ml.raw 0x100 0x100;u-boot.img.raw 0x300 0x1000;u-env.raw 0x1300 0x200;spl-os-args.raw 0x1500 0x200;
SPL-OS-IMAGE.RAW 0x1700 0x6900;spl-OS-args fat 0 1;spl-OS-image fat 0 1;u-boot.img fat 0 1;uEnv.txt fat 0 1

DFU_alt_INFO_QSPI=MLO RAW 0x0 0x040000;u-boot.img RAW 0x040000 0x0100000;u-boot-spl-OS RAW 0x140000 0x080000;u-boot-env RAW 0x1C0000 0x010000;
u-boot-env.backup raw 0x1D0000 0x010000;内核 raw 0x1E0000 0x800000

dfu_alt_info_ram=内核 ram 0x80200000 0x4000000;fdt ram 0x80f80000 0x80000;ramdisk ram 0x81000000 0x4000000
DFU_bufsiz=0x10000
dofastboot=0

eMMC_Android_boot=setenv eval_bootargs setenv bootargs $bootargs;运行 eval_bootargs;setenv mmcdev 1;setenv FDT_part 3;setenv boot_part 9;
如果测试$reboot_image = recovery;则 setenv boot_part 8;setenv reboot_image boot;saveenv;fi;
setenv machid fe6;MMC dev $mmcdev;MMC 重新扫描;部件启动 MMC ${mmcdev}${FDT_part}FDT_start;部件尺寸 MMC ${mmcdev}${FDT_part}FDT_SIZE;
器件启动 MMC ${mmcdev}${boot_part}boot_start;器件尺寸 MMC ${mmcdev}${boot_part}boot_size;MMC 读取${fdtaddr}${FDT_start}${FDT_size};
MMC 读取${loadaddr}${boot_start}${boot_size};从 eMMC 回显引导...;bootm $loadaddr $loadaddr $fdtaddr;

envboot=MMC dev ${mmcdev};如果 MMC 重新扫描、则回显在器件${mmcdev}上找到的 SD/MMC;
如果运行 loadbootscript;然后运行 bootscript;否则运行 loadbootenv;然后从${bootenvfile}回显已加载的 env;运行 importbootenv;fi;
如果测试-n $uvencmd;然后回显正在运行的 uvencmd……;运行 uvencmd;fi;fi;fi;fi;

ethaddr=0c:B2:B7:F6:82:E6
eval_bootargs=setenv bootargs console=ttyO0、115200n8 root=PARTUUUUID=caf11011-02 RW rootfstype=ext4 rootwait
FASTBOOT.board_rev=H.0
FASTBOOT.CPU=DRA752
fastboot.secure=GP
fastboot.userdata_size=unknown
FDT_addr_r=0x88000000
FDT_PART=3
fdtaddr=0x88000000
fdtcontrolladdr=fdf0a598
fdtfile=dra7-evm.dtb
fileaddr=88000000
filesize=1a713

findfdt=if test $board_name = omap5_uevm;然后 setenv fdtfile omap5-uevm.dtb;fi;
如果 test $board_name = dra7xx;则 setenv fdtfile dra7-evm.dtb;fi;
如果 test $board_name = dra72x-revc;则 setenv fdtfile dra72-EVM-revc.dtb;fi;
如果 test $board_name = dra72x;则 setenv fdtfile dra72-evm.dtb;fi;
如果 test $board_name = dra71x;则 setenv fdtfile dra71-evm.dtb;fi;
如果 test $board_name = dra76x;则 setenv fdtfile dra76-evm.dtb;fi;
如果 test $board_name = beagle_x15;则 setenv fdtfile am57xx-beagle-x15.dtb;fi;
如果 test $board_name = beagle_x15_revb1;则 setenv fdtfile am57xx-beagle-x15-revb1.dtb;fi;
如果 test $board_name = am57xx_evm;则 setenv fdtfile am57xx-evm.dtb;fi;
如果 test $board_name = am57xx_evm_reva3;则 setenv fdtfile am57xx-evm-reva3.dtb;fi;
如果 test $board_name = am572x_idk && test $idk_LCD =否;则 setenv fdtfile am572x-idk.dtb;fi;
如果 test $board_name = am572x_idk && test $idk_LCD = osd101t2045;则 setenv fdtfile am572x-idk-lcd-dosd.dtb;fi;
如果 test $board_name = am572x_idk && test $idk_LCD = osd101t2587;则 setenv fdtfile am572x-idk-lcd-osd101t2587.dtb;fi;
如果 test $board_name = am571x_idk && test $idk_LCD =否;则 setenv fdtfile am571x-idk.dtb;fi;
如果 test $board_name = am571x_idk && test $idk_LCD = osd101t2045;则 setenv fdtfile am571x-idk-lcd-dosd.dtb;fi;
如果 test $board_name = am571x_idk && test $idk_LCD = osd101t2587;则 setenv fdtfile am571x-idk-lcd-osd101t2587.dtb;fi;
如果测试$board_findfdt!=未定义;则运行 board_findfdt;fi;
如果 test $fdtfile = undefined;则回显警告:无法确定要使用的设备树;fi;

finduuid=part uuid MMC ${bootpart}uuid
fit_bootfile=fitImage.itb.
fit_loadaddr=0x88000000
importbootenv=echo 从 MMC${mmcdev}导入环境...;env 导入-t ${loadaddr}${filesize}
kernel_addr_r=0x82000000
loadaddr=0x82000000
loadbootenv=fatload MMC ${mmcdev}${loadaddr}${bootenvfile}
loadbootscript=fatload MMC ${mmcdev}${loadaddr}boot.scr
loadfdt=load ${devtype}${bootpart}${fdtaddr}${bootdir}/${fdtfile}
loadfit=run args_fit;bootm ${loadaddr}#${fdtfile};
loadimage=load MMC ${bootpart}${loadaddr}${bootdir}/${bootfile}
machid=fe6

mmcboot=if MMC dev ${mmcdev};然后 setenv devtype MMC;如果 MMC 重新扫描;然后回显在器件${mmcdev}上找到的 SD/MMC;
如果运行 loadimage;然后运行 loadfdt;从 mmc${mmcdev}回显引导...;运行 args_mmc;bootz ${loadaddr}-${fdtaddr};fi;fi;fi;fi;fi;

mmcdev=1

mmclaros=run args_mmc;如果测试${boot_FDT}= yes ||测试${boot_FDT}=试用;如果运行 loadfdt;则 bootz ${loadaddr}-${fdtaddr};
否则、如果 TEST ${BOOT_FDT}= Try;then bootz;else echo warn:cannot load the DT;fi;fi;else bootz;fi;

mmcrootfstype=ext4 rootwait
netargs=setenv bootargs console=${console}${optargets}root=/dev/nfs nfsroot=${serverip}:${rootpath}、${nfsopts}RW IP=DHCP
netboot=echo Booting from network...;setenv autoload no;dhcp;run netloadimage;run netloadfdt; 运行 netargs;bootz ${loadaddr}-${fdtaddr}
netloadfdt=tftp ${fdtaddr}${fdtfile}
netloadimage=tftp ${loadaddr}${bootfile}
nfsopts=nolock
partitions=uuid_disk=${uid_gppt_disk};name=rootfs、start=2MiB、size=-、uid=${uid_gppt_rootfs}

partitions_android=uuid_disk=${uid_gppt_disk};name=xloader、start=128K、size=256K、uid=${uid_gppt_xloader};
NAME=bootloader、size=2304K、uid=${uuid_gppt_bootloader};name=environment、size=256K、uid=${uid_gppt_environment};name=MiSC、size=128K、uid=${uid_gppt_misch};
NAME=reserved、size=384K、uid=${uuid_gppt_reserved};name=EFS、size=16M、uid=${uid_gppt_EFS};name=crypto、size=16K、uid=${uid_gppt_crypto};
name=recovery,size=30M,uid=${uuid_gppt_recovery};name=boot,size=10M,uid=${uid_gppt_boot};name=system,size=768M,uid=${uid_gppt_system};
name=vendor、size=256M、uid=${uuid_gppt_vendor};name=cache, size=256M,uid=${uid_gppt_cache};name=ipu1, size=8M,uid=${uid_gppt_ipu1};
name=ipu2,size=8M,uid=${uuid_gppt_ipu2};name=dsp1,size=8m,uid=${uid_gppt_dsp1};name=dsp2, size=8m,uid=${uid_gppt_dsp2};
NAME=userdata、size=-、uuid=${uuuid_gppt_userdata}

pxefile_addr_r=0x80100000
ramdisk_addr_r=0x88080000
读数地址= 0x88080000
reboot_image=boot
rootpath=/export/rootfs
脚本地址=0x80000000
scsidevs=0
序列号=04002010508122
SoC=omap5
static_ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}::off
stderr=串行@4806a000
stdin =串行@4806a000
stdout=串行@4806a000
update_TO_fit=setenv loadaddr ${fit_loadaddr};setenv 引导文件${fit_bootfile}
usbtty=CDC_ACM
UUID =caf11011-02
供应商= TI
ver = U-Boot 2016.05-00010-g9551b3d (2018年10月18日- 01:43:37 -0700)
VRAM=16M

环境大小:7720/131067字节
=>

SD 卡

/boot 包含 MLO u-boot.img uenv.txt   

uenv.txt 内容:

 fdtfile=dra76-EVM-infodas.dtb
args_mmc=part uid mcm 0:2 uuid;setenv uuuuid "console=ttyO0、115200n8 vram=16M root=PARTUUID =${uuid}rw rootwait ip=none mem=1024M CMA=64M"

/rootfs

/rootfs/boot 包含 uImage zImage。  

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

    您是否对 u-boot 环境进行过任何更改(我担心的是 bootfile=uImage 而不是 zImage)?

    能否在 u-boot 提示符下尝试执行以下命令:

    U-Boot # env 默认-f -a
    U-Boot # saveenv

    然后重试?

    此致、
    Yordan