how to determine if fuse is used or other secure boot options?
Hi all, i have a board with tegra k1 chip. how to determine if fuse or other secure boot options is used? I work on u-boot, and i can't start this. I have a full firmware for flash board from Nvflash(bootloader.bin, nvtboot.bin, tos.img, eks.dat, xusb_firmware, bct and e.t.c). is there any way to run u-boot on my board? PMIC: TPS65913 CHARGER: bq27520 this is board.bct.cfg, i get this board.bin from nvlash and i use bct_dump for make this board.bct.cfg. [code]Version = 0x00400001; BlockSize = 0x00004000; PageSize = 0x00000200; PartitionSize = 0x08000000; OdmData = 0x0049c000; JtagCtrl = 0x00000000; RsaKeyModulus: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 RsaPssSigBct: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ChipUid = 0x00000000000000000000000000000000; # Bootloader used = 2; # Bootloaders max = 4; # BCT size = 8192; # Hash size = 16; # Crypto offset = 1712; # Crypto length = 6480; # Max BCT search blocks = 64; # # These values are set by cbootimage using the # bootloader provided by the Bootloader=... # configuration option. # # Bootloader[0].Version = 0x00000001; # Bootloader[0].Start block = 640; # Bootloader[0].Start page = 0; # Bootloader[0].Length = 100320; # Bootloader[0].Load address = 0x4000e000; # Bootloader[0].Entry point = 0x4000e000; # Bootloader[0].Attributes = 0x00000006; # Bootloader[0].Bl AES Hash = c7004faafe16bbbd7f64c33e83de5e48; # Bootloader[0].RsaPssSigBl: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 # Bootloader[1].Version = 0x00000001; # Bootloader[1].Start block = 768; # Bootloader[1].Start page = 0; # Bootloader[1].Length = 4194304; # Bootloader[1].Load address = 0x80108000; # Bootloader[1].Entry point = 0x80108000; # Bootloader[1].Attributes = 0x00000007; # Bootloader[1].Bl AES Hash = 2e097b5550ebf2b8d54be84000b6908e; # Bootloader[1].RsaPssSigBl: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 DevType[0] = NvBootDevType_Sdmmc; DeviceParam[0].SdmmcParams.ClockDivider = 0x00000009; DeviceParam[0].SdmmcParams.DataWidth = NvBootSdmmcDataWidth_8Bit; DeviceParam[0].SdmmcParams.MaxPowerClassSupported = 0x00000000; DeviceParam[0].SdmmcParams.MultiPageSupport = 0x00000000; [/code] P.S. I successfuly port 3.10.40 l4t 21.5 kernel, all works.
Hi all, i have a board with tegra k1 chip.
how to determine if fuse or other secure boot options is used?
I work on u-boot, and i can't start this.

I have a full firmware for flash board from Nvflash(bootloader.bin, nvtboot.bin, tos.img, eks.dat, xusb_firmware, bct and e.t.c).

is there any way to run u-boot on my board?

PMIC: TPS65913
CHARGER: bq27520
this is board.bct.cfg, i get this board.bin from nvlash and i use bct_dump for make this board.bct.cfg.
Version       = 0x00400001;
BlockSize = 0x00004000;
PageSize = 0x00000200;
PartitionSize = 0x08000000;
OdmData = 0x0049c000;
JtagCtrl = 0x00000000;
RsaKeyModulus:
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
RsaPssSigBct:
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ChipUid = 0x00000000000000000000000000000000;
# Bootloader used = 2;
# Bootloaders max = 4;
# BCT size = 8192;
# Hash size = 16;
# Crypto offset = 1712;
# Crypto length = 6480;
# Max BCT search blocks = 64;
#
# These values are set by cbootimage using the
# bootloader provided by the Bootloader=...
# configuration option.
#
# Bootloader[0].Version = 0x00000001;
# Bootloader[0].Start block = 640;
# Bootloader[0].Start page = 0;
# Bootloader[0].Length = 100320;
# Bootloader[0].Load address = 0x4000e000;
# Bootloader[0].Entry point = 0x4000e000;
# Bootloader[0].Attributes = 0x00000006;
# Bootloader[0].Bl AES Hash = c7004faafe16bbbd7f64c33e83de5e48;
# Bootloader[0].RsaPssSigBl:
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
# Bootloader[1].Version = 0x00000001;
# Bootloader[1].Start block = 768;
# Bootloader[1].Start page = 0;
# Bootloader[1].Length = 4194304;
# Bootloader[1].Load address = 0x80108000;
# Bootloader[1].Entry point = 0x80108000;
# Bootloader[1].Attributes = 0x00000007;
# Bootloader[1].Bl AES Hash = 2e097b5550ebf2b8d54be84000b6908e;
# Bootloader[1].RsaPssSigBl:
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

DevType[0] = NvBootDevType_Sdmmc;
DeviceParam[0].SdmmcParams.ClockDivider = 0x00000009;
DeviceParam[0].SdmmcParams.DataWidth = NvBootSdmmcDataWidth_8Bit;
DeviceParam[0].SdmmcParams.MaxPowerClassSupported = 0x00000000;
DeviceParam[0].SdmmcParams.MultiPageSupport = 0x00000000;

P.S. I successfuly port 3.10.40 l4t 21.5 kernel, all works.

#1
Posted 02/07/2018 10:25 AM   
hello Insei, please refer to [Release 28.1 development guide]->[Security]->[Secureboot] you're able to read odm_production_mode to know the board is fused or not. thanks [code]sudo cat /sys/devices/platform/tegra-fuse/odm_production_mode[/code]
hello Insei,

please refer to [Release 28.1 development guide]->[Security]->[Secureboot]
you're able to read odm_production_mode to know the board is fused or not.
thanks

sudo cat /sys/devices/platform/tegra-fuse/odm_production_mode

#2
Posted 02/08/2018 06:08 AM   
Many thanks. this returned 0x0000000 Okay, next, i try to flash with nvflash my board, in l4t 19.3 log: [code]sudo ./nvflash --bct bct.cfg --setbct --configfile flash.cfg --create --bl bootloader.bin --odmdata 0x0049C000 --go [sudo] password for insei: Nvflash 4.13.0000 started chip uid from BR is: 0x34001001740db0c0200000000d038140 rcm version 0X400001 Skipping BoardID read at miniloader level System Information: chip name: unknown chip id: 0x40 major: 1 minor: 1 chip sku: 0x27 chip uid: 0x00000001740db0c0200000000d038140 macrovision: disabled hdcp: enabled jtag: enabled sbk burned: false board id: 0 warranty fuse: 0 dk burned: true boot device: emmc operating mode: 3 device config strap: 0 device config fuse: 0 sdram config strap: 0 RCM communication completed BCT sent successfully odm data: 0x49c000 downloading bootloader -- load address: 0x80108000 entry point: 0x80108000 sending file: bootloader.bin / 4194304/4194304 bytes sent bootloader.bin sent successfully waiting for bootloader to initialize[/code] no more output,[b] but board emits an electronic squeak[/b] in L4T 21.5 [code]sudo ./nvflash --bct mocha_bct.cfg --setbct --configfile flash.cfg --create --bl u-boot.bin --odmdata 0x0049C000 --go Nvflash 4.13.0000 started BR_CID: 0x34001001740db0c0200000000d038140 rcm version 0X400001 Skipping BoardID read at miniloader level System Information: chip name: unknown chip id: 0x40 major: 1 minor: 1 chip sku: 0x0 chip uid: 0x00000001740db0c0200000000d038140 macrovision: disabled hdcp: disabled jtag: disabled sbk burned: false board id: 0 warranty fuse: 0 dk burned: false boot device: emmc operating mode: 3 device config strap: 0 device config fuse: 0 sdram config strap: 0 RCM communication completed BCT sent successfully sending file: tegra124-mocha.dtb - 94588/94588 bytes sent tegra124-mocha.dtb sent successfully odm data: 0x49c000 downloading bootloader -- load address: 0x83d88000 entry point: 0x83d88000 download command failed NvError 0x120002 command failure/warning: bootloader download failed (bad data)[/code] but my board not have a debug port, and i can't get u-boot logs. bootloder.bin and u-boot.bin from L4T this is different loader? If yes, Nvidia can get source for bootloader.bin? I try to write init for my board if yes. My board have a different configuration tps65913 pmic.
Many thanks. this returned 0x0000000

Okay, next, i try to flash with nvflash my board, in l4t 19.3 log:
sudo ./nvflash --bct bct.cfg --setbct --configfile flash.cfg --create --bl bootloader.bin --odmdata 0x0049C000 --go
[sudo] password for insei:
Nvflash 4.13.0000 started
chip uid from BR is: 0x34001001740db0c0200000000d038140
rcm version 0X400001
Skipping BoardID read at miniloader level
System Information:
chip name: unknown
chip id: 0x40 major: 1 minor: 1
chip sku: 0x27
chip uid: 0x00000001740db0c0200000000d038140
macrovision: disabled
hdcp: enabled
jtag: enabled
sbk burned: false
board id: 0
warranty fuse: 0
dk burned: true
boot device: emmc
operating mode: 3
device config strap: 0
device config fuse: 0
sdram config strap: 0

RCM communication completed
BCT sent successfully
odm data: 0x49c000
downloading bootloader -- load address: 0x80108000 entry point: 0x80108000
sending file: bootloader.bin
/ 4194304/4194304 bytes sent
bootloader.bin sent successfully
waiting for bootloader to initialize

no more output, but board emits an electronic squeak
in L4T 21.5
sudo ./nvflash --bct mocha_bct.cfg --setbct --configfile flash.cfg  --create --bl u-boot.bin --odmdata 0x0049C000 --go
Nvflash 4.13.0000 started
BR_CID: 0x34001001740db0c0200000000d038140
rcm version 0X400001
Skipping BoardID read at miniloader level
System Information:
chip name: unknown
chip id: 0x40 major: 1 minor: 1
chip sku: 0x0
chip uid: 0x00000001740db0c0200000000d038140
macrovision: disabled
hdcp: disabled
jtag: disabled
sbk burned: false
board id: 0
warranty fuse: 0
dk burned: false
boot device: emmc
operating mode: 3
device config strap: 0
device config fuse: 0
sdram config strap: 0

RCM communication completed
BCT sent successfully
sending file: tegra124-mocha.dtb
- 94588/94588 bytes sent
tegra124-mocha.dtb sent successfully
odm data: 0x49c000
downloading bootloader -- load address: 0x83d88000 entry point: 0x83d88000
download command failed NvError 0x120002
command failure/warning: bootloader download failed (bad data)

but my board not have a debug port, and i can't get u-boot logs.

bootloder.bin and u-boot.bin from L4T this is different loader? If yes, Nvidia can get source for bootloader.bin? I try to write init for my board if yes. My board have a different configuration tps65913 pmic.

#3
Posted 02/08/2018 10:25 AM   
hello Insei, sorry, we only public u-boot sources. please also refer to [Release 21.5 Development Guide]-> [Downloads]-> [PDF Documentation]-> [Platform Adaptation and Bring-Up Guide] for more details. thanks
Answer Accepted by Forum Admin
hello Insei,

sorry, we only public u-boot sources.
please also refer to [Release 21.5 Development Guide]-> [Downloads]-> [PDF Documentation]-> [Platform Adaptation and Bring-Up Guide] for more details.
thanks

#4
Posted 02/13/2018 09:07 AM   
Scroll To Top

Add Reply