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-DRA7X:有关 U-Boot 的问题**找不到文件/boot/zImage **

Guru**** 2540720 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/604185/linux-processor-sdk-dra7x-question-about-u-boot-file-not-found-boot-zimage

Hallo、

我对 U-Boot 有一些疑问。 使用本指南 http://processors.wiki.ti.com/index.php/Processor_SDK_Linux_Automotive_Software_Developers_Guide 重建 tisdk-rootfs-image-dra7xx-evm.tar.xz

当我启动此映像时,U-Boot 显示  ** File not found /boot/zImage **。 但就在这里。 预编译的图像工作正常。

我是否必须为定制 Linux 映像创建新的 uImage、或者是否可以使用 SDK 中的预构建 uImage? 没有 创建 uImage、如指南所述。

SDK 版本 v3.02.00。

您好!

eddi

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

    我已将您的问题转交给 U-boot 专家进行评论。

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

    一些附加信息:

    从可正常工作的预构建映像启动日志、并从 SD 卡启动系统:

    U-Boot SPL 2016.05-g97c89e23c8 (2017年3月09日- 08:17:38)
    DRA752-GP ES2.0
    MMC Device 1 Not Found
    *** Warning - No MMC card found、using default environment
    
    trying to boot from MMC1
    spl:Falcon_args_file not set in environment、Falls
    
    spl_load_gat_os_fat: 读取图像 args 时出错、错误--1
    读取 u-boot.img
    读取 u-boot.img
    读取 u-boot.img
    读取 u-boot.img 读取 u-boot.img 读取 u-boot.img
    
    
    U-Boot 2016.05-g97c89e23c8 (2017年3月09日- 08:17:38 +0530)
    
    CPU:DRA752-GP ES2.0
    模型:TI
    
    
    SD 板:DRA74x EVM REV
    MMC REV/MMC 0:OMAP-DRA742/DMA 0 MMC0链路:DRA742/0B:OMAP 3.0闪存。
    AHCI 0001.0300 32插槽1端口3 Gbps 0x1不支持 SATA 模式
    标志:64位 NCQ stag pm led clo only pmp pio sagadopt part ccc apst
    扫描总线设备...
    找到0个器件。
    NET:
    警告:以太网@48484000使用 ROM 中的 MAC 地址
    eth0:以太网@48484000
    按任意键停止自动引导: 0
    切换到分区#0,确定
    mmc0是
    在设备0
    上找到的当前设备 SD/MMC 正在读取 boot.scr
    **无法读取文件 boot.scr **
    读取 uEnv.txt
    222字节在4ms (53.7 KiB/s)内
    从 uEnv.txt 加载 env
    从 mmc0导入环境...
    切换到分区#0,好
    的,mmc0是
    设备0
    3632848字节上的当前设备 SD/MMC,读取时间为271ms (12.8MiB/s)
    108573字节,读取时间为87ms (1.2MiB/s)
    从 mmc0引导...
    内核映像@ 0x82000000 [ 0x000000 - 0x376ed0]
    ###平展设备树 blob,其大小为88000000
    ,使用0x88000000的 FDT blob 启动
    正在将设备树加载到8ffe2000,结束日期为8ff81c ... 确定
    
    启动内核...
    

    内置 tisdk-rootfs-image 的引导日志不起作用、并从闪存返回到 Android 系统:

    U-Boot SPL 2016.05-g97c89e23c8 (2017年3月09日- 08:17:38)
    DRA752-GP ES2.0
    MMC Device 1 Not Found
    *** Warning - No MMC card found、using default environment
    
    trying to boot from MMC1
    spl:Falcon_args_file not set in environment、Falls
    
    spl_load_gat_os_fat: 读取图像 args 时出错、错误--1
    读取 u-boot.img
    读取 u-boot.img
    读取 u-boot.img
    读取 u-boot.img 读取 u-boot.img 读取 u-boot.img
    
    
    U-Boot 2016.05-g97c89e23c8 (2017年3月09日- 08:17:38 +0530)
    
    CPU:DRA752-GP ES2.0
    模型:TI
    
    
    SD 板:DRA74x EVM REV
    MMC REV/MMC 0:OMAP-DRA742/DMA 0 MMC0链路:DRA742/0B:OMAP 3.0闪存。
    AHCI 0001.0300 32插槽1端口3 Gbps 0x1不支持 SATA 模式
    标志:64位 NCQ stag pm led clo only pmp pio sagadopt part ccc apst
    扫描总线设备...
    找到0个器件。
    NET:
    警告:以太网@48484000使用 ROM 中的 MAC 地址
    eth0:以太网@48484000
    按任意键停止自动引导: 0
    切换到分区#0,确定
    mmc0是
    在设备0
    上找到的当前设备 SD/MMC 正在读取 boot.scr
    **无法读取文件 boot.scr **
    读取 uEnv.txt
    222字节在3ms (72.3 KiB/s)
    内读取从 uEnv.txt 加载 env
    从 mmc0导入环境...
    切换到分区#0,确定
    mmc0是
    在设备0上找到的当前设备 SD/MMC
    **找不到文件/boot/zImage **
    切换到分区#0,确定
    mmc1 (部件0)是当前设备
    
    MMC 读:DEV #1,块#2048,计数256... 256个块读取:正常
    
    MMC 读取:DEV # 1,块# 56608,计数20480... 20480个块读取:从
    eMMC 引导正常...
    ##正在引导 Android 映像,地址为0x82000000...
    内核加载地址0x80008000大小4655 KiB
    RAM 磁盘加载地址0x83000000大小892 KiB
    ##平展设备树 blob,88000000
    启动,使用 WDT blob,0x88000000
    加载内核映像... 将
    Ramdisk 加载到8ff21000,结束8ffcd0…… 将
    设备树加载到8ff03000,结束8ff20c38... 使用
    环境
    
    启动内核的 machid 0xfe6可以... 

    printenv 输出:(我使用预编译图像中的 uenv.txt)我没有做任何更改:

    arch=arm
    args_fit=setenv bootts console=${console}
    args_mmc=run finduid;setenv boojacs console=${console}${optargets}root=${uuid}rfstecho=${mmcrootfstypoid}boost
    =${console = targ0=dstrab
    = dstrab、
    
    
    
    
    
    androidboot.serialno=${serial#}
    如果已请求、则将 boot_boot=dstrab = tb = tb = tb、tb = tb、tb、tb = tb、tb、tb = tb、tb、tb、tb、tb = tb、tb、tb、tb、tb、tb、tb、tb、tb、tb、tb、tb、tb、tb、tb、tb、tb、tb、tb、tb、tb、tb、tb、tb、tb、 fastb
    bootdelay=2
    bootdir=/boot
    bootenvfile=uEnv.txt
    bootfile=zImage
    bootm_size=0x10000000
    bootpart=0:2
    bootscript=echo running bootscript from MMC${mmcdev}...; source ${loadaddr}
    console=ttyO0、115200n8
    cpu=armv7
    dfu_alt_info_emmc=rawemmc raw 0 3751936;boot part 1;argfs part 1 2;mLo fat 1;mLfat raw 0x100;u-boot.img raw 0x300 0x400;argos raw
    0x80;rw 0xdfat 0x400
    ;raw 0xdfat 0dfb raw 0x400;rw 0x400 raw 0x040000 0x0100000;u-boot-spl-OS raw 0x140000 0x080000;u-boot-env raw 0x1C0000 0x010000;u-boot-env.backup raw0
    dfu_alt_info_ram=kernel boot0x80200000 0x4000000;fsiz 0x80f80000 0x80000;u-boot-env.backup rtc
    
    
    = 0x100n_setv_ramvs;targenv_boot_env=dramv_setvs 0x100v_boot_setvs boot_target=dvs;boot_target=dv_boot_target=dvs boot_target=dvs boot_target=dvs boot_target=vs boot_target=vs boot_setvs boot_target=vs boot_target=dvs boot_boot_target= 如果测试$reboot_image;
    envboot=MMC dev ${mmcdev};如果 MMC 重新扫描;则回显在器件${mmcdev}上找到的 SD/MMC;如果运行 loadbootscript;则运行 bootscript;如果运行 loadbootenv;则回显;
    ethaddr=a0:f:fdf:9f:80:04 tbboot.board=footh;如果未
    
    
    fastboot.secure=GP
    fastboot.userdata_size=6482271
    
    
    
    定义的 dtfb = 0xdfb、则回显式 dfb = 0xfb、fb、fb、fb、fb = fb
    、fb、fb、fb、fb、fb、fb、fb、fb、fb、fb、fb、fb、= 0xfb、fb、fb、fb、fb、fb、fb、fb、fb、= 如果测试$board_name = dra7xx;则 setenv fdtfile dra7-evm.dtb;fi;如果测试$board
    finuid=part uuid MMC ${bootpart}
    fatid_bootfile=fitImage.itb
    fit_loadaddr=0x88000000
    bootaddr=echo 从 mmc${mmcdev}${bootaddr
    
    
    
    
    }${loadaddr}${dr}loadaddr}${dr}loadaddr{dr}${loadaddr}${dr}loadaddr}
    bootm ${loadaddr}#${fdtfile};
    loadimage=加载 MMC ${bootpart}${loadaddr}${bootdir}/${bootfile}
    mmcboot=if MMC dev ${mmcdev};然后 setenv devados 类型 MMC;如果 MMC 重新扫描;然后在器件${mmcboot_dc}上找到 echo SD/MMC;如果
    ${mmcboot_dt
    = loadfdt;则运行 mmwest_dt = loadfdt;如果 t_dt = loadfdt = loadfdt;则回显存= loadfund_boot_dt;如果 t_dt = fundp| 然后是 bootz ${loadaddr}-${fdtaddr};否则、如果测试${boot_FDT}= t;
    mmcrootfstype=ext4 rootwait
    netargs=setenv bootargs console=${console}${oploads}root=/dev/nfs nfsroot=${serverip}:${autostpath};
    从 netts 运行 netv=dcpn 命令;nloadnets;从 nets 运行 p=dcps;nloadnets 运行 netargs;bootz ${loadaddr}-${fdtaddr}
    netloadfdt=uuuuuuupp ${fdtfile}
    netloadimage=tftp ${loadaddr}${bootfile}ntftfsopts=nolock
    
    partitions=uuuuuuuuuid_disk=${fdt_loader=u000=uuuuuuuuuu000=uuuuuuuuuuuuuuuuuuuu000=uuuuu000_loader=u000=u000=u000=u000_disk=u000=u000=u000=gp_loader=u000=u000=u000=u000=u000=u000_name_loader=u000=u000=u000=u000=u000_loader=u000=u000=u000=u000=u000=u000_name_loader=u000=u000u000u000_disk_loader=u000u000_name
    
    
    
    
    
    
    
    
    
    
    
    
    
    @@@/export/rootfs
    
    
    
    
    
    
    
    

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

    什么是使用的引导模式.MMC/SD?
    准备的 SD 卡将具有引导和 rootfs 分区。
    必须将 MLO/u-boot.img 复制到引导分区,并将新的 zImage 和 DTB 复制到 rootfs/boot 目录。

    从 u-boot 中,重置环境变量(发出命令"env default -a ")。

    从 u-boot 调用引导命令时、"bootcmd"环境变量中列出的命令将被执行。

    检查环境变量"bootcmd"、将帮助您了解用于引导内核的命令的扣押情况。

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

    Hallo Ravi、

    感谢您的回答。

    [引用用户="Ravi B"]

    什么是使用的引导模式.MMC/SD?

    [/报价]

    您是指 DIP 开关(SYSBOOT)吗? 它处于 SD 模式:00001100 10000001

    [引用用户="Ravi B"]
    准备的 SD 卡将具有引导和 rootfs 分区。
    必须将 MLO/u-boot.img 复制到引导分区,并将新的 zImage 和 DTB 复制到 rootfs/boot 目录。

    [/报价]

    对于创建分区,我使用 ti-script,复制预编译的 mLO/u-boot.img 以引导并将创建的文件系统解压到 rootfs。 是否可以使用预编译的 MLO 和 u-boot.img?

    [引用用户="Ravi B"]
    从 u-boot 中,重置环境变量(发出命令"env default -a ")。

    从 u-boot 调用引导命令时、"bootcmd"环境变量中列出的命令将被执行。

    检查环境变量"bootcmd"、将帮助您了解用于引导内核的命令的扣押情况。

    [/报价]

    我必须确切做什么? U-Boot 现在仍然是我的黑洞。 我使用'bin/setup-uboot-env'脚本为 SD 引导配置 uboot,并使用'make u-boot'创建新映像。 但在引导过程中、我会得到相同的错误。

    大家好

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

    Hallo、

    我找到了解决我的问题的方法。 现在它起作用了。 解决方案-> archlinuxarm.org/.../viewtopic.php