Replies: 2 comments
|
NVIDIA's suggestion ( https://forums.developer.nvidia.com/t/bricked-my-module-setting-up-a-custom-ekb/372455 ) is that I am providing the wrong PKC key, but that is definitely not the case. I've been using this same key for quite some time without any problems. And it also makes no sense why burning the OEM K1 key would prevent normal booting. Even if the EKB became invalid (as I expect it would), Linux should still boot, but without working OP-TEE storage. And I should be able to flash a new image with the correct EKB. |
|
It turns out that they were right. Looking more closely at the PKC key, it was a 2048-bit RSA key instead of the 3072-bit key described by the BootSecurityInfo fuses. When I re-generated my keys and made sure I actually got a 3702-bit key, it all worked as expected. I have no idea why this mismatched PKC hash worked (or at least allowed Linux to boot) without an SBK or OemK1 key, but that's definitely why it failed in the presence of the encryption keys. I was also surprised to see that Op-Tee asserts, preventing Linux from loading, if the EKB isn't encrypted with the OemK1 key. It wasn't a big deal to include it in the installer image, but it is kind of annoying because it means I can't just take a generic (unsigned) tegraflash image and sign it at install time (with the But I'm no longer blocked, so I'm happy again. |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
I have been operating successfully using a module where the PKC Hash was fused. This was passed to
odmfuse.sh, and worked fine:For the next step in getting secure boot working (OP-TEE and a custom EKB), I burned this via
odmfuse.sh:The burning appears to have succeeded. The module's console output:
But the module no longer boots. It always powers-on to recovery mode. Any attempt to access it via USB (e.g., to flash an image, or read fuses or even re-run odmfuse.sh) always fails during BootROM communication trying to send the MB1 image:
Running doflash.sh:
And from odmfuse.sh:
Any ideas? I'm not expecting to be able to recover this module, but I would like to know what I did wrong so I don't brick another one.
All reactions