HAB Secure Boot Implementation on i.MX6

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

HAB Secure Boot Implementation on i.MX6

136 Views
RIthul
Contributor I

I’m working on enabling HAB (High Assurance Boot) on an i.MX6D board. U-Boot is signed and is in Open mode, but during the boot process, I see the following log:

selecting dtb file for el....
Using boot/uImage-imx6.dtb...
48129 bytes read in 4 ms (11.5 MiB/s)
hab fuse not enabled

Authenticate image from DDR location 0x12800000...
bad magic magic=0xff length=0xffff version=0xff
bad length magic=0xff length=0xffff version=0xff
bad version magic=0xff length=0xffff version=0xff
Error: Invalid IVT structure

and also, this output:

=> hab_status

 

Secure boot disabled
prefetch abort
pc : [<00007b50>]          lr : [<8ef790d9>]
reloc pc : [<88891b50>]    lr : [<178030d9>]
sp : 8df68a28  ip : 8ef79249     fp : 00000001
r10: 8effb030  r9 : 8df75ea0     r8 : 00000000
r7 : 8ef976f9  r6 : 8df7a6a8     r5 : 00000000  r4 : 8eff876c
r3 : 00007b55  r2 : 00000001     r1 : 8df68a34  r0 : 8df68a30
Flags: nzCv  IRQs off  FIQs off  Mode SVC_32 (T)
Code: f004 fe4d 4604 4620 (b004) e562 
Resetting CPU ...

The system continues to boot, but HAB reports this Error: Invalid IVT structure, my questions are:

 

  • Do we need to sign the kernel image also for HAB secure boot in open mode?
  • What is the recommended memory map and IVT placement for signing.
  • why is this Error: Invalid IVT structure.

 

Labels (2)
Tags (1)
0 Kudos
Reply
0 Replies
%3CLINGO-SUB%20id%3D%22lingo-sub-2248587%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EHAB%20Secure%20Boot%20Implementation%20on%20i.MX6%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2248587%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EI%E2%80%99m%20working%20on%20enabling%20%3CSTRONG%3EHAB%20(High%20Assurance%20Boot)%3C%2FSTRONG%3E%20on%20an%20%3CSTRONG%3Ei.MX6D%3C%2FSTRONG%3E%20board.%20U-Boot%20is%20signed%20and%20is%20in%20Open%20mode%2C%20but%20during%20the%20boot%20process%2C%20I%20see%20the%20following%20log%3A%3C%2FP%3E%3CP%3E%3CSTRONG%3Eselecting%20dtb%20file%20for%20el....%3C%2FSTRONG%3E%3CBR%20%2F%3E%3CSTRONG%3EUsing%20boot%2FuImage-imx6.dtb...%3C%2FSTRONG%3E%3CBR%20%2F%3E%3CSTRONG%3E48129%20bytes%20read%20in%204%20ms%20(11.5%20MiB%2Fs)%3C%2FSTRONG%3E%3CBR%20%2F%3E%3CSTRONG%3Ehab%20fuse%20not%20enabled%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3EAuthenticate%20image%20from%20DDR%20location%200x12800000...%3C%2FSTRONG%3E%3CBR%20%2F%3E%3CSTRONG%3Ebad%20magic%20magic%3D0xff%20length%3D0xffff%20version%3D0xff%3C%2FSTRONG%3E%3CBR%20%2F%3E%3CSTRONG%3Ebad%20length%20magic%3D0xff%20length%3D0xffff%20version%3D0xff%3C%2FSTRONG%3E%3CBR%20%2F%3E%3CSTRONG%3Ebad%20version%20magic%3D0xff%20length%3D0xffff%20version%3D0xff%3C%2FSTRONG%3E%3CBR%20%2F%3E%3CSTRONG%3EError%3A%20Invalid%20IVT%20structure%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FSTRONG%3Eand%20also%2C%20this%20output%3A%3C%2FP%3E%3CP%3E%3CSTRONG%3E%3D%26gt%3B%20hab_status%3C%2FSTRONG%3E%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%3CSTRONG%3ESecure%20boot%20disabled%3C%2FSTRONG%3E%3CBR%20%2F%3E%3CSTRONG%3Eprefetch%20abort%3C%2FSTRONG%3E%3CBR%20%2F%3E%3CSTRONG%3Epc%20%3A%20%5B%26lt%3B00007b50%26gt%3B%5D%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20lr%20%3A%20%5B%26lt%3B8ef790d9%26gt%3B%5D%3C%2FSTRONG%3E%3CBR%20%2F%3E%3CSTRONG%3Ereloc%20pc%20%3A%20%5B%26lt%3B88891b50%26gt%3B%5D%26nbsp%3B%26nbsp%3B%26nbsp%3B%20lr%20%3A%20%5B%26lt%3B178030d9%26gt%3B%5D%3C%2FSTRONG%3E%3CBR%20%2F%3E%3CSTRONG%3Esp%20%3A%208df68a28%26nbsp%3B%20ip%20%3A%208ef79249%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20fp%20%3A%2000000001%3C%2FSTRONG%3E%3CBR%20%2F%3E%3CSTRONG%3Er10%3A%208effb030%26nbsp%3B%20r9%20%3A%208df75ea0%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20r8%20%3A%2000000000%3C%2FSTRONG%3E%3CBR%20%2F%3E%3CSTRONG%3Er7%20%3A%208ef976f9%26nbsp%3B%20r6%20%3A%208df7a6a8%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20r5%20%3A%2000000000%26nbsp%3B%20r4%20%3A%208eff876c%3C%2FSTRONG%3E%3CBR%20%2F%3E%3CSTRONG%3Er3%20%3A%2000007b55%26nbsp%3B%20r2%20%3A%2000000001%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20r1%20%3A%208df68a34%26nbsp%3B%20r0%20%3A%208df68a30%3C%2FSTRONG%3E%3CBR%20%2F%3E%3CSTRONG%3EFlags%3A%20nzCv%26nbsp%3B%20IRQs%20off%26nbsp%3B%20FIQs%20off%26nbsp%3B%20Mode%20SVC_32%20(T)%3C%2FSTRONG%3E%3CBR%20%2F%3E%3CSTRONG%3ECode%3A%20f004%20fe4d%204604%204620%20(b004)%20e562%26nbsp%3B%3C%2FSTRONG%3E%3CBR%20%2F%3E%3CSTRONG%3EResetting%20CPU%20...%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3EThe%20system%20continues%20to%20boot%2C%20but%20HAB%20reports%20this%20Error%3A%3CSTRONG%3E%20Invalid%20IVT%20structure%3C%2FSTRONG%3E%2C%20my%26nbsp%3Bquestions%20are%3A%3C%2FP%3E%3CBR%20%2F%3E%3CUL%3E%3CLI%3E%3CSTRONG%3EDo%20we%20need%20to%20sign%20the%20kernel%20image%20also%20for%20HAB%20secure%20boot%20in%20open%20mode%3F%3C%2FSTRONG%3E%3C%2FLI%3E%3CLI%3E%3CSTRONG%3EWhat%20is%20the%20recommended%20memory%20map%20and%20IVT%20placement%20for%20signing.%3C%2FSTRONG%3E%3C%2FLI%3E%3CLI%3E%3CSTRONG%3Ewhy%20is%20this%20Error%3A%20Invalid%20IVT%20structure.%3C%2FSTRONG%3E%3C%2FLI%3E%3C%2FUL%3E%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-2248587%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CLINGO-LABEL%3Ei.MX6Dual%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3ELinux%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E