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.

[参考译文] AM3358:从 Linux 版本 4.19.94 迁移到 5 或 6

Guru**** 2524720 points
Other Parts Discussed in Thread: AM3358

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1543997/am3358-migration-from-linux-version-4-19-94-to-either-5-or-6

部件号:AM3358


工具/软件:

嗨、伙计们、

我是新来的、希望您能帮我解决问题。

我们有一个定制板、其中使用了 Octavo OSD3358 和 AM3358。 一方

  • U-Boot SPL 2019.04

  • 内核 Linux 版本 4.19.94

大多数东西都在工作,但旧. 不起作用的一点是 SGX、因此我们使用帧缓冲区。 由于其他不同的原因,但也由于 SGX 的原因,我们想要更新内核。

问题是在最好的情况下可以更新到哪个确切版本? 您建议先转至内核版本 5 还是直接转至 6?

是否有有关如何执行此操作的迁移指南? 显然、我们需要调整一些补丁、配置、设备树、因为内核版本之间会发生变化。

感谢您的帮助!

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

    尊敬的 Artur:

    您建议先转到内核版本 5 还是直接转到 6?

    始终建议使用最新的内核版本、该版本在特定器件的 Processor SDK 中使用。 AM335x 的当前 SDK 版本为 9.3、它使用内核 v6.1。

    是否有关于如何执行此操作的迁移指南?

    此类迁移指南不可用。 我一周的剩余时间都不在办公室、但我将在下周初为您编写一份指南。

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

    您好、

    感谢您的答复。 我很想看到导游。 一旦有了什么事、请告诉我。

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

    尊敬的 Bin Liu:

    你那有新消息吗?

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

    尊敬的 Artur:

    是否有关于如何执行此操作的迁移指南? 显然、我们需要调整一些补丁、配置、设备树、因为内核版本之间存在更改。

    一周前,当我第一次看到你的帖子时,我其实已经在过度思考了。 但现在我大致比较了 2019.01 和 2024.01 中的 U-Boot 器件树、它们非常相似。 因此、我认为您采用应用于 SDK9.3 U-Boot (2024.01) 的 2019.04 补丁、它应该可以引导您的电路板。

    内核将是类似的过程。

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

    您好、

    与此同时,我试图从内核 4.19 到 5.10.162 到 5.15.186 到 6.1.142 逐步前进。 从 5.10.162 到 5.15.186 我在引导过程中看到了以下行为:

    [ 2.846276] clk:禁用未使用的时钟

    何时执行 CLK_ignore_unused 它可以完全启动。 我认为这是一种变通方法、而不是一种修复方法。 现在、我想了解如何找到适合它的修复方法、而不是解决方法。 您对此有任何提示吗?

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

    尊敬的 Artur:

    [2.846276] clk:禁用未使用的时钟

    这只是信息量、而不是错误。

    与此同时、我尝试从内核 4.19 到 5.10.162 再到 5.15.186 再到 6.1.142。 [/报价]

    在我个人看来,迁移到中间内核版本是没有必要的。 如果 v6.1 是最终内核版本、我将直接迁移到该版本。

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

    猜这是一个误解。 启动过程在停止
    [ 2.846276] clk:禁用未使用的时钟

    然后使用
    CLK_ignore_unused
    正确引导

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    猜这是一个误解。 启动过程在停止
    [ 2.846276] clk:禁用未使用的时钟

    感谢您的澄清。 这将是一个问题。

    在 v6.1 上工作后、如果内核 v6.1 仍然存在问题、请告诉我。

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

    是的。 我现在是 6.1.142。 我想某些时钟配置错误、与相关 CLK_ignore_unused 我可以绕过它。 但我再次认为这是一种权变措施、需要适当的修复。

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

    您能否尝试下面的 6.1 内核以查看问题是否仍然存在? 这是 AM335x SDK9.3 中使用的内核快照。

    https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/log/?h=09.03.05

    如果内核仍在“clk:禁用未使用的时钟“处挂起、请附加完整的引导日志。

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

    尊敬的 Artur:

    内核日志似乎没有明确说明引导停止的原因。

    您能否首先将“initcall_debug"添加“添加到内核 cmdline 参数中、看看它是否在日志中提供了更多信息。

    顺便说一下、您的内核 cmdline 参数需要清理。

    [  0.000000]内核命令行:console=ttyO0115200n8 Cohernet_pool=16M root=/dev/mmcblk0p2 rw wait rootfstype=ext4 Root与其 loglevel=7 console=ttyO0115200n8 root=/dev/mmcblk0p2 rw wait rootfstype=ext4 Root与其 loglevel=8
    [  0.000000]未知的内核命令行参数“wait wait“将被传递到用户空间。

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

    尊敬的 Artur:

    此处是使用 initcall_debug 清理的版本。 我觉得它与 GPMC 和时钟
    有关

    您能否禁用内核板 DTS 中的 GPMC 节点、看看它是否会使引导进一步推进?

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

    您好、

    今天是一个假期在美国。 我会审核您的回复、并在几天后回复您。

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

    您好、

    好的、谢谢。

    当我对所有非 0 返回值进行 grep 时、有很多:

    cat 6_1_119_initcall_debug_ignore_loglevel_clk_ignore_unused.txt | grep "returned" | grep -v "returned 0"
    [    0.201393] initcall cpufreq_dt_platdev_init+0x0/0x13c returned -19 after 0 usecs
    [    0.546351] probe of 44c00000.interconnect returned 19 after 174 usecs
    [    0.547453] probe of 48000000.interconnect returned 19 after 136 usecs
    [    0.553381] probe of 47c00000.interconnect returned 19 after 125 usecs
    [    0.553856] probe of 4a000000.interconnect returned 19 after 126 usecs
    [    0.554773] probe of 4b144400.interconnect returned 19 after 205 usecs
    [    0.586061] probe of 44e0b000.i2c returned -517 after 111 usecs
    [    0.595762] probe of 44e10000.scm returned 19 after 238 usecs
    [    0.602574] probe of 44e10000.scm_conf returned 19 after 177 usecs
    [    0.615970] probe of 44e31000.target-module returned 16 after 402 usecs
    [    0.640999] probe of 48040000.target-module returned 16 after 299 usecs
    [    0.748092] probe of 4a326000.target-module returned -517 after 61 usecs
    [    0.823232] probe of 5600fe00.target-module returned -517 after 22 usecs
    [    7.417057] initcall cacheinfo_sysfs_init+0x0/0x40 returned -2 after 8 usecs
    [    7.554665] probe of 44e0d000.tscadc returned 2 after 14412 usecs
    [   10.485032] probe of cpufreq-dt returned 517 after 321 usecs
    [   10.941416] probe of 44d00000.wkup_m3 returned 19 after 12600 usecs
    [   10.976702] initcall emif_driver_init+0x0/0x18 returned -19 after 1230 usecs
    [   11.645145] initcall integrity_fs_init+0x0/0x18 returned -19 after 39 usecs
    [   11.858199] probe of tps65217-bl returned 19 after 196 usecs
    [   11.948579] probe of 0-0020 returned 121 after 68055 usecs
    [   12.043199] probe of 0-0051 returned 121 after 12945 usecs
    [   12.056878] probe of 0-0068 returned 121 after 7042 usecs
    [   15.686996] probe of 44e11324.wkup_m3_ipc returned 517 after 146803 usecs
    [   16.069881] probe of 44e11324.wkup_m3_ipc returned 517 after 104708 usecs
    [   16.190930] probe of 47401400.usb returned -517 after 31 usecs
    [   16.257794] probe of 47401c00.usb returned -517 after 34 usecs
    [   16.277876] probe of 44e11324.wkup_m3_ipc returned 517 after 120369 usecs
    [   17.396931] probe of 47401c00.usb returned -517 after 4333 usecs
    [   17.522903] probe of 44e11324.wkup_m3_ipc returned 517 after 60936 usecs
    [   17.854865] probe of pm33xx returned 517 after 31565 usecs
    [   17.888756] probe of 47401c00.usb returned -517 after 39 usecs
    [   17.984889] probe of 44e11324.wkup_m3_ipc returned 517 after 57393 usecs
    [   18.054113] probe of pm33xx returned 517 after 29931 usecs
    [   18.076569] probe of 47401c00.usb returned -517 after 40 usecs
    [   18.164085] probe of 44e11324.wkup_m3_ipc returned 517 after 54591 usecs
    [   18.228377] probe of pm33xx returned 517 after 25278 usecs
    [   18.742352] probe of 44e11324.wkup_m3_ipc returned 517 after 32865 usecs
    [   18.795171] probe of pm33xx returned 517 after 21976 usecs
    [   19.341155] probe of 44e11324.wkup_m3_ipc returned 517 after 26777 usecs
    [   19.374197] probe of pm33xx returned 517 after 16102 usecs
    [   19.395415] probe of 44e11324.wkup_m3_ipc returned 517 after 10830 usecs
    [   20.067714] probe of pm33xx returned 517 after 20174 usecs
    [   20.089914] probe of 44e11324.wkup_m3_ipc returned 517 after 13974 usecs
    [   28.138500] probe of pm33xx returned 517 after 5411 usecs
    [   28.154269] probe of 44e11324.wkup_m3_ipc returned 517 after 8170 usecs
    [   34.212248] probe of pm33xx returned 517 after 8289 usecs
    [   34.243892] probe of 44e11324.wkup_m3_ipc returned 517 after 13681 usecs
    


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

    您好、

    通过以下内核命令行为“clk_disable"提供“提供 grep:

    console=ttyO0115200n8 Coherine_pool=16M root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait iomm=relaxed initcall_debug ignore_loglevel tp_printk trace_fevent=clk:clk_disable

    给出了以下。  

    cat 6_1_119_initcall_debug_ignore_loglevel_tp_printk_trace_event\=clk\:clk_disable_noidle.txt  | grep clk_disable
    [    0.000000] Kernel command line: console=ttyO0,115200n8 coherent_pool=16M root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait iomem=relaxed initcall_debug ignore_loglevel tp_printk trace_event=clk:clk_disable
    [    0.576511] clk_disable: l4-wkup-clkctrl:0008:18
    [    0.576574] clk_disable: gpio0_dbclk_mux_ck
    [    0.576587] clk_disable: clk_rc32k_ck
    [    0.586306] clk_disable: l4-wkup-clkctrl:0008:0
    [    0.591441] clk_disable: l4-wkup-clkctrl:00b4:0
    [    0.591473] clk_disable: dpll_per_m2_div4_wkupdm_ck
    [    0.591484] clk_disable: dpll_per_m2_ck
    [    0.591496] clk_disable: dpll_per_ck
    [    0.628846] clk_disable: l4-wkup-clkctrl:00d4:0
    [    0.628888] clk_disable: wdt1_fck
    [    0.628901] clk_disable: clk-24mhz-clkctrl:0000:0
    [    0.628920] clk_disable: clkdiv32k_ck
    [    0.628931] clk_disable: clk_24mhz
    [    0.631656] clk_disable: l4-rtc-clkctrl:0000:0
    [    0.631693] clk_disable: clk-24mhz-clkctrl:0000:0
    [    0.631711] clk_disable: clkdiv32k_ck
    [    0.631722] clk_disable: clk_24mhz
    [    0.639045] clk_disable: l4ls-clkctrl:0038:0
    [    0.643831] clk_disable: l4ls-clkctrl:0010:0
    [    0.645718] clk_disable: l4ls-clkctrl:0014:0
    [    0.646948] clk_disable: l3s-clkctrl:0018:0
    [    0.646977] clk_disable: mcasp0_fck
    [    0.647705] clk_disable: l3s-clkctrl:004c:0
    [    0.647732] clk_disable: mcasp1_fck
    [    0.653268] clk_disable: l4ls-clkctrl:004c:0
    [    0.653302] clk_disable: timer3_fck
    [    0.655539] clk_disable: l4ls-clkctrl:0050:0
    [    0.655571] clk_disable: timer4_fck
    [    0.661297] clk_disable: l4ls-clkctrl:00b4:0
    [    0.661332] clk_disable: timer5_fck
    [    0.663571] clk_disable: l4ls-clkctrl:00b8:0
    [    0.663605] clk_disable: timer6_fck
    [    0.669353] clk_disable: l4ls-clkctrl:0044:0
    [    0.669389] clk_disable: timer7_fck
    [    0.674418] clk_disable: l4ls-clkctrl:0074:18
    [    0.674441] clk_disable: clk-24mhz-clkctrl:0000:0
    [    0.674460] clk_disable: clkdiv32k_ck
    [    0.674472] clk_disable: clk_24mhz
    [    0.681457] clk_disable: l4ls-clkctrl:0074:0
    [    0.684504] clk_disable: l4ls-clkctrl:0004:0
    [    0.684540] clk_disable: mmc_clk
    [    0.690821] clk_disable: l4ls-clkctrl:0008:0
    [    0.695035] clk_disable: l4ls-clkctrl:00d8:0
    [    0.703748] clk_disable: l4ls-clkctrl:00d4:0
    [    0.704604] clk_disable: l4ls-clkctrl:000c:0
    [    0.706501] clk_disable: l4ls-clkctrl:0018:0
    [    0.711321] clk_disable: l4ls-clkctrl:003c:0
    [    0.713364] clk_disable: l4ls-clkctrl:0040:0
    [    0.718461] clk_disable: l4ls-clkctrl:0000:0
    [    0.719406] clk_disable: l4ls-clkctrl:0078:18
    [    0.719428] clk_disable: clk-24mhz-clkctrl:0000:0
    [    0.719447] clk_disable: clkdiv32k_ck
    [    0.719459] clk_disable: clk_24mhz
    [    0.726062] clk_disable: l4ls-clkctrl:0078:0
    [    0.727654] clk_disable: l4ls-clkctrl:007c:18
    [    0.727679] clk_disable: clk-24mhz-clkctrl:0000:0
    [    0.727698] clk_disable: clkdiv32k_ck
    [    0.727709] clk_disable: clk_24mhz
    [    0.735858] clk_disable: l4ls-clkctrl:007c:0
    [    0.737223] clk_disable: l4ls-clkctrl:0088:0
    [    0.737255] clk_disable: dcan0_fck
    [    0.741833] clk_disable: l4ls-clkctrl:008c:0
    [    0.741859] clk_disable: dcan1_fck
    [    0.742595] clk_disable: l4ls-clkctrl:00bc:0
    [    0.742621] clk_disable: mmc_clk
    [    0.743349] clk_disable: l4ls-clkctrl:009c:0
    [    0.744007] clk_disable: l4ls-clkctrl:0094:0
    [    0.744721] clk_disable: l4ls-clkctrl:00a0:0
    [    0.746590] clk_disable: lcdc-clkctrl:0000:0
    [    0.746624] clk_disable: lcd_gclk
    [    0.746638] clk_disable: dpll_disp_m2_ck
    [    0.746649] clk_disable: dpll_disp_ck
    [    0.752392] clk_disable: l4ls-clkctrl:0058:0
    [    0.752424] clk_disable: rng_fck
    [    0.758698] clk_disable: cpsw-125mhz-clkctrl:0014:0
    [    0.758739] clk_disable: cpsw_125mhz_gclk
    [    0.758752] clk_disable: dpll_core_m5_ck
    [    0.813782] clk_disable: l3s-clkctrl:00dc:0
    [    0.813814] clk_disable: mmc_clk
    [    0.823639] clk_disable: l3s-clkctrl:0000:0
    [    0.823682] clk_disable: usbotg_fck
    [    0.829511] clk_disable: l3-clkctrl:007c:0
    [    0.831735] clk_disable: l3-clkctrl:0070:0
    [    0.831765] clk_disable: aes0_fck
    [    3.618994] clk_disable: l4-wkup-clkctrl:00bc:0
    [    3.619082] clk_disable: adc_tsc_fck
    [    3.619218] clk_disable: l4-wkup-clkctrl:00b8:0
    [    3.619240] clk_disable: dpll_per_m2_div4_wkupdm_ck
    [    7.895260] clk_disable: lcdc-clkctrl:0000:0
    [    7.899820] clk_disable: lcd_gclk
    [    7.903278] clk_disable: dpll_disp_m2_ck
    [    7.907368] clk_disable: dpll_disp_ck
    [    8.093635] clk_disable: l4-wkup-clkctrl:00bc:0
    [    8.098379] clk_disable: adc_tsc_fck
    [    8.732575] clk_disable: cpsw-125mhz-clkctrl:0014:0
    [    8.737700] clk_disable: cpsw_125mhz_gclk
    [    8.741885] clk_disable: dpll_core_m5_ck
    [   10.738484] clk_disable: l4ls-clkctrl:0014:0
    [   10.798273] clk_disable: l4ls-clkctrl:0018:0
    [   10.983474] clk_disable: l4-wkup-clkctrl:00d4:0
    [   10.988213] clk_disable: wdt1_fck
    [   11.264848] clk_disable: l4ls-clkctrl:007c:18
    [   11.366639] clk_disable: l4ls-clkctrl:004c:0
    [   11.371117] clk_disable: timer3_fck
    [   11.388581] clk_disable: l4ls-clkctrl:0050:0
    [   11.393050] clk_disable: timer4_fck
    [   11.415726] clk_disable: l4ls-clkctrl:00b4:0
    [   11.420197] clk_disable: timer5_fck
    [   11.439405] clk_disable: l4ls-clkctrl:00b8:0
    [   11.443875] clk_disable: timer6_fck
    [   11.466699] clk_disable: l4ls-clkctrl:0044:0
    [   11.471179] clk_disable: timer7_fck
    [   11.799545] clk_disable: l4ls-clkctrl:0004:0
    [   11.804024] clk_disable: mmc_clk
    [   12.781524] clk_disable: pruss-ocp-clkctrl:0000:0
    [   12.786494] clk_disable: pruss_ocp_gclk
    [   12.803201] clk_disable: gfx-l3-clkctrl:0004:0
    [   12.807896] clk_disable: gfx_fck_div_ck
    [   12.811900] clk_disable: gfx_fclk_clksel_ck
    [   12.960655] calling  clk_disable_unused+0x0/0x218 @ 1
    [   12.970634] clk_disable: l3-clkctrl:0004:0
    

    然后它再次挂起

    [   12.960655] calling  clk_disable_unused+0x0/0x218 @ 1
    [   12.970634] clk_disable: l3-clkctrl:0004:0

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

    尊敬的 Artur:

    我相信在出现消息“clk:Disabling Unused clocks(clk:禁用未使用的时钟)“之后、内核会尝试挂载 rootfs。 您能否请检查 sdcard 上的 rootfs 是否正确?

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

    尊敬的 Bin Liu:

    不知道,因为如果我做  CLK_ignore_unused  它的启动方式如下:

    [   12.295959] calling  clk_disable_unused+0x0/0x218 @ 1
    [   12.301371] clk: Not disabling unused clocks
    [   12.305953] initcall clk_disable_unused+0x0/0x218 returned 0 after 4619 usecs
    [   12.313446] calling  regulator_init_complete+0x0/0x4c @ 1
    [   12.319131] initcall regulator_init_complete+0x0/0x4c returned 0 after 9 usecs
    [   12.326704] calling  genpd_power_off_unused+0x0/0x84 @ 1
    [   12.332523] initcall genpd_power_off_unused+0x0/0x84 returned 0 after 238 usecs
    [   12.340218] calling  of_platform_sync_state_init+0x0/0x10 @ 1
    [   12.346275] initcall of_platform_sync_state_init+0x0/0x10 returned 0 after 6 usecs
    [   12.393839] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Quota mode: none.
    [   12.403209] VFS: Mounted root (ext4 filesystem) on device 179:2.
    [   12.412753] devtmpfs: mounted
    [   12.418011] Freeing unused kernel image (initmem) memory: 1024K
    [   12.425087] Run /sbin/init as init process
    [   12.429418]   with arguments:
    [   12.432543]     /sbin/init
    [   12.435396]     wait
    [   12.437706]   with environment:
    [   12.441013]     HOME=/
    [   12.443504]     TERM=linux
    [   12.668105] EXT4-fs (mmcblk0p2): re-mounted. Quota mode: none.

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

    尊敬的 Artur:

    从哪里获取内核源代码?

    您是如何生成 kernel .config 的?

    在哪里可以获得 rootfs?

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

    尊敬的 Bin Liu:

    • 内核源代码
      我曾经通过 git.ti.com tarballs 获得它,但因为它们现在不可用,我下载并手动压缩源代码。 然后、我提供如下内容:
      # BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="">git.ti.com/.../ti-linux-kernel-6.1.119.tar.xz"
      BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="file:///../ti-linux-kernel-6.1.119.tar.xz"
    • 内核.config 和 rootfs 创建方式与在 BeagleBoneBlack 中一样

    为方便起见、我想在 BeagleBoneBlack 上运行您建议的内核 (6.1.119)。 我们使用 BuildRoot。 我必须考虑这样做吗?

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

    尊敬的 Artur:

    以下是一种方法:

    请从 SDK9.3 下载 SD 卡 WIC 映像:

    https://dr-download.ti.com/software-development/software-development-kit-sdk/MD-1BUptXj3op/09.03.05.02/tisdk-default-image-am335x-evm-09.03.05.02.wic.xz

    并将其刷写到 SD 卡中。

    该 SD 卡应在 BeagleBone Black 板上启动。

    然后、将电路板 dtb 文件放置在 SD 卡 rootfs 分区上的/boot/dtb 目录中、然后尝试在电路板上引导以从那里开始。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引述 userid=“663780" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1543997/am3358-migration-from-linux-version-4-19-94-to-either-5-or-6/6017626

    1.在 BeagleBoneBlack 上:

    解压缩并刷写后会显示:

    [/报价]

    U-Boot SPL 2019.04-00002-g31a8ae0206 (2020年5月13日- 09:26:17 –0500)
    尝试从 MMC2 引导

    日志中的 U-Boot 版本旧。 AM335x SDK9.3 使用 U-Boot 2023.04。 此外、我相信 MMC2 是 eMMC、而不是 SD 卡。 因此、您仍在从 BeagleboneBlack 上的 eMMC 进行引导。

    SDK9.3 后的控制台日志为:

    U-Boot SPL 2023.04-ti-g2a13324ec63c (Dec 04 2024 - 17:27:55 +0000)   
    Trying to boot from MMC1                                                              
                                                                                                           
                                                                                                                                                 
    U-Boot 2023.04-ti-g2a13324ec63c (Dec 04 2024 - 17:27:55 +0000)           
                                                                                                  
    CPU  : AM335X-GP rev 2.1                                                                                                    
    Model: TI AM335x BeagleBone Black                                             
    DRAM:  512 MiB                                                                                                   
    Core:  160 devices, 18 uclasses, devicetree: separate                                                                  
    WDT:   Started wdt@44e35000 with servicing every 1000ms (60s timeout)    
    NAND:  0 MiB                                                                               
    MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1                                                               
    Loading Environment from FAT... Unable to read "uboot.env" from mmc0:1...                      
    <ethaddr> not set. Validating first E-fuse MAC                                                    
    Net:   eth2: ethernet@4a100000, eth3: usb_ether                                 
    Hit any key to stop autoboot:  0                                                              
    switch to partitions #0, OK                                                                         
    mmc0 is current device                                                        
    Scanning mmc 0:1...                                                    
    Found /extlinux/extlinux.conf                                                      
    Retrieving file: /extlinux/extlinux.conf                               
    1:      Arago                                                                
    Retrieving file: /extlinux/../zImage                                                                                                         
    append: root=PARTUUID=5276f655-02 rootwait rw earlycon console=ttyO0,115200n8,115200
    Retrieving file: /extlinux/../am335x-boneblack.dtb                                                                                        
    Kernel image @ 0x82000000 [ 0x000000 - 0x757200 ]                                                                                            
    ## Flattened Device Tree blob at 88000000                                                         
       Booting using the fdt blob at 0x88000000                                                     
    Working FDT set to 88000000                                                                  
       Loading Device Tree to 8ffe5000, end 8fffff6c ... OK                              
    Working FDT set to 8ffe5000                                                               
                                                                                         
    Starting kernel ...                                                                   
                                                                                           
    [    0.000000] Booting Linux on physical CPU 0x0                                                 
    [    0.000000] Linux version 6.1.119-ti-gc490f4c0fe51 (oe-user@oe-host) (arm-oe-linux-gnueabi-gcc (GCC) 11.5.0, GNU ld (GNU Binutils) 2.38.20
    220708) #1 PREEMPT Wed Dec  4 17:16:52 UTC 2024

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

    尊敬的 Artur:

    现在我要在定制电路板上运行它。 据我所知、默认 uboot 会尝试检测在定制电路板上不会成功的硬件。 [/报价]

    是的、U-Boot 将尝试检测硬件、但如果任何 EVM(或已知电路板)的检测无法识别、则仍然应该继续。 或者、至少您应该仍然能够进入 U-Boot 命令行并手动加载内核映像和 DTB 以启动到 Linux。

    因此、我使用我们修改后的 uboot(不检测硬件)并将其与.dtb 一起注入到您发送的映像中:

    那么、您能否在不更新修改后的 U-Boot 的情况下进行测试?

    目标是使用原始二进制文件、唯一的区别是使用您的内核 dtb。

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

    尊敬的 Bin Liu:

    我明白了。 问题是、保留 uboot 不变且仅复制.dtb 时不打印任何内容。 甚至不会显示 uboot 消息。 可能默认控制台会输出到其他端口。 我会检查一下、然后回来给您。 如果您有任何其他想法、Im 很乐意倾听您的意见。

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

    尊敬的 Artur:

    所有 AM335x EVM 都使用 UART0 作为控制台。 但内核日志似乎表明、您的电路板使用 UART1 作为控制台。 因此、我认为调试问题的方式(使用 SDK 预编译的 U-Boot 二进制文件)似乎并不容易。

    让我们返回到原始方法、使用 U-Boot 和 Linux 构建启动电路板。 您可能需要禁用内核设备树中除控制台 UART 和 SD 卡 MMC 接口之外的所有外设、以查看是否可以引导至 Linux 提示符。 然后逐个启用外设、查看哪一个导致引导停止。

    要查看内核器件树中启用了哪些外设、您可以使用诸如“Detc -o board.dts “之类的命令 “将 dtb 文件转换回 dts 并查看启用了什么。

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

    顺便说一句,我离开办公室的未来两个星期。 我回来后、会检查您的进度。