<?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>i.MX Processorsのトピックi.MX6 HAB secure boot fuse problem</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/i-MX6-HAB-secure-boot-fuse-problem/m-p/489919#M78509</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am trying to finalize setting up secure boot on our custom board with i.MX6. &lt;/P&gt;&lt;P&gt;I have generated certificates with hab4_pki_tree.sh and built a signed U-boot. Attached the CSF source.&lt;/P&gt;&lt;P&gt;Programmed the SRK hash fuses from U-boot, hab_status returned "No HAB events".&lt;/P&gt;&lt;P&gt;Tried to modify a single byte in the U-boot image, hab_status returned events (failure).&lt;/P&gt;&lt;P&gt;Reverted to good U-boot image, and closed the configuration (burn SEC_CONFIG[1] fuse):&lt;/P&gt;&lt;P&gt;=&amp;gt; fuse prog 0 6 0x02&lt;/P&gt;&lt;P&gt;Then I tried to reset, and board does not boot now.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;And just to ensure the signed U-boot has the CSF pointer set:&lt;/P&gt;&lt;P&gt;$ dd if=./u-boot_csf.imx bs=4 count=12 2&amp;gt;/dev/null | hexdump -v -e '/4 "%04_ax: "' -e '/4 "%08X" "\n"'&lt;/P&gt;&lt;P&gt;0000: 402000D1&lt;/P&gt;&lt;P&gt;0004: 17800000&lt;/P&gt;&lt;P&gt;0008: 00000000&lt;/P&gt;&lt;P&gt;000c: 177FF42C&lt;/P&gt;&lt;P&gt;0010: 177FF420&lt;/P&gt;&lt;P&gt;0014: 177FF400&lt;/P&gt;&lt;P&gt;0018: 1784F000&lt;/P&gt;&lt;P&gt;001c: 00000000&lt;/P&gt;&lt;P&gt;0020: 177FF000&lt;/P&gt;&lt;P&gt;0024: 00052000&lt;/P&gt;&lt;P&gt;0028: 00000000&lt;/P&gt;&lt;P&gt;002c: 401003D2&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This is the second board i "brick", the first one I burned a lot of different fuses regarding disabling JTAG etc. at the same time, so I was not sure what caused the board not to boot. I write "brick" in quotes because I hope by making a new signed U-boot I will be able to resurrect the boards. However, since U-boot is in SPI flash, I need to use a programmer to change U-boot, so not as easy as changing an SD-card.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I welcome any suggestions for how to proceed.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Mikkel Holm Olsen&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Original Attachment has been moved to: &lt;A _jive_internal="true" href="https://community.nxp.com/docs/DOC-335966"&gt;u-boot.csf.zip&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 29 Apr 2016 09:21:08 GMT</pubDate>
    <dc:creator>spacemanspiff</dc:creator>
    <dc:date>2016-04-29T09:21:08Z</dc:date>
    <item>
      <title>i.MX6 HAB secure boot fuse problem</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX6-HAB-secure-boot-fuse-problem/m-p/489919#M78509</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am trying to finalize setting up secure boot on our custom board with i.MX6. &lt;/P&gt;&lt;P&gt;I have generated certificates with hab4_pki_tree.sh and built a signed U-boot. Attached the CSF source.&lt;/P&gt;&lt;P&gt;Programmed the SRK hash fuses from U-boot, hab_status returned "No HAB events".&lt;/P&gt;&lt;P&gt;Tried to modify a single byte in the U-boot image, hab_status returned events (failure).&lt;/P&gt;&lt;P&gt;Reverted to good U-boot image, and closed the configuration (burn SEC_CONFIG[1] fuse):&lt;/P&gt;&lt;P&gt;=&amp;gt; fuse prog 0 6 0x02&lt;/P&gt;&lt;P&gt;Then I tried to reset, and board does not boot now.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;And just to ensure the signed U-boot has the CSF pointer set:&lt;/P&gt;&lt;P&gt;$ dd if=./u-boot_csf.imx bs=4 count=12 2&amp;gt;/dev/null | hexdump -v -e '/4 "%04_ax: "' -e '/4 "%08X" "\n"'&lt;/P&gt;&lt;P&gt;0000: 402000D1&lt;/P&gt;&lt;P&gt;0004: 17800000&lt;/P&gt;&lt;P&gt;0008: 00000000&lt;/P&gt;&lt;P&gt;000c: 177FF42C&lt;/P&gt;&lt;P&gt;0010: 177FF420&lt;/P&gt;&lt;P&gt;0014: 177FF400&lt;/P&gt;&lt;P&gt;0018: 1784F000&lt;/P&gt;&lt;P&gt;001c: 00000000&lt;/P&gt;&lt;P&gt;0020: 177FF000&lt;/P&gt;&lt;P&gt;0024: 00052000&lt;/P&gt;&lt;P&gt;0028: 00000000&lt;/P&gt;&lt;P&gt;002c: 401003D2&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This is the second board i "brick", the first one I burned a lot of different fuses regarding disabling JTAG etc. at the same time, so I was not sure what caused the board not to boot. I write "brick" in quotes because I hope by making a new signed U-boot I will be able to resurrect the boards. However, since U-boot is in SPI flash, I need to use a programmer to change U-boot, so not as easy as changing an SD-card.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I welcome any suggestions for how to proceed.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Mikkel Holm Olsen&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Original Attachment has been moved to: &lt;A _jive_internal="true" href="https://community.nxp.com/docs/DOC-335966"&gt;u-boot.csf.zip&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 29 Apr 2016 09:21:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX6-HAB-secure-boot-fuse-problem/m-p/489919#M78509</guid>
      <dc:creator>spacemanspiff</dc:creator>
      <dc:date>2016-04-29T09:21:08Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX6 HAB secure boot fuse problem</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX6-HAB-secure-boot-fuse-problem/m-p/489920#M78510</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello, &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; First, please check carefully if all actions for HAB boot are implemented&lt;/P&gt;&lt;P&gt;in Your case, using documentation in the following thread&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A _jive_internal="true" href="https://community.nxp.com/servlet/JiveServlet/download/325535-1-259256/secure_boot_on_imx6.pdf" title="https://community.freescale.com/servlet/JiveServlet/download/325535-1-259256/secure_boot_on_imx6.pdf"&gt;https://community.freescale.com/servlet/JiveServlet/download/325535-1-259256/secure_boot_on_imx6.pdf&lt;/A&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.nxp.com/thread/304214"&gt;HAB on Nitrogen_6X IMX6Q board&lt;/A&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In particular - if SRK fuses are burned correctly.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; Also, You may try to load the signed U-boot (in order to check fuses, environment) via&lt;/P&gt;&lt;P&gt;the MFG. Please take a look at Appendix E (Freescale manufacturing tool) of the recent&lt;/P&gt;&lt;P&gt;release of app note AN4581 (Secure Boot on i.MX50, i.MX53, and i.MX 6 Series using HABv4).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://cache.freescale.com/files/32bit/doc/app_note/AN4581.pdf" title="https://cache.freescale.com/files/32bit/doc/app_note/AN4581.pdf"&gt;https://cache.freescale.com/files/32bit/doc/app_note/AN4581.pdf&lt;/A&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Have a great day,&lt;BR /&gt;Yuri&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 03 May 2016 05:19:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX6-HAB-secure-boot-fuse-problem/m-p/489920#M78510</guid>
      <dc:creator>Yuri</dc:creator>
      <dc:date>2016-05-03T05:19:10Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX6 HAB secure boot fuse problem</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX6-HAB-secure-boot-fuse-problem/m-p/489921#M78511</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Yuri,&lt;/P&gt;&lt;P&gt;Yes, I have been very thorough regarding the SRK fuses, ensuring the correct byte order. Also, after burning the SRK fuses, before closing configuration, I get no HAB events when using signed U-boot. Modifying a single byte in U-boot image created HAB events. Then reverted back to good U-boot (checked no HAB events), before closing the configuration.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;On a third board I made a new attempt, this time with 2048-bit certificates, and following the exact same procedure I was able to make it work.&lt;/P&gt;&lt;P&gt;Are there any reports of HAB4 on i.MX6 not working correctly with 4096-bit certificates? Is there anything I could change in my CSF, that would make this work (maybe the "Engine = Any")?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 10 May 2016 14:16:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX6-HAB-secure-boot-fuse-problem/m-p/489921#M78511</guid>
      <dc:creator>spacemanspiff</dc:creator>
      <dc:date>2016-05-10T14:16:42Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX6 HAB secure boot fuse problem</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX6-HAB-secure-boot-fuse-problem/m-p/489922#M78512</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; Key length in bits for PKI tree of 4096 is supported.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Engine = CAAM&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Yuri.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 11 May 2016 08:56:00 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX6-HAB-secure-boot-fuse-problem/m-p/489922#M78512</guid>
      <dc:creator>Yuri</dc:creator>
      <dc:date>2016-05-11T08:56:00Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX6 HAB secure boot fuse problem</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX6-HAB-secure-boot-fuse-problem/m-p/489923#M78513</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &lt;A class="jx-jive-macro-user" href="https://community.nxp.com/people/YuriMuhin_ng"&gt;YuriMuhin_ng&lt;/A&gt;​,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks, it does fix the issue, but this information should &lt;STRONG&gt;appear in the documentation!&lt;/STRONG&gt; Nowhere is written that you can have a different behavior between close and open configuration. Also there's no mention of a different Engine parameter when using 4096 key.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I consider it a bug that there's no HAB event reported when open and the close configuration fails.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Gary&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 23 Aug 2016 10:18:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX6-HAB-secure-boot-fuse-problem/m-p/489923#M78513</guid>
      <dc:creator>gary_bisson</dc:creator>
      <dc:date>2016-08-23T10:18:10Z</dc:date>
    </item>
  </channel>
</rss>

