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.

[参考译文] DRA829J:Linux SDK 中的 A/B 交换软件更新

Guru**** 2394305 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1490174/dra829j-a-b-swap-software-update-in-linux-sdk

器件型号:DRA829J
主题中讨论的其他器件:DRA829

工具与软件:

Hej TI 团队、  
我正在尝试实施一种使用 A/B 交换方法的软件更新应用程序、目前我正在使用带有 Linux SDK 的 TI DRA829。 我有我的 Linux 从 SD 卡引导.

我曾尝试通过这些步骤使用 mmcblk 在我的 eMMC 中建立一个新的文件系统、并使用 uboot 进行交换、但不起作用(3.1.5. SD、eMMC 和 USB—适用于 J721e 的处理器 SDK Linux 文档)。  
我想设计和使用一个方法,确保我 可以下载新的文件系统,即设备树, rootfs ,内核, rprocs 等到一个新的地方,并能够交换引导和更新 Linux 与我将开发的 OPTEE 应用程序。 如果您能对此提供更多的说明、将会很有帮助!

引导日志:

U-Boot 2024.04-ti-ga970f6e51043 (2024年11月13日- 14:26:23 +0000)

SoC: J721E SR1.1 GP
模型:Texas Instruments J721e EVM
电路板:J721EX-PM2-PMA SOM 修订版 A
DRAM: 2GiB (有效4GiB)
内核: 144个器件、35个 uClass、devicetre:单独
闪存:0字节
MMC: MMC@4f800000、MMC@4fb00001
随处加载环境... 好的
输入:  串行@2800000
输出: 串行@2800000
ERR: 串行@2800000
am65_cpsw_nuss 以太网@46000000:K3 CPSW:nuss_ver:0x6BA00101 cpsw_ver:0x6BA80100 ALE_ver:0x00293904端口:1
检测到:J7X-BASE-CPB 版本 A
检测到:J7X-GESI-EXP 版本 E3
检测到:J7X-VSC8514-ETH 版本 E2
CDNs, Sierra SerDes@5000000: Sierra probed.
net: eth0:以太网@46000000port@1
按任意键以停止自动引导: 2 1 0
切换到分区#0、好
mmc1是当前器件
器件1上的 SD/MMC
1292字节在75ms 内读取(16.6KiB/s)
uEnv.txt 加载 env
正在从 mmc1导入环境...
正在运行 uenvcmd ...
68ms (0字节/s)内读取1个字节
设置。


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

    您好!  

    在 eMMC 上、您是否创建了两个 ext4类型的单独分区?  

    您需要将 eMMC 分为两部分。 创建 eMMC 的2个单独分区、然后将 rootfs 复制到这两个分区。

    然后在 U-Boot 中、您需要根据要用于引导的分区传递引导参数。  

    此致、

    基尔西

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

    我能够创建2个独立的 eMMC 分区。 当我继续在 uEnv.txt 中更改 uboot 配置以覆盖 bootargs 时 ,它似乎不起作用。 这样做的最佳方法是什么。 在我的示例中 、/run/media/BOOT-mmcblk1p1具有 uENV.txt、而  mmcblk0p1和 mmcblk0p2是我使用新文件系统的 eMMC 参数

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

    您好、Siva、

    是否可以使用以下命令覆盖 U-Boot 中的 rootfs 路径:

    setenv args_mmc"run finduid;setenv bootargs console=ttyS2115200n8.  root=/dev/mmcblk0p1 RW rootfste=ext4 rootwait"

    此致、
    基尔西

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

    您好、

    我尝试了这个,它似乎工作,当我在 uboot 提示符和 uEnv.txt 中使用 args_mmc。  
    然而,这只适用于 rootfs ,是否有一个建议的架构或示例,我们可以在其中更新"boot-adas-j721e-evm.tar.gz"的其他 utulities 部分,如内核,设备树等,现在出现在 /run/media/BOOT-mmcblk1p1下

    此致

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

    您好、Siva、

    对于引导映像、您可以尝试使用 eMMC boot0/boot1分区。

    https://e2e.ti.com/f/791/t/1185543

    -基尔西