<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: i.MX6ULL Cannot boot a Closed device via SDP and uuu in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/i-MX6ULL-Cannot-boot-a-Closed-device-via-SDP-and-uuu/m-p/1781278#M218032</link>
    <description>&lt;P&gt;I created another signed version of u-boot, which only signs the HAB Blocks and no DCD Blocks. Then I was able to boot u-boot via SDP using:&lt;/P&gt;&lt;PRE&gt;uuu SDP: write -f u-boot.imx -ivt 0&lt;BR /&gt;uuu SDP: jump -f u-boot.imx &lt;/PRE&gt;&lt;P&gt;Unfortunately, even though flashing via "uuu -b emmc" or "uuu -b emmc_all" works fine, the device still cannot boot on its own.&amp;nbsp;&lt;/P&gt;&lt;P&gt;I also tried clearing the boot partitions from Linux. This gave another effect: The write/jump commands above no longer works, but instead a "normal" boot works:&lt;/P&gt;&lt;PRE&gt;uuu SDP: boot -f u-boot.imx&lt;/PRE&gt;&lt;P&gt;But after trying flash of entire MMC again, I am back to the state where write/jump are needed. Apparently, the method depends on if the MMC boot partitions are blank or not.&lt;/P&gt;&lt;P&gt;In any case, how can I make the device boot from MMC again?&lt;/P&gt;</description>
    <pubDate>Sat, 30 Dec 2023 08:40:14 GMT</pubDate>
    <dc:creator>astrand</dc:creator>
    <dc:date>2023-12-30T08:40:14Z</dc:date>
    <item>
      <title>i.MX6ULL Cannot boot a Closed device via SDP and uuu</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX6ULL-Cannot-boot-a-Closed-device-via-SDP-and-uuu/m-p/1781256#M218029</link>
      <description>&lt;P&gt;We are implementing High Assurance Boot om i.MX6ULL. Everything seems to be working with EMMC as well as blank boards. Thus, we have been able to boot u-boot via SDP even in "closed" mode. I have modified u-boot to start interactive shell, and confirmed that there are no events:&lt;/P&gt;&lt;PRE&gt;U-Boot 2020.04-5.4.70-2.3.3+g3045fd84 (Dec 29 2023 - 17:07:49 +0000)&lt;BR /&gt;&lt;BR /&gt;CPU: i.MX6ULL rev1.1 792 MHz (running at 396 MHz)&lt;BR /&gt;CPU: Industrial temperature grade (-40C to 105C) at 41C&lt;BR /&gt;Reset cause: POR&lt;BR /&gt;Model: i.MX6 ULL 14x14 EVK Board&lt;BR /&gt;Board: MX6ULL 14x14 EVK&lt;BR /&gt;DRAM: 512 MiB&lt;BR /&gt;MMC: FSL_SDHC: 0, FSL_SDHC: 1&lt;BR /&gt;Loading Environment from MMC... OK&lt;BR /&gt;In: serial&lt;BR /&gt;Out: serial&lt;BR /&gt;Err: serial&lt;BR /&gt;switch to partitions #0, OK&lt;BR /&gt;mmc1(part 0) is current device&lt;BR /&gt;flash target is MMC:1&lt;BR /&gt;No ethernet found.&lt;BR /&gt;&lt;BR /&gt;Fastboot: Normal&lt;BR /&gt;Boot from USB for mfgtools&lt;BR /&gt;*** Warning - Use default environment for mfgtools&lt;BR /&gt;, using default environment&lt;BR /&gt;&lt;BR /&gt;Run bootcmd_mfg: run mfgtool_args;if iminfo ${initrd_addr}; then if test ${tee} = yes; then bootm ${tee_addr} ${initrd_addr} ${fdt_addr}; else bootz ${loadaddr} ${initrd_addr} ${fdt_addr}; fi; else echo "Run fastboot ...";fi;&lt;BR /&gt;Hit any key to stop autoboot: 0&lt;BR /&gt;&lt;BR /&gt;## Checking Image at 86800000 ...&lt;BR /&gt;Unknown image format!&lt;BR /&gt;Run fastboot ...&lt;BR /&gt;=&amp;gt; hab_status&lt;BR /&gt;&lt;BR /&gt;Secure boot enabled&lt;BR /&gt;&lt;BR /&gt;HAB Configuration: 0xcc, HAB State: 0x99&lt;BR /&gt;No HAB Events Found!&lt;/PRE&gt;&lt;P&gt;Then, I flashed an u-boot version without HAB/CSF signing to EMMC. The CPU now fallbacks to SDP mode:&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt; Path Chip Pro Vid Pid BcdVersion&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; ==================================================&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; 1:1 MX6ULL SDP: 0x15A2 0x0080 0x0001&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;However, it is now impossible to boot via SDP using uuu:&lt;/P&gt;&lt;PRE&gt;uuu SDP: boot -f u-boot.imx&lt;/PRE&gt;&lt;P&gt;The download succeeds, but the command then hangs.&amp;nbsp;Thus, the device is essentially "bricked". This has been confirmed on two devices.&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have read the section on closed devices in the uuu documentation. If I understand it correctly, it should be sufficient to sign the DCD area, which I have done:&lt;/P&gt;&lt;PRE&gt;[Authenticate Data]&lt;BR /&gt;Verification index = 2&lt;BR /&gt;# Address Offset Length Data File Path&lt;BR /&gt;Blocks = 0x877ff400 0x00000000 0x00074c00 "u-boot-unsigned.imx", \&lt;BR /&gt;0x00910000 0x0000002c 0x000001e8 "u-boot-unsigned.imx"&lt;/PRE&gt;&lt;P&gt;I have also tried clearing the DCD before signing, as described on many places. And after all, boot via SDP does work when the EMMC is "blank" (start filled with zeroes).&lt;/P&gt;&lt;P&gt;Why is it not possible to boot via SDP when EMMC contains unsigned u-boot? I have read&amp;nbsp;&lt;A href="https://github.com/nxp-imx/mfgtools/issues/235" target="_blank"&gt;https://github.com/nxp-imx/mfgtools/issues/235&lt;/A&gt;&amp;nbsp;but the conclusion does not really match the "uuu" documentation, which says that no special DCD "nulling" needs to be performed on i.MX6ULL. Also, it does not say anything about signing a 3rd IVT section - is that really needed?&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 29 Dec 2023 18:44:04 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX6ULL-Cannot-boot-a-Closed-device-via-SDP-and-uuu/m-p/1781256#M218029</guid>
      <dc:creator>astrand</dc:creator>
      <dc:date>2023-12-29T18:44:04Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX6ULL Cannot boot a Closed device via SDP and uuu</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX6ULL-Cannot-boot-a-Closed-device-via-SDP-and-uuu/m-p/1781278#M218032</link>
      <description>&lt;P&gt;I created another signed version of u-boot, which only signs the HAB Blocks and no DCD Blocks. Then I was able to boot u-boot via SDP using:&lt;/P&gt;&lt;PRE&gt;uuu SDP: write -f u-boot.imx -ivt 0&lt;BR /&gt;uuu SDP: jump -f u-boot.imx &lt;/PRE&gt;&lt;P&gt;Unfortunately, even though flashing via "uuu -b emmc" or "uuu -b emmc_all" works fine, the device still cannot boot on its own.&amp;nbsp;&lt;/P&gt;&lt;P&gt;I also tried clearing the boot partitions from Linux. This gave another effect: The write/jump commands above no longer works, but instead a "normal" boot works:&lt;/P&gt;&lt;PRE&gt;uuu SDP: boot -f u-boot.imx&lt;/PRE&gt;&lt;P&gt;But after trying flash of entire MMC again, I am back to the state where write/jump are needed. Apparently, the method depends on if the MMC boot partitions are blank or not.&lt;/P&gt;&lt;P&gt;In any case, how can I make the device boot from MMC again?&lt;/P&gt;</description>
      <pubDate>Sat, 30 Dec 2023 08:40:14 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX6ULL-Cannot-boot-a-Closed-device-via-SDP-and-uuu/m-p/1781278#M218032</guid>
      <dc:creator>astrand</dc:creator>
      <dc:date>2023-12-30T08:40:14Z</dc:date>
    </item>
  </channel>
</rss>

