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/DRA750:附加到内核映像的 DTB 文件

Guru**** 2540720 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/617841/linux-dra750-the-dtb-file-attached-to-the-kernel-image

器件型号:DRA750
主题中讨论的其他器件:PMP

工具/软件:Linux

您好!

我对如何使用附加到内核映像的 DTB 文件构建内核映像有疑问。 我使用附加的 dtb 文件构建了内核映像。 但是,在 u-boot 将内核映像加载到 DDR 内存后,内置的内核映像无法启动。

下面是在附加了 DTB 文件的情况下构建内核映像的过程。

 1.设置内核菜单配置:

引导选项 —>

[*]使用附加的设备树 blob 到 zImage (实验)   

2.附加到内核映像的设备树 dtb 文件

 $:CAT arch/arm/boot/zImage arch/arm/boot/dts/xxx.dtb > arch/arm/boot/zImage_dtb

构建 uImage

 mkimage -a arm -O Linux -C none -T 内核-a 0x80008000 -e 0x80008000 -n 'Linux uImage'-d zImage_dtb uImage_dtb

4.日志文件 Log_zImage 是引导 zImage_DTB 的错误消息。

    日志文件 Log_uImage 是引导 uImage_DTB 的错误消息。


您能帮您检查问题吗? 非常感谢。

 


e2e.ti.com/.../Log_5F00_zImage.txte2e.ti.com/.../Log_5F00_uImage.txt

启动 zImage_dtb。

U-Boot 2014.07 (2017年8月14日- 21:38:42)

CPU :DRA752-GP ES2.0
电路板:DRA74x EVM 修订版
I2C:  就绪
DRAM: 256 MIB
NAND: 0 MIB
MMC:  OMAP SD/MMC:0、OMAP SD/MMC:1.
使用默认环境

未设置序列号、正在设置...
目标自旋花费0ms。
AHCI 0001.0300 32插槽1端口3 Gbps 0x1不支持 SATA 模式
标志:64位 NCQ stag pm led clo only pmp pio 贫民窟 part ccc apst
正在扫描设备总线...
 器件0:(0:0)供应商:ATA 产品:SUF ROD vecise。 版本:Nain
           键入:Hard Disk (硬盘)
           容量:不可用
找到1个器件。
SCSI: 网络:   未设置。 验证第一个电子保险丝 MAC
CPsw
按任意键停止自动引导: 0
@适配器@
切换到分区#0,确定
mmc0是当前器件
在器件0上找到 SD/MMC
正在阅读 uEnv.txt
在3ms (71.3KiB/s)内读取221字节
uEnv.txt 上的已加载环境
正在从 mmc0导入环境...
3984181字节在210ms (18.1 MIB/s)内读取
在16ms (6.5 MIB/s)内读取109113字节
正在从 mmc0引导...
内核映像@ 0x82000000 [ 0x000000 - 0x3B20f8]
###展开的设备树 blob、88000000
  使用0x88000000处的 FDT blob 进行引导
  正在将设备树加载到8e6fd000,结束8e71aa38... 好的

正在启动内核...

启动 uImage_DTB。

U-Boot 2014.07 (2017年8月14日- 21:11:58)

CPU :DRA752-GP ES2.0
电路板:DRA74x EVM 修订版
I2C:  就绪
DRAM: 256 MIB
NAND: 0 MIB
MMC:  OMAP SD/MMC:0、OMAP SD/MMC:1.
使用默认环境

未设置序列号、正在设置...
目标自旋花费0ms。
AHCI 0001.0300 32插槽1端口3 Gbps 0x1不支持 SATA 模式
标志:64位 NCQ stag pm led clo only pmp pio 贫民窟 part ccc apst
正在扫描设备总线...
 器件0:(0:0)供应商:ATA 产品:SUF ROD vecise。 版本:Nain
           键入:Hard Disk (硬盘)
           容量:不可用
找到1个器件。
SCSI: 网络:   未设置。 验证第一个电子保险丝 MAC
CPsw
按任意键停止自动引导: 0
@适配器@
切换到分区#0,确定
mmc0是当前器件
在器件0上找到 SD/MMC
3984229字节在210ms (18.1 MIB/s)内读取
正在从 mmc0引导...
##从 Legacy Image 中引导内核,地址为82000000...
  映像名称:  Linux uImage
  映像类型:  ARM Linux 内核映像(未压缩)
  数据大小:   3984165字节= 3.8 MIB
  加载地址:80008000
  入口点: 80008000
  正在验证校验和... 好的

BR、

林少文

 

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

    我已将您的问题转交给内核专家。

    您能否告诉我们您的 SDK 是哪个版本?

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

    我们使用的 SDK 为 GLSDK_7.04.00.03。

    BR、
    林少文
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    肖恩
    命令、步骤看起来正确-将在我们的末尾尝试复制序列并返回
    此致
    Sriram
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    肖恩

    您必须将"boot_FDT"环境变量设置为"no"并尝试。
    请检查以下步骤。

    1) 1)构建内核和 DTB
    2) 2)确保在 DTB 中或通过内核 CMDLINE 更新 bootargs

    例如。
    #fdtput -v -t s arch/arm/boot/dts/dra7-evm.dtb "/cheted" bootargs "elevator=noop console=ttyO0、115200n8 root=/dev/mmcblk0p2 rw fixwait rtc omapdrm.num_crtc=2 cma ebank=0=64M rootfs type=4"

    2) 2)使用内核映像附加 DTB
    # cat arch/arm/boot/zImage arch/arm/boot/dra7-evm.dtb > zImage_dtb

    3) 3)创建 uImage
    #mkimage -a arm -O Linux -C none -T 内核-a 0x80008000 -e 0x80008000 -d zImage_DTB uImage_DTB

    5)引导至 u-boot 提示符并加载 uImage、然后使用 bootm。
    # setenv boot_FDT 否
    加载 uImage
    # bootm


    此致
    Ravi