Change cboot boot logo with customer design carrier board

I can change cboot boot logo on TX2 devkit with following ticket method. But my carrier board can’t show anything when in cboot start process. I can see HDMI initialization is failed from start log, but when it start in kernel, HDMI display is ok. How to enable HDMI in cboot with my carrier board to show cboot logo?

https://devtalk.nvidia.com/default/topic/1031327/jetson-tx2/change-cboot-boot-logo-l4t-28-2-/

NOTICE:  BL31: v1.2(release):e1e4477
NOTICE:  BL31: Built : 20:40:15, Mar  1 2018
NOTICE:  Trusty image missing.
ERROR:   Error initializing runtime service trusty_fast
[0001.182] I> Welcome to Cboot
[0001.184] I> Cboot Version: 00.00.2014.50-t186-a5d7e390
[0001.189] I> CPU-BL Params @ 0x277000000
[0001.193] I>  0) Base:0x00000000 Size:0x00000000
[0001.198] I>  1) Base:0x277f00000 Size:0x00100000
[0001.202] I>  2) Base:0x277e00000 Size:0x00100000
[0001.207] I>  3) Base:0x277d00000 Size:0x00100000
[0001.211] I>  4) Base:0x277c00000 Size:0x00100000
[0001.216] I>  5) Base:0x277b00000 Size:0x00100000
[0001.220] I>  6) Base:0x277800000 Size:0x00200000
[0001.225] I>  7) Base:0x277400000 Size:0x00400000
[0001.229] I>  8) Base:0x277a00000 Size:0x00100000
[0001.234] I>  9) Base:0x277300000 Size:0x00100000
[0001.238] I> 10) Base:0x276800000 Size:0x00800000
[0001.243] I> 11) Base:0x30000000 Size:0x00040000
[0001.247] I> 12) Base:0xf0000000 Size:0x00100000
[0001.252] I> 13) Base:0x30040000 Size:0x00001000
[0001.256] I> 14) Base:0x30048000 Size:0x00001000
[0001.260] I> 15) Base:0x30049000 Size:0x00001000
[0001.265] I> 16) Base:0x3004a000 Size:0x00001000
[0001.269] I> 17) Base:0x3004b000 Size:0x00001000
[0001.274] I> 18) Base:0x3004c000 Size:0x00001000
[0001.278] I> 19) Base:0x3004d000 Size:0x00001000
[0001.283] I> 20) Base:0x3004e000 Size:0x00001000
[0001.287] I> 21) Base:0x3004f000 Size:0x00001000
[0001.291] I> 22) Base:0x00000000 Size:0x00000000
[0001.296] I> 23) Base:0xf0100000 Size:0x00010000
[0001.300] I> 24) Base:0x00000000 Size:0x00000000
[0001.305] I> 25) Base:0x00000000 Size:0x00000000
[0001.309] I> 26) Base:0x00000000 Size:0x00000000
[0001.314] I> 27) Base:0x00000000 Size:0x00000000
[0001.318] I> 28) Base:0x84400000 Size:0x00400000
[0001.322] I> 29) Base:0x30000000 Size:0x00010000
[0001.327] I> 30) Base:0x278000000 Size:0x08000000
[0001.331] I> 31) Base:0x00000000 Size:0x00000000
[0001.336] I> 32) Base:0x276000000 Size:0x00600000
[0001.340] I> 33) Base:0x80000000 Size:0x70000000
[0001.345] I> 34) Base:0xf0110000 Size:0x185ef0000
[0001.349] I> 35) Base:0x00000000 Size:0x00000000
[0001.354] I> 36) Base:0x00000000 Size:0x00000000
[0001.358] I> 37) Base:0x2772e0000 Size:0x00020000
[0001.363] I> 38) Base:0x84000000 Size:0x00400000
[0001.367] I> 39) Base:0x96000000 Size:0x02400000
[0001.372] I> 40) Base:0x85000000 Size:0x01200000
[0001.376] I> 41) Base:0x277000000 Size:0x00280000
[0001.381] I> 42) Base:0x00000000 Size:0x00000000
[0001.385] I> 43) Base:0x00000000 Size:0x00000000
[0001.389] GIC-SPI Target CPU: 4
[0001.393] Interrupts Init done
[0001.396] calling constructors
[0001.399] initializing heap
[0001.402] initializing threads
[0001.405] initializing timers
[0001.408] creating bootstrap completion thread
[0001.413] top of bootstrap2()
[0001.416] CPU: ARM Cortex A57
[0001.419] CPU: MIDR: 0x411FD073, MPIDR: 0x80000100
[0001.424] initializing platform
[0001.427] I> Boot-device: eMMC
[0001.431] I> sdmmc bdev is already initialized
[0001.435] I> Reading GPT from 512 for device 00000003
[0001.441] I> Reading GPT from 8388096 for device 00000003
[0001.448] I> Found 13 partitions in 00000003 device
[0001.452] I> Reading GPT from 512 for device 00010003
[0001.458] I> Found 29 partitions in 00010003 device
[0001.463] W> opt-in fuse is not set, skip fuse_burning
[0001.468] I> Bl_dtb @0x8520f400
[0001.471] I> gpio framework initialized
[0001.475] I> tegrabl_gpio_driver_register: register 'tegra_gpio_main_driver' driver
[0001.482] I> tegrabl_gpio_driver_register: register 'tegra_gpio_aon_driver' driver
[0001.489] I> tegrabl_tca9539_init: i2c bus: 0, slave addr: 0xee
[0001.496] E> i2c dev write failed
[0001.500] E> tca9539_device_init: failed to write polar reg
[0001.505] E> tegrabl_tca9539_init: failed to init device!
[0001.510] E> GPIO TCA9539 driver init failed
[0001.627] I> decompressor handler not found
[0001.634] I> fixed regulator driver initialized
[0001.670] I> register 'maxim' power off handle
[0001.676] I> virtual i2c enabled
[0001.679] I> registered 'maxim,max77620' pmic
[0001.683] I> tegrabl_gpio_driver_register: register 'max77620-gpio' driver
[0001.694] I> Find /i2c@c250000's alias i2c7
[0001.698] I> Reading eeprom i2c=7 address=0x50
[0001.728] I> Device at /i2c@c250000:0x50
[0001.732] I> Reading eeprom i2c=7 address=0x57
[0001.737] E> i2c dev read failed
[0001.740] E> eeprom: Failed to read I2C slave device
[0001.745] I> Eeprom read failed 0x1a89800d
[0001.749] I> Find /i2c@c240000's alias i2c1
[0001.753] I> Reading eeprom i2c=1 address=0x51
[0001.759] E> i2c dev read failed
[0001.762] E> eeprom: Retry to read I2C slave device.
[0001.767] E> i2c dev read failed
[0001.770] E> eeprom: Failed to read I2C slave device
[0001.775] I> Eeprom read failed 0x1a89800d
[0001.779] I> Find /i2c@3160000's alias i2c0
[0001.783] I> Reading eeprom i2c=0 address=0x50
[0001.788] E> i2c dev read failed
[0001.791] E> eeprom: Failed to read I2C slave device
[0001.796] I> Eeprom read failed 0x1a89800d
[0001.801] I> Find /i2c@3180000's alias i2c2
[0001.805] I> Reading eeprom i2c=2 address=0x54
[0001.809] I> Enabling gpio chip_id = 2, gpio pin = 9
[0001.814] C> GPIO driver for chip_id 0x2 could not be found
[0001.819] E> cam_eeprom_read: Can't get gpio driver
[0001.824] I> Eeprom read failed 0x2693400d
[0001.828] I> create_pm_ids: id: 3310-1000-B02-B, len: 15
[0001.833] I> config: mem-type:00,power-config:00,misc-config:00,modem-config:00,touch-config:00,display-config:00,, len: 93
[0001.847] I> found one nvdisp nodes at offset = 104764
[0001.852] I> found one nvdisp nodes at offset = 105680
[0001.863] E> could not find regulator
[0001.866] I> found one nvdisp nodes at offset = 106484
[0001.871] I> no valid display unit config found in dtb
[0001.876] W> display init failed
[0001.879] initializing target
[0001.882] calling apps_init()
[0001.885] starting app android_boot_app
[0001.890] I> Gpio keyboard init success
[0001.893] I> Kernel type = Normal
[0001.896] I> Loading kernel/boot.img from storage ...
[0001.901] W> No valid slot number is found in scratch register
[0001.907] W> Return default slot: _a
[0001.910] I> A/B: bin_type (0) slot 0
[0001.914] I> Loading partition kernel at 0xa8000000
[0002.674] I> tegrabl_auth_payload: partition kernel (bin_type 0)
[0002.680] W> No valid slot number is found in scratch register
[0002.685] W> Return default slot: _a
[0002.689] I> A/B: bin_type (1) slot 0
[0002.692] I> Loading partition kernel-dtb at 0x92000000
[0002.704] I> tegrabl_auth_payload: partition kernel-dtb (bin_type 1)
[0002.710] I> Kernel DTB @ 0x92000000
[0002.714] I> Checking boot.img header magic ... [0002.718] I> [OK]
[0002.720] I> Valid boot.img @ 0xa8000000
[0002.724] I> decompressor handler not found
[0002.728] I> Copying kernel image (488466 bytes) from 0xa8000800 to 0x80080000 ... [0002.735] I> Done
[0002.737] I> Move ramdisk (len: 0) from 0xa8078000 to 0x9d000000
[0002.744] I> Updated bpmp info to DTB
[0002.749] I> Ramdisk: Base: 0x9d000000; Size: 0x0
[0002.754] I> Updated initrd info to DTB
[0002.758] E> tegrabl_linuxboot_add_disp_param, du 0 failed to get display params
[0002.765] E> tegrabl_linuxboot_add_disp_param, du 0 failed to get display params
[0002.772] E> tegrabl_linuxboot_add_disp_param, du 0 failed to get display params
[0002.779] I> disabled_core_mask: 0xffffff0c
[0002.783] W> No valid slot number is found in scratch register
[0002.789] W> Return default slot: _a
[0002.792] I> Active slot suffix:
[0002.795] I> add_boot_slot_suffix: slot_suffix =
[0002.800] I> add_serialno: Serial Num = 0322317112929
[0002.805] I> Linux Cmdline: root=/dev/mmcblk0p1 rw rootwait console=ttyS0,115200n8 console=tty0 OS=l4t fbcon=map:0 net.ifnames=0 memtype=0 video=tegrafb no_console_suspend=1 earlycon=uart8250,mmio32,0x03100000 nvdumper_reserved=0x2772e0000 gpt tegraid=18.1.2.0.0 tegra_keep_boot_clocks maxcpus=6 boot.slot_suffix= boot.ratchetvalues=0.2.1 androidboot.serialno=0322317112929 bl_prof_dataptr=0x10000@0x277040000 sdhci_tegra.en_boot_part_access=1
[0002.844] I> Updated bootarg info to DTB
[0002.847] E> "plugin-manager" doesn't exist, creating
[0002.852] E> "odm-data" doesn't exist, creating
[0002.858] I> eeprom_get_mac_addr: MAC (type: 0): 60:60:1f:a9:24:40
[0002.864] I> eeprom_get_mac_addr: MAC (type: 1): 00:04:00:11:dd:3f
[0002.870] I> eeprom_get_mac_addr: MAC (type: 2): 60:60:1f:a9:24:39
[0002.877] E> "ids" doesn't exist, creating
[0002.881] E> "connection" doesn't exist, creating
[0002.885] E> "configs" doesn't exist, creating
[0002.889] I> create_pm_ids: id: 3310-1000-B02-B, len: 15
[0002.895] I> config: mem-type:00,power-config:00,misc-config:00,modem-config:00,touch-config:00,display-config:00,, len: 93
[0002.905] I> Adding plugin-manager/ids/3310-1000-B02=/i2c@c250000:module@0x50
[0002.912] E> "i2c@c250000" doesn't exist, creating
[0002.917] E> "module@0x50" doesn't exist, creating
[0002.924] I> Adding plugin-manager/ids/3310-1000-B02-B
[0002.931] I> Adding plugin-manager/configs/3310-mem-type 00
[0002.936] I> Adding plugin-manager/configs/3310-power-config 00
[0002.942] I> Adding plugin-manager/configs/3310-misc-config 00
[0002.948] I> Adding plugin-manager/configs/3310-modem-config 00
[0002.954] I> Adding plugin-manager/configs/3310-touch-config 00
[0002.960] I> Adding plugin-manager/configs/3310-display-config 00
[0002.966] E> "chip-id" doesn't exist, creating
[0002.970] I> Adding plugin-manager/chip-id/A02P
[0002.977] I> added [base:0x80000000, size:0x70000000] to /memory
[0002.982] I> added [base:0xf0200000, size:0x185e00000] to /memory
[0002.988] I> added [base:0x276600000, size:0x200000] to /memory
[0002.994] E> WARNING: Failed to pass NS DRAM ranges to TOS
[0002.999] I> Updated memory info to DTB
[0003.005] E> "reset" doesn't exist, creating
[0003.009] E> "pmc-reset-reason" doesn't exist, creating
[0003.014] E> "pmic-reset-reason" doesn't exist, creating
[0003.020] I> disabled_core_mask: 0xffffff0c
[0003.032] I> Add serial number as DT property
[0003.037] I> tegrabl_load_kernel_and_dtb: Done
[0003.041] E> tegrabl_display_clear: display is not initialized
[0003.046] W> Boot logo display failed...

guohoujin2006,

We just released the source code of cboot. Could you try to add some debug log in it and see what happened?

The file is “tegrabl_display_dtb.c” and you could check why there is no valid display unit in “tegrabl_display_get_du_list”

Hi WayneWWW:

Thanks for you reply, I download cboot source code from following website, and I meet a error when I compile it.
https://developer.nvidia.com/embedded/linux-tegra

ubuntu@OptiPlex-7050:~/Downloads/cboot$ export CROSS_COMPILE=/opt/linaro/gcc-linaro-5.3-2016.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-
ubuntu@OptiPlex-7050:~/Downloads/cboot$ make -C ./bootloader/partner/t18x/cboot PROJECT=t186 TOOLCHAIN_PREFIX="${CROSS_COMPILE}" DEBUG=2 BUILDROOT="${PWD}"/out NV_BUILD_SYSTEM_TYPE=l4t NOECHO=@
make: Entering directory '/home/ubuntu/Downloads/cboot/bootloader/partner/t18x/cboot'
LKROOT=. LKINC=". " make -rR -f ./engine.mk -I. 
make[1]: Entering directory '/home/ubuntu/Downloads/cboot/bootloader/partner/t18x/cboot'
PROJECT = t186
PLATFORM = t186
TARGET = t186
TOOLCHAIN_PREFIX = /opt/linaro/gcc-linaro-5.3-2016.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-
LIBGCC = /opt/linaro/gcc-linaro-5.3-2016.02-x86_64_aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/5.3.1/libgcc.a
GLOBAL_COMPILEFLAGS = -g -fno-builtin -finline -W -Wall -Wno-multichar -Wno-unused-parameter -Wno-unused-function -include /home/ubuntu/Downloads/cboot/out/build-t186/build_config.h -ffunction-sections -fdata-sections 
including app app/android_boot dev kernel lib/exit lib/menu platform platform/t186/../../../../common/arch/arm64 platform/t186/../../../../common/drivers/crypto platform/t186/../../../../common/drivers/display platform/t186/../../../../common/drivers/eeprom platform/t186/../../../../common/drivers/gpio platform/t186/../../../../common/drivers/i2c platform/t186/../../../../common/drivers/i2c_dev platform/t186/../../../../common/drivers/keyboard platform/t186/../../../../common/drivers/pmic platform/t186/../../../../common/drivers/pmic/max77620 platform/t186/../../../../common/drivers/qspi platform/t186/../../../../common/drivers/qspi_flash platform/t186/../../../../common/drivers/regulator platform/t186/../../../../common/drivers/sata platform/t186/../../../../common/drivers/spi platform/t186/../../../../common/drivers/ufs platform/t186/../../../../common/lib/profiler platform/t186/../../../../common/lib/psci platform/t186/../../../../common/lib/tegrabl_bootloader_update platform/t186/../../../../common/lib/tegrabl_eeprom_manager platform/t186/../../../../common/lib/tegrabl_exit platform/t186/../../../../common/lib/tegrabl_nct platform/t186/../../../../common/lib/tegrabl_nvblob platform/t186/../../../../common/lib/tegrabl_nvblob_bmp platform/t186/../../../../common/lib/tegrabl_storage platform/t186/../../../common/drivers/fuse platform/t186/../../../common/drivers/gpcdma platform/t186/../../../common/drivers/soc/t186/power platform/t186/../../../common/lib/ipc platform/t186/../../../common/lib/mce platform/t186/../../../common/lib/rollback_prevention platform/t186/../../../common/lib/tegrabl_auth platform/t186/../../../common/lib/tegrabl_se_keystore platform/t186/../../../common/soc/t186/misc platform/tegra_shared target
including app/android_boot/../../../../common/drivers/blockdev app/android_boot/../../../../common/drivers/sdmmc app/android_boot/../../../../common/drivers/uart app/android_boot/../../../../common/lib/console app/android_boot/../../../../common/lib/debug app/android_boot/../../../../common/lib/tegrabl_fastboot app/android_boot/../../../../common/lib/tegrabl_frp app/android_boot/../../../../common/lib/tegrabl_gpt app/android_boot/../../../../common/lib/tegrabl_malloc app/android_boot/../../../../common/lib/tegrabl_partition_manager app/android_boot/../../../../common/lib/tegrabl_utils app/android_boot/../../../common/drivers/soc/t186/clocks app/android_boot/../../../common/drivers/soc/t186/wdt app/android_boot/../../../common/drivers/timer app/android_boot/../../../common/lib/mb1bct app/android_boot/../../../common/lib/tegrabl_brbct app/android_boot/../../../common/lib/tegrabl_brbit app/android_boot/verified_boot lib/debug lib/heap lib/libc platform/t186/../../../../common/drivers/display/../../lib/tegrabl_graphics platform/t186/../../../../common/drivers/i2c/../dpaux
including ../../common/lib/clib ../../common/lib/external/asn1 ../../common/lib/external/mbedtls ../../common/lib/external/mincrypt ../common/drivers/se ../common/soc/t186/pkc_ops app/android_boot/../../../../common/lib/tegrabl_fastboot/../../../common/drivers/usbf/class/transport app/android_boot/../../../../common/lib/tegrabl_fastboot/../../../common/drivers/usbf/xusbf app/android_boot/../../../../common/lib/tegrabl_fastboot/../../../common/lib/linuxboot app/android_boot/../../../../common/lib/tegrabl_fastboot/../../../common/lib/tegrabl_sparse app/android_boot/../../../../common/lib/tegrabl_partition_manager/../tegrabl_a_b_boot
including app/android_boot/../../../../common/lib/tegrabl_fastboot/../../../common/lib/linuxboot/../../../t18x/common/lib/a_b_boot_control app/android_boot/../../../../common/lib/tegrabl_fastboot/../../../common/lib/linuxboot/../../../t18x/common/lib/odmdata app/android_boot/../../../../common/lib/tegrabl_fastboot/../../../common/lib/linuxboot/../../../t18x/common/lib/partitionloader app/android_boot/../../../../common/lib/tegrabl_fastboot/../../../common/lib/linuxboot/../libfdt app/android_boot/../../../../common/lib/tegrabl_fastboot/../../../common/lib/linuxboot/../tegrabl_board_info app/android_boot/../../../../common/lib/tegrabl_fastboot/../../../common/lib/linuxboot/../tegrabl_decompress app/android_boot/../../../../common/lib/tegrabl_fastboot/../../../common/lib/linuxboot/../tegrabl_devicetree
generating /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/module_config.h
generating /home/ubuntu/Downloads/cboot/out/build-t186/build_config.h
compiling platform/t186/platform.c
compiling platform/t186/ratchet_update.c
compiling platform/t186/storage_loader.c
compiling platform/t186/dram_ecc.c
linking /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186.mod.o
generating /home/ubuntu/Downloads/cboot/out/build-t186/arch/arm64/module_config.h
compiling arch/arm64/arch.c
compiling arch/arm64/exceptions_c.c
compiling arch/arm64/thread.c
compiling arch/arm64/cpuinfo.c
compiling arch/arm64/mmu.c
compiling arch/arm64/stacktrace.c
compiling arch/arm64/dmamap.c
compiling arch/arm64/../../../nvtboot/cpu/soc/t186/tz_init.c
compiling arch/arm64/asm.S
compiling arch/arm64/exceptions.S
compiling arch/arm64/start.S
compiling arch/arm64/header.S
compiling arch/arm64/cache-ops.S
linking /home/ubuntu/Downloads/cboot/out/build-t186/arch/arm64.mod.o
generating /home/ubuntu/Downloads/cboot/out/build-t186/top/module_config.h
compiling top/init.c
compiling top/main.c
linking /home/ubuntu/Downloads/cboot/out/build-t186/top.mod.o
generating /home/ubuntu/Downloads/cboot/out/build-t186/app/module_config.h
compiling app/app.c
linking /home/ubuntu/Downloads/cboot/out/build-t186/app.mod.o
generating /home/ubuntu/Downloads/cboot/out/build-t186/app/android_boot/module_config.h
compiling app/android_boot/android_boot.c
compiling app/android_boot/fastboot.c
compiling app/android_boot/fastboot_a_b.c
compiling app/android_boot/android_boot_menu.c
compiling app/android_boot/fastboot_menu.c
linking /home/ubuntu/Downloads/cboot/out/build-t186/app/android_boot.mod.o
generating /home/ubuntu/Downloads/cboot/out/build-t186/dev/module_config.h
compiling dev/dev.c
compiling dev/driver.c
compiling dev/class/i2c_api.c
compiling dev/class/spi_api.c
compiling dev/class/uart_api.c
compiling dev/class/fb_api.c
compiling dev/class/netif_api.c
linking /home/ubuntu/Downloads/cboot/out/build-t186/dev.mod.o
generating /home/ubuntu/Downloads/cboot/out/build-t186/kernel/module_config.h
compiling kernel/debug.c
compiling kernel/event.c
compiling kernel/init.c
compiling kernel/mutex.c
compiling kernel/thread.c
compiling kernel/timer.c
compiling kernel/semaphore.c
linking /home/ubuntu/Downloads/cboot/out/build-t186/kernel.mod.o
generating /home/ubuntu/Downloads/cboot/out/build-t186/lib/exit/module_config.h
compiling lib/exit/exit.c
linking /home/ubuntu/Downloads/cboot/out/build-t186/lib/exit.mod.o
generating /home/ubuntu/Downloads/cboot/out/build-t186/lib/menu/module_config.h
compiling lib/menu/menu.c
linking /home/ubuntu/Downloads/cboot/out/build-t186/lib/menu.mod.o
generating /home/ubuntu/Downloads/cboot/out/build-t186/platform/module_config.h
compiling platform/debug.c
compiling platform/init.c
linking /home/ubuntu/Downloads/cboot/out/build-t186/platform.mod.o
generating /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/arch/arm64/module_config.h
compiling platform/t186/../../../../common/arch/arm64/smccc.S
linking /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/arch/arm64.mod.o
generating /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/drivers/crypto/module_config.h
compiling platform/t186/../../../../common/drivers/crypto/tegrabl_crypto.c
linking /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/drivers/crypto.mod.o
generating /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/drivers/display/module_config.h
compiling platform/t186/../../../../common/drivers/display/tegrabl_display.c
compiling platform/t186/../../../../common/drivers/display/tegrabl_display_unit.c
compiling platform/t186/../../../../common/drivers/display/nvdisp/tegrabl_nvdisp.c
compiling platform/t186/../../../../common/drivers/display/nvdisp/tegrabl_nvdisp_win.c
compiling platform/t186/../../../../common/drivers/display/nvdisp/tegrabl_nvdisp_cmu.c
compiling platform/t186/../../../../common/drivers/display/nvdisp/tegrabl_nvdisp_dump.c
compiling platform/t186/../../../../common/drivers/display/hdmi/tegrabl_hdmi.c
compiling platform/t186/../../../../common/drivers/display/dp/tegrabl_dp.c
compiling platform/t186/../../../../common/drivers/display/dp/tegrabl_dp_lt.c
compiling platform/t186/../../../../common/drivers/display/sor/tegrabl_sor.c
compiling platform/t186/../../../../common/drivers/display/sor/tegrabl_sor_dp.c
compiling platform/t186/../../../../common/drivers/display/edid/tegrabl_edid.c
compiling platform/t186/../../../../common/drivers/display/edid/tegrabl_modes.c
compiling platform/t186/../../../../common/drivers/display/edid/tegrabl_mode_selection.c
compiling platform/t186/../../../../common/drivers/display/platform_data/tegrabl_display_dtb.c
compiling platform/t186/../../../../common/drivers/display/platform_data/tegrabl_display_dtb_hdmi.c
compiling platform/t186/../../../../common/drivers/display/platform_data/tegrabl_display_dtb_dp.c
compiling platform/t186/../../../../common/drivers/display/platform_data/tegrabl_display_dtb_util.c
compiling platform/t186/../../../../common/drivers/display/panel/tegrabl_display_panel.c
linking /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/drivers/display.mod.o
generating /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/drivers/eeprom/module_config.h
compiling platform/t186/../../../../common/drivers/eeprom/tegrabl_eeprom.c
linking /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/drivers/eeprom.mod.o
generating /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/drivers/gpio/module_config.h
compiling platform/t186/../../../../common/drivers/gpio/tegrabl_gpio.c
compiling platform/t186/../../../../common/drivers/gpio/gpio.c
compiling platform/t186/../../../../common/drivers/gpio/tegrabl_gpio_ids.c
compiling platform/t186/../../../../common/drivers/gpio/tca9539_gpio.c
linking /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/drivers/gpio.mod.o
generating /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/drivers/i2c/module_config.h
compiling platform/t186/../../../../common/drivers/i2c/tegrabl_i2c.c
compiling platform/t186/../../../../common/drivers/i2c/tegrabl_i2c_bpmpfw.c
linking /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/drivers/i2c.mod.o
generating /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/drivers/i2c_dev/module_config.h
compiling platform/t186/../../../../common/drivers/i2c_dev/tegrabl_i2c_dev.c
linking /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/drivers/i2c_dev.mod.o
generating /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/drivers/keyboard/module_config.h
compiling platform/t186/../../../../common/drivers/keyboard/tegrabl_keyboard.c
compiling platform/t186/../../../../common/drivers/keyboard/tegrabl_gpio_keyboard.c
linking /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/drivers/keyboard.mod.o
generating /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/drivers/pmic/module_config.h
compiling platform/t186/../../../../common/drivers/pmic/tegrabl_pmic.c
linking /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/drivers/pmic.mod.o
generating /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/drivers/pmic/max77620/module_config.h
compiling platform/t186/../../../../common/drivers/pmic/max77620/tegrabl_pmic_max77620.c
linking /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/drivers/pmic/max77620.mod.o
generating /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/drivers/qspi/module_config.h
compiling platform/t186/../../../../common/drivers/qspi/tegrabl_qspi.c
linking /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/drivers/qspi.mod.o
generating /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/drivers/qspi_flash/module_config.h
compiling platform/t186/../../../../common/drivers/qspi_flash/tegrabl_qspi_flash.c
linking /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/drivers/qspi_flash.mod.o
generating /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/drivers/regulator/module_config.h
compiling platform/t186/../../../../common/drivers/regulator/tegrabl_regulator.c
compiling platform/t186/../../../../common/drivers/regulator/tegrabl_fixed_regulator.c
linking /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/drivers/regulator.mod.o
generating /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/drivers/sata/module_config.h
compiling platform/t186/../../../../common/drivers/sata/tegrabl_sata_ahci.c
compiling platform/t186/../../../../common/drivers/sata/tegrabl_sata_bdev.c
linking /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/drivers/sata.mod.o
generating /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/drivers/spi/module_config.h
compiling platform/t186/../../../../common/drivers/spi/tegrabl_spi.c
linking /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/drivers/spi.mod.o
generating /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/drivers/ufs/module_config.h
compiling platform/t186/../../../../common/drivers/ufs/tegrabl_ufs_bdev.c
compiling platform/t186/../../../../common/drivers/ufs/tegrabl_ufs_mphy.c
compiling platform/t186/../../../../common/drivers/ufs/tegrabl_ufs.c
linking /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/drivers/ufs.mod.o
generating /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/lib/profiler/module_config.h
compiling platform/t186/../../../../common/lib/profiler/tegrabl_profiler.c
linking /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/lib/profiler.mod.o
generating /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/lib/psci/module_config.h
compiling platform/t186/../../../../common/lib/psci/psci.c
compiling platform/t186/../../../../common/lib/psci/smc.S
linking /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/lib/psci.mod.o
generating /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/lib/tegrabl_bootloader_update/module_config.h
compiling platform/t186/../../../../common/lib/tegrabl_bootloader_update/tegrabl_bootloader_update.c
platform/t186/../../../../common/lib/tegrabl_bootloader_update/tegrabl_bootloader_update.c: In function 'tegrabl_check_and_update_bl_payload':
platform/t186/../../../../common/lib/tegrabl_bootloader_update/tegrabl_bootloader_update.c:460:27: error: initialization makes integer from pointer without a cast [-Werror=int-conversion]
  tegrabl_blob_handle bh = NULL;
                           ^
cc1: all warnings being treated as errors
make/compile.mk:43: recipe for target '/home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/lib/tegrabl_bootloader_update/tegrabl_bootloader_update.o' failed
make[1]: *** [/home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/lib/tegrabl_bootloader_update/tegrabl_bootloader_update.o] Error 1
make[1]: Leaving directory '/home/ubuntu/Downloads/cboot/bootloader/partner/t18x/cboot'
makefile:13: recipe for target '_top' failed
make: *** [_top] Error 2
make: Leaving directory '/home/ubuntu/Downloads/cboot/bootloader/partner/t18x/cboot

After I fix this error, and I meet another error.

ubuntu@OptiPlex-7050:~/Downloads/cboot$ make -C ./bootloader/partner/t18x/cboot PROJECT=t186 TOOLCHAIN_PREFIX="${CROSS_COMPILE}" DEBUG=2 BUILDROOT="${PWD}"/out NV_BUILD_SYSTEM_TYPE=l4t NOECHO=@
make: Entering directory '/home/ubuntu/Downloads/cboot/bootloader/partner/t18x/cboot'
LKROOT=. LKINC=". " make -rR -f ./engine.mk -I. 
make[1]: Entering directory '/home/ubuntu/Downloads/cboot/bootloader/partner/t18x/cboot'
PROJECT = t186
PLATFORM = t186
TARGET = t186
TOOLCHAIN_PREFIX = /opt/linaro/gcc-linaro-5.3-2016.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-
LIBGCC = /opt/linaro/gcc-linaro-5.3-2016.02-x86_64_aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/5.3.1/libgcc.a
GLOBAL_COMPILEFLAGS = -g -fno-builtin -finline -W -Wall -Wno-multichar -Wno-unused-parameter -Wno-unused-function -include /home/ubuntu/Downloads/cboot/out/build-t186/build_config.h -ffunction-sections -fdata-sections 
including app app/android_boot dev kernel lib/exit lib/menu platform platform/t186/../../../../common/arch/arm64 platform/t186/../../../../common/drivers/crypto platform/t186/../../../../common/drivers/display platform/t186/../../../../common/drivers/eeprom platform/t186/../../../../common/drivers/gpio platform/t186/../../../../common/drivers/i2c platform/t186/../../../../common/drivers/i2c_dev platform/t186/../../../../common/drivers/keyboard platform/t186/../../../../common/drivers/pmic platform/t186/../../../../common/drivers/pmic/max77620 platform/t186/../../../../common/drivers/qspi platform/t186/../../../../common/drivers/qspi_flash platform/t186/../../../../common/drivers/regulator platform/t186/../../../../common/drivers/sata platform/t186/../../../../common/drivers/spi platform/t186/../../../../common/drivers/ufs platform/t186/../../../../common/lib/profiler platform/t186/../../../../common/lib/psci platform/t186/../../../../common/lib/tegrabl_bootloader_update platform/t186/../../../../common/lib/tegrabl_eeprom_manager platform/t186/../../../../common/lib/tegrabl_exit platform/t186/../../../../common/lib/tegrabl_nct platform/t186/../../../../common/lib/tegrabl_nvblob platform/t186/../../../../common/lib/tegrabl_nvblob_bmp platform/t186/../../../../common/lib/tegrabl_storage platform/t186/../../../common/drivers/fuse platform/t186/../../../common/drivers/gpcdma platform/t186/../../../common/drivers/soc/t186/power platform/t186/../../../common/lib/ipc platform/t186/../../../common/lib/mce platform/t186/../../../common/lib/rollback_prevention platform/t186/../../../common/lib/tegrabl_auth platform/t186/../../../common/lib/tegrabl_se_keystore platform/t186/../../../common/soc/t186/misc platform/tegra_shared target
including app/android_boot/../../../../common/drivers/blockdev app/android_boot/../../../../common/drivers/sdmmc app/android_boot/../../../../common/drivers/uart app/android_boot/../../../../common/lib/console app/android_boot/../../../../common/lib/debug app/android_boot/../../../../common/lib/tegrabl_fastboot app/android_boot/../../../../common/lib/tegrabl_frp app/android_boot/../../../../common/lib/tegrabl_gpt app/android_boot/../../../../common/lib/tegrabl_malloc app/android_boot/../../../../common/lib/tegrabl_partition_manager app/android_boot/../../../../common/lib/tegrabl_utils app/android_boot/../../../common/drivers/soc/t186/clocks app/android_boot/../../../common/drivers/soc/t186/wdt app/android_boot/../../../common/drivers/timer app/android_boot/../../../common/lib/mb1bct app/android_boot/../../../common/lib/tegrabl_brbct app/android_boot/../../../common/lib/tegrabl_brbit app/android_boot/verified_boot lib/debug lib/heap lib/libc platform/t186/../../../../common/drivers/display/../../lib/tegrabl_graphics platform/t186/../../../../common/drivers/i2c/../dpaux
including ../../common/lib/clib ../../common/lib/external/asn1 ../../common/lib/external/mbedtls ../../common/lib/external/mincrypt ../common/drivers/se ../common/soc/t186/pkc_ops app/android_boot/../../../../common/lib/tegrabl_fastboot/../../../common/drivers/usbf/class/transport app/android_boot/../../../../common/lib/tegrabl_fastboot/../../../common/drivers/usbf/xusbf app/android_boot/../../../../common/lib/tegrabl_fastboot/../../../common/lib/linuxboot app/android_boot/../../../../common/lib/tegrabl_fastboot/../../../common/lib/tegrabl_sparse app/android_boot/../../../../common/lib/tegrabl_partition_manager/../tegrabl_a_b_boot
including app/android_boot/../../../../common/lib/tegrabl_fastboot/../../../common/lib/linuxboot/../../../t18x/common/lib/a_b_boot_control app/android_boot/../../../../common/lib/tegrabl_fastboot/../../../common/lib/linuxboot/../../../t18x/common/lib/odmdata app/android_boot/../../../../common/lib/tegrabl_fastboot/../../../common/lib/linuxboot/../../../t18x/common/lib/partitionloader app/android_boot/../../../../common/lib/tegrabl_fastboot/../../../common/lib/linuxboot/../libfdt app/android_boot/../../../../common/lib/tegrabl_fastboot/../../../common/lib/linuxboot/../tegrabl_board_info app/android_boot/../../../../common/lib/tegrabl_fastboot/../../../common/lib/linuxboot/../tegrabl_decompress app/android_boot/../../../../common/lib/tegrabl_fastboot/../../../common/lib/linuxboot/../tegrabl_devicetree
generating /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/module_config.h
generating /home/ubuntu/Downloads/cboot/out/build-t186/build_config.h
generating /home/ubuntu/Downloads/cboot/out/build-t186/arch/arm64/module_config.h
generating /home/ubuntu/Downloads/cboot/out/build-t186/top/module_config.h
generating /home/ubuntu/Downloads/cboot/out/build-t186/app/module_config.h
generating /home/ubuntu/Downloads/cboot/out/build-t186/app/android_boot/module_config.h
generating /home/ubuntu/Downloads/cboot/out/build-t186/dev/module_config.h
generating /home/ubuntu/Downloads/cboot/out/build-t186/kernel/module_config.h
generating /home/ubuntu/Downloads/cboot/out/build-t186/lib/exit/module_config.h
generating /home/ubuntu/Downloads/cboot/out/build-t186/lib/menu/module_config.h
generating /home/ubuntu/Downloads/cboot/out/build-t186/platform/module_config.h
generating /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/arch/arm64/module_config.h
generating /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/drivers/crypto/module_config.h
generating /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/drivers/display/module_config.h
generating /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/drivers/eeprom/module_config.h
generating /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/drivers/gpio/module_config.h
generating /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/drivers/i2c/module_config.h
generating /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/drivers/i2c_dev/module_config.h
generating /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/drivers/keyboard/module_config.h
generating /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/drivers/pmic/module_config.h
generating /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/drivers/pmic/max77620/module_config.h
generating /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/drivers/qspi/module_config.h
generating /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/drivers/qspi_flash/module_config.h
generating /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/drivers/regulator/module_config.h
generating /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/drivers/sata/module_config.h
generating /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/drivers/spi/module_config.h
generating /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/drivers/ufs/module_config.h
generating /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/lib/profiler/module_config.h
generating /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/lib/psci/module_config.h
generating /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/lib/tegrabl_bootloader_update/module_config.h
compiling platform/t186/../../../../common/lib/tegrabl_bootloader_update/tegrabl_bootloader_update.c
linking /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/lib/tegrabl_bootloader_update.mod.o
generating /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/lib/tegrabl_eeprom_manager/module_config.h
compiling platform/t186/../../../../common/lib/tegrabl_eeprom_manager/tegrabl_eeprom_manager.c
compiling platform/t186/../../../../common/lib/tegrabl_eeprom_manager/tegrabl_plugin_manager.c
linking /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/lib/tegrabl_eeprom_manager.mod.o
generating /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/lib/tegrabl_exit/module_config.h
compiling platform/t186/../../../../common/lib/tegrabl_exit/tegrabl_exit.c
linking /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/lib/tegrabl_exit.mod.o
generating /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/lib/tegrabl_nct/module_config.h
compiling platform/t186/../../../../common/lib/tegrabl_nct/tegrabl_nct.c
linking /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/lib/tegrabl_nct.mod.o
generating /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/lib/tegrabl_nvblob/module_config.h
compiling platform/t186/../../../../common/lib/tegrabl_nvblob/tegrabl_nvblob.c
linking /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/lib/tegrabl_nvblob.mod.o
generating /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/lib/tegrabl_nvblob_bmp/module_config.h
compiling platform/t186/../../../../common/lib/tegrabl_nvblob_bmp/tegrabl_parse_bmp.c
linking /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/lib/tegrabl_nvblob_bmp.mod.o
generating /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/lib/tegrabl_storage/module_config.h
compiling platform/t186/../../../../common/lib/tegrabl_storage/tegrabl_storage.c
linking /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../../common/lib/tegrabl_storage.mod.o
generating /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../common/drivers/fuse/module_config.h
compiling platform/t186/../../../common/drivers/fuse/tegrabl_fuse_read.c
compiling platform/t186/../../../common/drivers/fuse/tegrabl_fuse_write.c
linking /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../common/drivers/fuse.mod.o
generating /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../common/drivers/gpcdma/module_config.h
compiling platform/t186/../../../common/drivers/gpcdma/tegrabl_gpcdma.c
linking /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../common/drivers/gpcdma.mod.o
generating /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../common/drivers/soc/t186/power/module_config.h
compiling platform/t186/../../../common/drivers/soc/t186/power/tegrabl_power.c
linking /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../common/drivers/soc/t186/power.mod.o
generating /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../common/lib/ipc/module_config.h
compiling platform/t186/../../../common/lib/ipc/tegrabl_bpmp_fw_interface.c
compiling platform/t186/../../../common/lib/ipc/tegra-ivc.c
linking /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../common/lib/ipc.mod.o
generating /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../common/lib/mce/module_config.h
compiling platform/t186/../../../common/lib/mce/cache.c
linking /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../common/lib/mce.mod.o
generating /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../common/lib/rollback_prevention/module_config.h
compiling platform/t186/../../../common/lib/rollback_prevention/tegrabl_prevent_rollback.c
linking /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../common/lib/rollback_prevention.mod.o
generating /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../common/lib/tegrabl_auth/module_config.h
compiling platform/t186/../../../common/lib/tegrabl_auth/tegrabl_auth_binary.c
linking /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../common/lib/tegrabl_auth.mod.o
generating /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../common/lib/tegrabl_se_keystore/module_config.h
compiling platform/t186/../../../common/lib/tegrabl_se_keystore/tegrabl_se_keystore.c
linking /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../common/lib/tegrabl_se_keystore.mod.o
generating /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../common/soc/t186/misc/module_config.h
compiling platform/t186/../../../common/soc/t186/misc/misc.c
compiling platform/t186/../../../common/soc/t186/misc/a_b_helper.c
linking /home/ubuntu/Downloads/cboot/out/build-t186/platform/t186/../../../common/soc/t186/misc.mod.o
generating /home/ubuntu/Downloads/cboot/out/build-t186/platform/tegra_shared/module_config.h
compiling platform/tegra_shared/cpu_early_init.c
compiling platform/tegra_shared/interrupts.c
compiling platform/tegra_shared/timer.c
compiling platform/tegra_shared/debug.c
compiling platform/tegra_shared/utils.c
linking /home/ubuntu/Downloads/cboot/out/build-t186/platform/tegra_shared.mod.o
generating /home/ubuntu/Downloads/cboot/out/build-t186/target/module_config.h
compiling target/init.c
linking /home/ubuntu/Downloads/cboot/out/build-t186/target.mod.o
generating /home/ubuntu/Downloads/cboot/out/build-t186/app/android_boot/../../../../common/drivers/blockdev/module_config.h
compiling app/android_boot/../../../../common/drivers/blockdev/tegrabl_blockdev.c
linking /home/ubuntu/Downloads/cboot/out/build-t186/app/android_boot/../../../../common/drivers/blockdev.mod.o
generating /home/ubuntu/Downloads/cboot/out/build-t186/app/android_boot/../../../../common/drivers/sdmmc/module_config.h
compiling app/android_boot/../../../../common/drivers/sdmmc/tegrabl_sdmmc_bdev.c
compiling app/android_boot/../../../../common/drivers/sdmmc/tegrabl_sdmmc_protocol.c
compiling app/android_boot/../../../../common/drivers/sdmmc/tegrabl_sdmmc_host.c
compiling app/android_boot/../../../../common/drivers/sdmmc/tegrabl_sdmmc_rpmb.c
compiling app/android_boot/../../../../common/drivers/sdmmc/tegrabl_sd_bdev.c
compiling app/android_boot/../../../../common/drivers/sdmmc/tegrabl_sd_protocol.c
compiling app/android_boot/../../../../common/drivers/sdmmc/tegrabl_sdmmc_pdata.c
compiling app/android_boot/../../../../common/drivers/sdmmc/tegrabl_sd_card.c
linking /home/ubuntu/Downloads/cboot/out/build-t186/app/android_boot/../../../../common/drivers/sdmmc.mod.o
generating /home/ubuntu/Downloads/cboot/out/build-t186/app/android_boot/../../../../common/drivers/uart/module_config.h
compiling app/android_boot/../../../../common/drivers/uart/tegrabl_uart.c
compiling app/android_boot/../../../../common/drivers/uart/tegrabl_uart_console.c
linking /home/ubuntu/Downloads/cboot/out/build-t186/app/android_boot/../../../../common/drivers/uart.mod.o
generating /home/ubuntu/Downloads/cboot/out/build-t186/app/android_boot/../../../../common/lib/console/module_config.h
compiling app/android_boot/../../../../common/lib/console/tegrabl_console.c
linking /home/ubuntu/Downloads/cboot/out/build-t186/app/android_boot/../../../../common/lib/console.mod.o
generating /home/ubuntu/Downloads/cboot/out/build-t186/app/android_boot/../../../../common/lib/debug/module_config.h
compiling app/android_boot/../../../../common/lib/debug/tegrabl_debug.c
linking /home/ubuntu/Downloads/cboot/out/build-t186/app/android_boot/../../../../common/lib/debug.mod.o
generating /home/ubuntu/Downloads/cboot/out/build-t186/app/android_boot/../../../../common/lib/tegrabl_fastboot/module_config.h
compiling app/android_boot/../../../../common/lib/tegrabl_fastboot/tegrabl_fastboot_partinfo.c
compiling app/android_boot/../../../../common/lib/tegrabl_fastboot/tegrabl_fastboot_protocol.c
compiling app/android_boot/../../../../common/lib/tegrabl_fastboot/tegrabl_fastboot_oem.c
compiling app/android_boot/../../../../common/lib/tegrabl_fastboot/tegrabl_fastboot_a_b.c
linking /home/ubuntu/Downloads/cboot/out/build-t186/app/android_boot/../../../../common/lib/tegrabl_fastboot.mod.o
generating /home/ubuntu/Downloads/cboot/out/build-t186/app/android_boot/../../../../common/lib/tegrabl_frp/module_config.h
compiling app/android_boot/../../../../common/lib/tegrabl_frp/tegrabl_fac_rst_protection.c
linking /home/ubuntu/Downloads/cboot/out/build-t186/app/android_boot/../../../../common/lib/tegrabl_frp.mod.o
generating /home/ubuntu/Downloads/cboot/out/build-t186/app/android_boot/../../../../common/lib/tegrabl_gpt/module_config.h
compiling app/android_boot/../../../../common/lib/tegrabl_gpt/tegrabl_gpt.c
linking /home/ubuntu/Downloads/cboot/out/build-t186/app/android_boot/../../../../common/lib/tegrabl_gpt.mod.o
generating /home/ubuntu/Downloads/cboot/out/build-t186/app/android_boot/../../../../common/lib/tegrabl_malloc/module_config.h
compiling app/android_boot/../../../../common/lib/tegrabl_malloc/tegrabl_malloc.c
linking /home/ubuntu/Downloads/cboot/out/build-t186/app/android_boot/../../../../common/lib/tegrabl_malloc.mod.o
generating /home/ubuntu/Downloads/cboot/out/build-t186/app/android_boot/../../../../common/lib/tegrabl_partition_manager/module_config.h
compiling app/android_boot/../../../../common/lib/tegrabl_partition_manager/tegrabl_partition_manager.c
linking /home/ubuntu/Downloads/cboot/out/build-t186/app/android_boot/../../../../common/lib/tegrabl_partition_manager.mod.o
generating /home/ubuntu/Downloads/cboot/out/build-t186/app/android_boot/../../../../common/lib/tegrabl_utils/module_config.h
compiling app/android_boot/../../../../common/lib/tegrabl_utils/tegrabl_utils.c
linking /home/ubuntu/Downloads/cboot/out/build-t186/app/android_boot/../../../../common/lib/tegrabl_utils.mod.o
generating /home/ubuntu/Downloads/cboot/out/build-t186/app/android_boot/../../../common/drivers/soc/t186/clocks/module_config.h
compiling app/android_boot/../../../common/drivers/soc/t186/clocks/tegrabl_clk_bpmp.c
app/android_boot/../../../common/drivers/soc/t186/clocks/tegrabl_clk_bpmp.c: In function 'tegrabl_module_to_bpmp_id':
app/android_boot/../../../common/drivers/soc/t186/clocks/tegrabl_clk_bpmp.c:461:11: error: switch condition has boolean value [-Werror=switch-bool]
   switch (clk_or_rst) {
           ^
app/android_boot/../../../common/drivers/soc/t186/clocks/tegrabl_clk_bpmp.c:479:11: error: switch condition has boolean value [-Werror=switch-bool]
   switch (clk_or_rst) {
           ^
app/android_boot/../../../common/drivers/soc/t186/clocks/tegrabl_clk_bpmp.c:492:11: error: switch condition has boolean value [-Werror=switch-bool]
   switch (clk_or_rst) {
           ^
app/android_boot/../../../common/drivers/soc/t186/clocks/tegrabl_clk_bpmp.c:505:11: error: switch condition has boolean value [-Werror=switch-bool]
   switch (clk_or_rst) {
           ^
app/android_boot/../../../common/drivers/soc/t186/clocks/tegrabl_clk_bpmp.c:515:11: error: switch condition has boolean value [-Werror=switch-bool]
   switch (clk_or_rst) {
           ^
app/android_boot/../../../common/drivers/soc/t186/clocks/tegrabl_clk_bpmp.c:525:11: error: switch condition has boolean value [-Werror=switch-bool]
   switch (clk_or_rst) {
           ^
app/android_boot/../../../common/drivers/soc/t186/clocks/tegrabl_clk_bpmp.c:538:11: error: switch condition has boolean value [-Werror=switch-bool]
   switch (clk_or_rst) {
           ^
app/android_boot/../../../common/drivers/soc/t186/clocks/tegrabl_clk_bpmp.c:548:11: error: switch condition has boolean value [-Werror=switch-bool]
   switch (clk_or_rst) {
           ^
cc1: all warnings being treated as errors
make/compile.mk:43: recipe for target '/home/ubuntu/Downloads/cboot/out/build-t186/app/android_boot/../../../common/drivers/soc/t186/clocks/tegrabl_clk_bpmp.o' failed
make[1]: *** [/home/ubuntu/Downloads/cboot/out/build-t186/app/android_boot/../../../common/drivers/soc/t186/clocks/tegrabl_clk_bpmp.o] Error 1
make[1]: Leaving directory '/home/ubuntu/Downloads/cboot/bootloader/partner/t18x/cboot'
makefile:13: recipe for target '_top' failed
make: *** [_top] Error 2
make: Leaving directory '/home/ubuntu/Downloads/cboot/bootloader/partner/t18x/cboot'

If I use the right cboot source code? If I use the right method to build the cboot source code? thanks!

I resolve the compiling error. I find in cboot, HDMI not display may caused by “vdd-hdmi” not enabled. I want to know how to configure bootloader dtb and compile it, thanks!

Is there a git repo tag available for this? I’m thinking of source_sync.sh instead of:
https://developer.nvidia.com/embedded/linux-tegra

WRT the compiler errors, we only spec the 4.8.5 gcc & tools that we provide in devtools for CBoot source build right now (see CBoot_Standalone_Readme.txt in the source archive), as that’s the same toolset we use internally. Using a newer gcc will generate warnings/errors as it encounters code that needs to be ‘fixed’. So although you’ve already fixed these problems, it would be best to use the 4.8.5 tools in the future so we’re comparing apples w/apples.

As to rebuilding the DTB, it should be as simple as using the device tree compiler, I would think (DTC) - I don’t do that on a regular basis, so I’ll defer to someone w/more experience, but I’d think that DTS modifications should be de rigueur for a board developer. On TX2, I believe (currently) the kernel DTB and the bootloader DTB are the same file (tegra186-quill-p3310-1000-a00-00-base.dtb)

  1. The cboot source code I downloaded doesn’t have git repo tag, I will download Jetpack 3.2.1 and use source_sync.sh instead of https://developer.nvidia.com/embedded/linux-tegra.
  2. Please check the attached picture, it show my carrier board cboot log compared with TX2 devkit. If kernel DTB and the bootloader DTB are the same file, why it start goto kernel, HDMI display is ok. Does this problem cause by my carrier board not design a EEPROM module(24C02, I2C address is 0x57). While in cboot, it will read content from the EEPROM.
  3. Is there some document about cboot software architecture, and how to flash cboot without flash filesystem to quicken flash speed?

Thanks!

I have fixed this problem, I modify vdd-hdmi regulator gpio in tegrabl_fixed_regulator.c, then this problem is resolved.
BTW, I can’t use source_sync.sh to download cboot source code.

/* FIXME - To obtain GPIO chip_id based on regulator name */
 	if (strncmp((const char *)temp_name, "vdd-hdmi", sizeof("vdd-hdmi")) == 0) {
-		entry->gpio_phandle = (TEGRA_GPIO_TCA9539_CHIPID_BASE  + 1);
+		entry->gpio_phandle = TEGRA_GPIO_MAIN_CHIPID;
 	}
 
 	/* Fix hardcode: convert gpio_phandle */

I find a bug about this cboot source code: If I change internal EEPROM value of ethernet/WIFI mac area and also update the CRC checksum of the EEPROM, after reboot, the ethernet/WIFI mac can’t be updated. I got another cboot.bin from NV internal supporter before to fix this bug, but this bug recurrent now. It seems, the cboot source code not fix this bug.

guohoujin2006,

Please apply these two patches to your cboot.

diff --git a/drivers/eeprom/tegrabl_eeprom.c b/drivers/eeprom/tegrabl_eeprom.c
index a2d5284..400be17 100644
--- a/drivers/eeprom/tegrabl_eeprom.c
+++ b/drivers/eeprom/tegrabl_eeprom.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015-2017, NVIDIA CORPORATION.  All rights reserved.
+ * Copyright (c) 2015-2018, NVIDIA CORPORATION.  All rights reserved.
  *
  * NVIDIA CORPORATION and its licensors retain all intellectual property
  * and proprietary rights in and to this software, related documentation
@@ -16,9 +16,34 @@
 #include <tegrabl_malloc.h>
 #include <tegrabl_utils.h>
 #include <tegrabl_error.h>
+#include <string.h>
 
 #define TEGRABL_I2C_DEFAULT_RETRY_COUNT	1
 #define TEGRABL_I2C2_RETRY_COUNT		2
+
+/* Applicable only to CVM EEPROM */
+#define EEPROM_VER_OFFSET	0
+#define EEPROM_MAJ_VER_OFFSET	EEPROM_VER_OFFSET
+#define EEPROM_MIN_VER_OFFSET	(EEPROM_VER_OFFSET + 1)
+#define EEPROM_MAJ_VER		1
+#define EEPROM_MIN_VER		0
+
+static tegrabl_error_t verify_cvm_eeprom_version(struct tegrabl_eeprom *eeprom)
+{
+	/* First two bytes are version 0th byte is major and 1st byte is minor */
+	uint8_t major_ver = eeprom->data[EEPROM_MAJ_VER_OFFSET];
+	uint8_t minor_ver = eeprom->data[EEPROM_MIN_VER_OFFSET];
+
+	/*
+	 * If version does not match, we do not know what layout it is
+	 * dealing with
+	 */
+	if ((major_ver != EEPROM_MAJ_VER) || (minor_ver != EEPROM_MIN_VER)) {
+		pr_error("%s: EEPROM incompatible version found\n", __func__);
+		return TEGRABL_ERROR(TEGRABL_ERR_VERIFY_FAILED, 0);
+	}
+	return TEGRABL_NO_ERROR;
+}
 
 static tegrabl_error_t verify_eeprom_data(struct tegrabl_eeprom *eeprom)
 {
@@ -83,6 +108,17 @@
 		goto fail;
 	}
 
+	/*
+	 * Only applicable to CVM as it stores NVCB (nvidia configuration block)
+	 * and we are only concern about the version of that EEPROM and its layout
+	 */
+	if (eeprom->name && !strcmp(eeprom->name, "cvm")) {
+		error = verify_cvm_eeprom_version(eeprom);
+		if (error != TEGRABL_NO_ERROR) {
+			goto fail;
+		}
+	}
+
 	if (eeprom->crc_valid)
 		error = verify_eeprom_data(eeprom);
 
diff --git a/lib/tegrabl_board_info/eeprom_board_info.c b/lib/tegrabl_board_info/eeprom_board_info.c
index f431c3c..cac6ee5 100644
--- a/lib/tegrabl_board_info/eeprom_board_info.c
+++ b/lib/tegrabl_board_info/eeprom_board_info.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016-2017, NVIDIA Corporation.  All rights reserved.
+ * Copyright (c) 2016-2018, NVIDIA Corporation.  All rights reserved.
  *
  * NVIDIA Corporation and its licensors retain all intellectual property and
  * proprietary rights in and to this software and related documentation.  Any
@@ -50,10 +50,40 @@
 	return err;
 }
 
+static uint8_t *eeprom_get_mac_addr_location(enum mac_addr_type type,
+						bool factory_mac_addr, struct eeprom_layout *eeprom)
+{
+	switch (type) {
+	case MAC_ADDR_TYPE_WIFI:
+		if (factory_mac_addr)
+			return &eeprom->wifi_mac_addr[0];
+		else
+			return &eeprom->cust_wifi_mac_addr[0];
+		break;
+	case MAC_ADDR_TYPE_BT:
+		if (factory_mac_addr)
+			return &eeprom->bt_mac_addr[0];
+		else
+			return &eeprom->cust_bt_mac_addr[0];
+		break;
+	case MAC_ADDR_TYPE_ETHERNET:
+		if (factory_mac_addr)
+			return &eeprom->eth_mac_addr[0];
+		else
+			return &eeprom->cust_eth_mac_addr[0];
+		break;
+	default:
+		pr_error("Error: Undefined MAC address type: %u\n", type);
+		return NULL;
+	}
+
+	return NULL;
+}
+
 /**
  * @brief Metadata for a MAC Address of a certain interface
  *
- * @param param - pointer points to structure containing mac addr type and
+ * @param param - pointer points to structure containing MAC addr type and
  *                buffer pointer for storing return data
  */
 static tegrabl_error_t eeprom_get_mac_addr(void *param)
@@ -62,6 +92,19 @@
 	struct tegrabl_eeprom *cvm_eeprom = NULL;
 	struct eeprom_layout *eeprom;
 	uint8_t *data;
+
+	/* List of invalid MAC addresses */
+	static const uint8_t invalid_mac_ff[EEPROM_MAC_SIZE] = {
+		0xff, 0xff, 0xff, 0xff, 0xff, 0xff
+	};
+	static const uint8_t invalid_mac_00[EEPROM_MAC_SIZE] = {
+		0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+	};
+
+	static const char cust_sig[EEPROM_CUST_SIG_SIZE] = {'N', 'V', 'C', 'B'};
+	static const char cust_type_sig[EEPROM_CUST_TYPE_SIZE] = {'M', '1'};
+	int diff1, diff2;
+	bool factory_mac_addr;
 
 	struct mac_addr *mac_addr_info = (struct mac_addr *)param;
 	enum mac_addr_type type = mac_addr_info->type;
@@ -77,19 +120,32 @@
 	/* Get eeprom data */
 	eeprom = (struct eeprom_layout *)cvm_eeprom->data;
 
-	switch (type) {
-	case MAC_ADDR_TYPE_WIFI:
-		data = &eeprom->wifi_mac_addr[0];
-		break;
-	case MAC_ADDR_TYPE_BT:
-		data = &eeprom->bt_mac_addr[0];
-		break;
-	case MAC_ADDR_TYPE_ETHERNET:
-		data = &eeprom->eth_mac_addr[0];
-		break;
-	default:
-		pr_error("Error: Undefined MAC address type: %u\n", type);
-		goto fail;
+	/* Check if signature and type matches the expected values */
+	char *block_sig = (char *)&eeprom->cust_blocksig;
+	char *block_type = (char *)&eeprom->cust_typesig;
+
+	diff1 = memcmp(cust_sig, block_sig, EEPROM_CUST_SIG_SIZE);
+	diff2 = memcmp(cust_type_sig, block_type, EEPROM_CUST_TYPE_SIZE);
+	if (diff1 || diff2) {
+		pr_warn("%s: EEPROM valid signature or type not found, ", __func__);
+		pr_warn("using factory default MAC address\n");
+		factory_mac_addr = true;
+	} else {
+		factory_mac_addr = false;
+	}
+
+	data = eeprom_get_mac_addr_location(type, factory_mac_addr, eeprom);
+	if (!data)
+		return TEGRABL_ERR_INVALID;
+
+	/* Return error if data contains invalid MAC address */
+	if (!(memcmp(data, invalid_mac_ff, EEPROM_MAC_SIZE))) {
+		pr_error("%s: EEPROM invalid MAC address (all 0xff)\n", __func__);
+		return TEGRABL_ERR_INVALID;
+	}
+	if (!(memcmp(data, invalid_mac_00, EEPROM_MAC_SIZE))) {
+		pr_error("%s: EEPROM invalid MAC address (all 0x00)\n", __func__);
+		return TEGRABL_ERR_INVALID;
 	}
 
 	/* mac address stored in eeprom is in little endian */
diff --git a/common/include/soc/t186/tegrabl_eeprom_layout.h b/common/include/soc/t186/tegrabl_eeprom_layout.h
index 9f3c920..5abcecd 100644
--- a/common/include/soc/t186/tegrabl_eeprom_layout.h
+++ b/common/include/soc/t186/tegrabl_eeprom_layout.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, NVIDIA CORPORATION.  All rights reserved.
+ * Copyright (c) 2016-2018, NVIDIA CORPORATION.  All rights reserved.
  *
  * NVIDIA CORPORATION and its licensors retain all intellectual property
  * and proprietary rights in and to this software, related documentation
@@ -128,4 +128,8 @@
 #define EEPROM_FULL_BDID_LEN	(EEPROM_BDID_SZ + 1 + EEPROM_SKU_SZ + 1 \
 									+ EEPROM_FAB_SZ + 1 + EEPROM_REV_SZ + 1)
 
+#define EEPROM_CUST_SIG_SIZE	4
+#define EEPROM_CUST_TYPE_SIZE	2
+#define EEPROM_MAC_SIZE		6
+
 #endif /* TEGRABL_EEPROM_LAYOUT_H */

Hi WayneWWW:

This patch is ok for this problem, thanks very much!

guohoujin2006,

Thanks. The patches would be included in next release.

Hi WayneWWW:

Do you konw how to flash cboot only to quicken flash speed?

Could you try this?

$ replace the cboot.bin under bootloader
$ sudo ./flash.sh -r -k EBT jetson-tx2 mmcblk0p1

This command is unavailable, please see following log.

ubuntu@OptiPlex-7050:~/Linux_for_Tegra_dji$ sudo ./flash.sh -r -k EBT jetson-tx2 mmcblk0p1
[sudo] password for ubuntu: 
###############################################################################
# L4T BSP Information:
# R28 (release), REVISION: 2.0, GCID: 10567845, BOARD: t186ref, EABI: aarch64, 
# DATE: Fri Mar  2 04:57:01 UTC 2018
###############################################################################
# Target Board Information:
# Name: jetson-tx2, Board Family: t186ref, SoC: Tegra 186, 
# OpMode: production, Boot Authentication: , 
###############################################################################
./tegraflash.py --chip 0x18 --applet "/home/ubuntu/Linux_for_Tegra_dji/bootloader/mb1_recovery_prod.bin" --cmd "dump eeprom boardinfo cvm.bin" --skipuid 
Welcome to Tegra Flash
version 1.0.0
Type ? or help for help and q or quit to exit
Use ! to execute system commands
 
[   0.0064 ] Generating RCM messages
[   0.0091 ] tegrarcm_v2 --listrcm rcm_list.xml --chip 0x18 --download rcm /home/ubuntu/Linux_for_Tegra_dji/bootloader/mb1_recovery_prod.bin 0 0
[   0.0117 ] RCM 0 is saved as rcm_0.rcm
[   0.0246 ] RCM 1 is saved as rcm_1.rcm
[   0.0246 ] List of rcm files are saved in rcm_list.xml
[   0.0246 ] 
[   0.0247 ] Signing RCM messages
[   0.0423 ] tegrasign_v2 --key None --list rcm_list.xml --pubkeyhash pub_key.key
[   0.0444 ] Assuming zero filled SBK key
[   0.0506 ] 
[   0.0506 ] Copying signature to RCM mesages
[   0.0514 ] tegrarcm_v2 --chip 0x18 --updatesig rcm_list_signed.xml
[   0.0522 ] 
[   0.0522 ] Boot Rom communication
[   0.0528 ] tegrarcm_v2 --chip 0x18 --rcm rcm_list_signed.xml --skipuid
[   0.0534 ] RCM version 0X180001
[   0.0541 ] Boot Rom communication completed
[   1.0612 ] 
[   1.0641 ] tegrarcm_v2 --isapplet
[   1.0666 ] Applet version 01.00.0000
[   1.0692 ] 
[   1.0719 ] Retrieving EEPROM data
[   1.0723 ] tegrarcm_v2 --oem platformdetails eeprom cvm /home/ubuntu/Linux_for_Tegra_dji/bootloader/cvm.bin
[   1.0748 ] Applet version 01.00.0000
[   1.0778 ] Saved platform info in /home/ubuntu/Linux_for_Tegra_dji/bootloader/cvm.bin
[   1.1551 ] 
Board ID(3310) version(B02) 
copying bctfile(/home/ubuntu/Linux_for_Tegra_dji/bootloader/t186ref/BCT/P3310_A00_8GB_Samsung_8GB_lpddr4_204Mhz_A02_l4t.cfg)... done.
copying misc_config(/home/ubuntu/Linux_for_Tegra_dji/bootloader/t186ref/BCT/tegra186-mb1-bct-misc-si-l4t.cfg)... done.
copying pinmux_config(/home/ubuntu/Linux_for_Tegra_dji/bootloader/t186ref/BCT/tegra186-mb1-bct-pinmux-quill-p3310-1000-c03.cfg)... done.
copying pmic_config(/home/ubuntu/Linux_for_Tegra_dji/bootloader/t186ref/BCT/tegra186-mb1-bct-pmic-quill-p3310-1000-c04.cfg)... done.
copying pmc_config(/home/ubuntu/Linux_for_Tegra_dji/bootloader/t186ref/BCT/tegra186-mb1-bct-pad-quill-p3310-1000-c03.cfg)... done.
copying prod_config(/home/ubuntu/Linux_for_Tegra_dji/bootloader/t186ref/BCT/tegra186-mb1-bct-prod-quill-p3310-1000-c03.cfg)... done.
copying scr_config(/home/ubuntu/Linux_for_Tegra_dji/bootloader/t186ref/BCT/minimal_scr.cfg)... done.
copying scr_cold_boot_config(/home/ubuntu/Linux_for_Tegra_dji/bootloader/t186ref/BCT/mobile_scr.cfg)... done.
copying bootrom_config(/home/ubuntu/Linux_for_Tegra_dji/bootloader/t186ref/BCT/tegra186-mb1-bct-bootrom-quill-p3310-1000-c03.cfg)... done.
copying dev_params(/home/ubuntu/Linux_for_Tegra_dji/bootloader/t186ref/BCT/emmc.cfg)... done.
Existing bootloader(/home/ubuntu/Linux_for_Tegra_dji/bootloader/nvtboot_cpu.bin) reused.
	populating kernel to rootfs... done.
	populating initrd to rootfs... done.
	populating extlinux.conf.emmc to rootfs... done.
	populating /home/ubuntu/Linux_for_Tegra_dji/kernel/dtb/tegra186-quill-p3310-1000-c03-00-base.dtb to rootfs... done.
done.
Making Boot image... done.
Existing sosfile(/home/ubuntu/Linux_for_Tegra_dji/bootloader/mb1_recovery_prod.bin) reused.
copying tegraboot(/home/ubuntu/Linux_for_Tegra_dji/bootloader/t186ref/nvtboot.bin)... done.
Existing mb2blfile(/home/ubuntu/Linux_for_Tegra_dji/bootloader/nvtboot_recovery.bin) reused.
Existing mtspreboot(/home/ubuntu/Linux_for_Tegra_dji/bootloader/preboot_d15_prod_cr.bin) reused.
Existing mts(/home/ubuntu/Linux_for_Tegra_dji/bootloader/mce_mts_d15_prod_cr.bin) reused.
Existing mb1file(/home/ubuntu/Linux_for_Tegra_dji/bootloader/mb1_prod.bin) reused.
Existing bpffile(/home/ubuntu/Linux_for_Tegra_dji/bootloader/bpmp.bin) reused.
copying bpfdtbfile(/home/ubuntu/Linux_for_Tegra_dji/bootloader/t186ref/tegra186-a02-bpmp-quill-p3310-1000-c04-00-te770d-ucm2.dtb)... done.
Existing scefile(/home/ubuntu/Linux_for_Tegra_dji/bootloader/camera-rtcpu-sce.bin) reused.
Existing spefile(/home/ubuntu/Linux_for_Tegra_dji/bootloader/spe.bin) reused.
copying wb0boot(/home/ubuntu/Linux_for_Tegra_dji/bootloader/t186ref/warmboot.bin)... done.
Existing tosfile(/home/ubuntu/Linux_for_Tegra_dji/bootloader/tos.img) reused.
Existing eksfile(/home/ubuntu/Linux_for_Tegra_dji/bootloader/eks.img) reused.
copying dtbfile(/home/ubuntu/Linux_for_Tegra_dji/kernel/dtb/tegra186-quill-p3310-1000-c03-00-base.dtb)... done.
Reusing existing system.img... 
done.
Existing tbcfile(/home/ubuntu/Linux_for_Tegra_dji/bootloader/cboot.bin) reused.
copying tbcdtbfile(/home/ubuntu/Linux_for_Tegra_dji/kernel/dtb/tegra186-quill-p3310-1000-c03-00-base.dtb)... done.
copying cfgfile(/home/ubuntu/Linux_for_Tegra_dji/bootloader/t186ref/cfg/flash_l4t_t186.xml) to flash.xml... done.
Existing flasher(/home/ubuntu/Linux_for_Tegra_dji/bootloader/nvtboot_recovery_cpu.bin) reused.
Existing flashapp(/home/ubuntu/Linux_for_Tegra_dji/bootloader/tegraflash.py) reused.
*** Updating [EBT] with nvtboot_cpu.bin ***
./tegraflash.py --bl nvtboot_recovery_cpu.bin  --chip 0x18 --applet mb1_recovery_prod.bin  --cfg flash.xml  --sdram_config P3310_A00_8GB_Samsung_8GB_lpddr4_204Mhz_A02_l4t.cfg --sdram_config P3310_A00_8GB_Samsung_8GB_lpddr4_204Mhz_A02_l4t.cfg --misc_config tegra186-mb1-bct-misc-si-l4t.cfg --pinmux_config tegra186-mb1-bct-pinmux-quill-p3310-1000-c03.cfg --pmic_config tegra186-mb1-bct-pmic-quill-p3310-1000-c04.cfg --pmc_config tegra186-mb1-bct-pad-quill-p3310-1000-c03.cfg --prod_config tegra186-mb1-bct-prod-quill-p3310-1000-c03.cfg --scr_config minimal_scr.cfg --scr_cold_boot_config mobile_scr.cfg --br_cmd_config tegra186-mb1-bct-bootrom-quill-p3310-1000-c03.cfg --dev_params emmc.cfg  --cfg  flash.xml --bins "mb2_bootloader nvtboot_recovery.bin; mts_preboot preboot_d15_prod_cr.bin; mts_bootpack mce_mts_d15_prod_cr.bin; bpmp_fw bpmp.bin; bpmp_fw_dtb tegra186-a02-bpmp-quill-p3310-1000-c04-00-te770d-ucm2.dtb; tlk tos.img; eks eks.img; bootloader_dtb tegra186-quill-p3310-1000-c03-00-base.dtb"  --cmd "sign; write EBT ./signed/nvtboot_cpu.bin.encrypt; reboot"  
Welcome to Tegra Flash
version 1.0.0
Type ? or help for help and q or quit to exit
Use ! to execute system commands
 
[   0.0313 ] tegrasign_v2 --key None --getmode mode.txt
[   0.0321 ] Assuming zero filled SBK key
[   0.0321 ] 
[   0.0321 ] Generating RCM messages
[   0.0329 ] tegrarcm_v2 --listrcm rcm_list.xml --chip 0x18 --download rcm mb1_recovery_prod.bin 0 0
[   0.0336 ] RCM 0 is saved as rcm_0.rcm
[   0.0338 ] RCM 1 is saved as rcm_1.rcm
[   0.0339 ] List of rcm files are saved in rcm_list.xml
[   0.0339 ] 
[   0.0339 ] Signing RCM messages
[   0.0346 ] tegrasign_v2 --key None --list rcm_list.xml --pubkeyhash pub_key.key
[   0.0353 ] Assuming zero filled SBK key
[   0.0387 ] 
[   0.0387 ] Copying signature to RCM mesages
[   0.0396 ] tegrarcm_v2 --chip 0x18 --updatesig rcm_list_signed.xml
[   0.0407 ] 
[   0.0407 ] Parsing partition layout
[   0.0422 ] tegraparser_v2 --pt flash.xml.tmp
[   0.0441 ] 
[   0.0441 ] Creating list of images to be signed
[   0.0780 ] tegrahost_v2 --chip 0x18 --partitionlayout flash.xml.bin --list images_list.xml zerosbk
[   0.1266 ] 
[   0.1266 ] Generating signatures
[   0.1299 ] tegrasign_v2 --key None --list images_list.xml --pubkeyhash pub_key.key
[   0.1309 ] Assuming zero filled SBK key
[   0.3261 ] 
[   0.3261 ] Generating br-bct
[   0.3284 ] Updating dev and MSS params in BR BCT
[   0.3284 ] tegrabct_v2 --dev_param emmc.cfg --sdram P3310_A00_8GB_Samsung_8GB_lpddr4_204Mhz_A02_l4t.cfg --brbct br_bct.cfg --chip 0x18
[   0.3442 ] 
[   0.3442 ] Updating bl info
[   0.3449 ] tegrabct_v2 --brbct br_bct_BR.bct --chip 0x18 --updateblinfo flash.xml.bin --updatesig images_list_signed.xml
[   0.3462 ] 
[   0.3462 ] Updating smd info
[   0.3468 ] tegrabct_v2 --brbct br_bct_BR.bct --chip 0x18 --updatesmdinfo flash.xml.bin
[   0.3477 ] 
[   0.3478 ] Get Signed section bct
[   0.3483 ] tegrabct_v2 --brbct br_bct_BR.bct --chip 0x18 --listbct bct_list.xml
[   0.3490 ] 
[   0.3490 ] Signing BCT
[   0.3501 ] tegrasign_v2 --key None --list bct_list.xml --pubkeyhash pub_key.key
[   0.3507 ] Assuming zero filled SBK key
[   0.3508 ] 
[   0.3508 ] Updating BCT with signature
[   0.3514 ] tegrabct_v2 --brbct br_bct_BR.bct --chip 0x18 --updatesig bct_list_signed.xml
[   0.3522 ] 
[   0.3523 ] Generating coldboot mb1-bct
[   0.3528 ] tegrabct_v2 --chip 0x18 --mb1bct mb1_cold_boot_bct.cfg --sdram P3310_A00_8GB_Samsung_8GB_lpddr4_204Mhz_A02_l4t.cfg --misc tegra186-mb1-bct-misc-si-l4t.cfg --scr mobile_scr.cfg --pinmux tegra186-mb1-bct-pinmux-quill-p3310-1000-c03.cfg --pmc tegra186-mb1-bct-pad-quill-p3310-1000-c03.cfg --pmic tegra186-mb1-bct-pmic-quill-p3310-1000-c04.cfg --brcommand tegra186-mb1-bct-bootrom-quill-p3310-1000-c03.cfg --prod tegra186-mb1-bct-prod-quill-p3310-1000-c03.cfg
[   0.3534 ] MB1-BCT version: 0xe
[   0.3536 ] Copying Sdram info from 2 to 3 set
[   0.3660 ] Packing sdram param for instance[0]
[   0.3662 ] Packing sdram param for instance[1]
[   0.3663 ] Packing sdram param for instance[2]
[   0.3664 ] Packing sdram param for instance[3]

[   0.3665 ] Parsing config file :tegra186-mb1-bct-pinmux-quill-p3310-1000-c03.cfg 
[   0.3667 ] Appending platform config data of size :- 2904

[   0.3669 ] Parsing config file :mobile_scr.cfg 
[   0.3670 ] Appending platform config data of size :- 12240

[   0.3678 ] Parsing config file :tegra186-mb1-bct-pad-quill-p3310-1000-c03.cfg 
[   0.3681 ] Appending platform config data of size :- 24
[   0.3681 ] 
[   0.3681 ] Parsing config file :tegra186-mb1-bct-pmic-quill-p3310-1000-c04.cfg 
[   0.3681 ] Appending platform config data of size :- 708
[   0.3681 ] 
[   0.3681 ] Parsing config file :tegra186-mb1-bct-bootrom-quill-p3310-1000-c03.cfg 
[   0.3681 ] Appending platform config data of size :- 64
[   0.3681 ] 
[   0.3681 ] Parsing config file :tegra186-mb1-bct-prod-quill-p3310-1000-c03.cfg 
[   0.3681 ] Appending platform config data of size :- 1652
[   0.3681 ] 
[   0.3681 ] Updating mb1-bct with firmware information
[   0.3688 ] tegrabct_v2 --chip 0x18 --mb1bct mb1_cold_boot_bct_MB1.bct --updatefwinfo flash.xml.bin
[   0.3694 ] MB1-BCT version: 0xe
[   0.3699 ] 
[   0.3700 ] Updating mb1-bct with storage information
[   0.3705 ] tegrabct_v2 --chip 0x18 --mb1bct mb1_cold_boot_bct_MB1.bct --updatestorageinfo flash.xml.bin
[   0.3711 ] MB1-BCT version: 0xe
[   0.3715 ] 
[   0.3720 ] tegrahost_v2 --align mb1_cold_boot_bct_MB1.bct
[   0.3726 ] 
[   0.3731 ] tegrahost_v2 --appendsigheader mb1_cold_boot_bct_MB1.bct zerosbk
[   0.3737 ] 
[   0.3744 ] tegrasign_v2 --key None --list mb1_cold_boot_bct_MB1_sigheader.bct_list.xml
[   0.3749 ] Assuming zero filled SBK key
[   0.3760 ] 
[   0.3767 ] tegrahost_v2 --updatesigheader mb1_cold_boot_bct_MB1_sigheader.bct.encrypt mb1_cold_boot_bct_MB1_sigheader.bct.hash zerosbk
[   0.3774 ] 
[   0.3774 ] Generating recovery mb1-bct
[   0.3780 ] tegrabct_v2 --chip 0x18 --mb1bct mb1_bct.cfg --sdram P3310_A00_8GB_Samsung_8GB_lpddr4_204Mhz_A02_l4t.cfg --misc tegra186-mb1-bct-misc-si-l4t.cfg --scr minimal_scr.cfg --pinmux tegra186-mb1-bct-pinmux-quill-p3310-1000-c03.cfg --pmc tegra186-mb1-bct-pad-quill-p3310-1000-c03.cfg --pmic tegra186-mb1-bct-pmic-quill-p3310-1000-c04.cfg --brcommand tegra186-mb1-bct-bootrom-quill-p3310-1000-c03.cfg --prod tegra186-mb1-bct-prod-quill-p3310-1000-c03.cfg
[   0.3785 ] MB1-BCT version: 0xe
[   0.3786 ] Copying Sdram info from 2 to 3 set
[   0.3909 ] Packing sdram param for instance[0]
[   0.3912 ] Packing sdram param for instance[1]
[   0.3914 ] Packing sdram param for instance[2]
[   0.3916 ] Packing sdram param for instance[3]

[   0.3918 ] Parsing config file :tegra186-mb1-bct-pinmux-quill-p3310-1000-c03.cfg 
[   0.3921 ] Appending platform config data of size :- 2904

[   0.3923 ] Parsing config file :minimal_scr.cfg 
[   0.3925 ] Appending platform config data of size :- 12240

[   0.3927 ] Parsing config file :tegra186-mb1-bct-pad-quill-p3310-1000-c03.cfg 
[   0.3929 ] Appending platform config data of size :- 24
[   0.3929 ] 
[   0.3929 ] Parsing config file :tegra186-mb1-bct-pmic-quill-p3310-1000-c04.cfg 
[   0.3929 ] Appending platform config data of size :- 708
[   0.3929 ] 
[   0.3929 ] Parsing config file :tegra186-mb1-bct-bootrom-quill-p3310-1000-c03.cfg 
[   0.3929 ] Appending platform config data of size :- 64
[   0.3929 ] 
[   0.3929 ] Parsing config file :tegra186-mb1-bct-prod-quill-p3310-1000-c03.cfg 
[   0.3929 ] Appending platform config data of size :- 1652
[   0.3929 ] 
[   0.3930 ] Updating mb1-bct with firmware information
[   0.3936 ] tegrabct_v2 --chip 0x18 --mb1bct mb1_bct_MB1.bct --updatefwinfo flash.xml.bin
[   0.3941 ] MB1-BCT version: 0xe
[   0.3948 ] 
[   0.3948 ] Updating mb1-bct with storage information
[   0.3952 ] tegrabct_v2 --chip 0x18 --mb1bct mb1_bct_MB1.bct --updatestorageinfo flash.xml.bin
[   0.3957 ] MB1-BCT version: 0xe
[   0.3963 ] 
[   0.3968 ] tegrahost_v2 --align mb1_bct_MB1.bct
[   0.3973 ] 
[   0.3978 ] tegrahost_v2 --appendsigheader mb1_bct_MB1.bct zerosbk
[   0.3984 ] 
[   0.3990 ] tegrasign_v2 --key None --list mb1_bct_MB1_sigheader.bct_list.xml
[   0.3995 ] Assuming zero filled SBK key
[   0.4006 ] 
[   0.4013 ] tegrahost_v2 --updatesigheader mb1_bct_MB1_sigheader.bct.encrypt mb1_bct_MB1_sigheader.bct.hash zerosbk
[   0.4019 ] 
[   0.4020 ] Copying signatures
[   0.4025 ] tegrahost_v2 --chip 0x18 --partitionlayout flash.xml.bin --updatesig images_list_signed.xml
[   0.4470 ] 
[   0.4482 ] tegrahost_v2 --align nvtboot_recovery.bin
[   0.4493 ] 
[   0.4503 ] tegrahost_v2 --appendsigheader nvtboot_recovery.bin zerosbk
[   0.4516 ] 
[   0.4528 ] tegrasign_v2 --key None --list nvtboot_recovery_sigheader.bin_list.xml
[   0.4538 ] Assuming zero filled SBK key
[   0.4570 ] 
[   0.4585 ] tegrahost_v2 --updatesigheader nvtboot_recovery_sigheader.bin.encrypt nvtboot_recovery_sigheader.bin.hash zerosbk
[   0.4599 ] 
[   0.4612 ] tegrahost_v2 --align preboot_d15_prod_cr.bin
[   0.4625 ] 
[   0.4638 ] tegrahost_v2 --appendsigheader preboot_d15_prod_cr.bin zerosbk
[   0.4652 ] 
[   0.4665 ] tegrasign_v2 --key None --list preboot_d15_prod_cr_sigheader.bin_list.xml
[   0.4675 ] Assuming zero filled SBK key
[   0.4701 ] 
[   0.4714 ] tegrahost_v2 --updatesigheader preboot_d15_prod_cr_sigheader.bin.encrypt preboot_d15_prod_cr_sigheader.bin.hash zerosbk
[   0.4727 ] 
[   0.4737 ] tegrahost_v2 --align mce_mts_d15_prod_cr.bin
[   0.4747 ] 
[   0.4757 ] tegrahost_v2 --appendsigheader mce_mts_d15_prod_cr.bin zerosbk
[   0.4813 ] 
[   0.4827 ] tegrasign_v2 --key None --list mce_mts_d15_prod_cr_sigheader.bin_list.xml
[   0.4837 ] Assuming zero filled SBK key
[   0.5327 ] 
[   0.5336 ] tegrahost_v2 --updatesigheader mce_mts_d15_prod_cr_sigheader.bin.encrypt mce_mts_d15_prod_cr_sigheader.bin.hash zerosbk
[   0.5385 ] 
[   0.5392 ] tegrahost_v2 --align bpmp.bin
[   0.5397 ] 
[   0.5403 ] tegrahost_v2 --appendsigheader bpmp.bin zerosbk
[   0.5417 ] 
[   0.5424 ] tegrasign_v2 --key None --list bpmp_sigheader.bin_list.xml
[   0.5430 ] Assuming zero filled SBK key
[   0.5540 ] 
[   0.5549 ] tegrahost_v2 --updatesigheader bpmp_sigheader.bin.encrypt bpmp_sigheader.bin.hash zerosbk
[   0.5560 ] 
[   0.5565 ] tegrahost_v2 --align tegra186-a02-bpmp-quill-p3310-1000-c04-00-te770d-ucm2.dtb
[   0.5571 ] 
[   0.5577 ] tegrahost_v2 --appendsigheader tegra186-a02-bpmp-quill-p3310-1000-c04-00-te770d-ucm2.dtb zerosbk
[   0.5588 ] 
[   0.5595 ] tegrasign_v2 --key None --list tegra186-a02-bpmp-quill-p3310-1000-c04-00-te770d-ucm2_sigheader.dtb_list.xml
[   0.5601 ] Assuming zero filled SBK key
[   0.5694 ] 
[   0.5704 ] tegrahost_v2 --updatesigheader tegra186-a02-bpmp-quill-p3310-1000-c04-00-te770d-ucm2_sigheader.dtb.encrypt tegra186-a02-bpmp-quill-p3310-1000-c04-00-te770d-ucm2_sigheader.dtb.hash zerosbk
[   0.5714 ] 
[   0.5719 ] tegrahost_v2 --align tos.img
[   0.5725 ] 
[   0.5730 ] tegrahost_v2 --appendsigheader tos.img zerosbk
[   0.5737 ] 
[   0.5744 ] tegrasign_v2 --key None --list tos_sigheader.img_list.xml
[   0.5749 ] Assuming zero filled SBK key
[   0.5763 ] 
[   0.5770 ] tegrahost_v2 --updatesigheader tos_sigheader.img.encrypt tos_sigheader.img.hash zerosbk
[   0.5777 ] 
[   0.5783 ] tegrahost_v2 --align eks.img
[   0.5788 ] 
[   0.5794 ] tegrahost_v2 --appendsigheader eks.img zerosbk
[   0.5799 ] 
[   0.5806 ] tegrasign_v2 --key None --list eks_sigheader.img_list.xml
[   0.5811 ] Assuming zero filled SBK key
[   0.5812 ] 
[   0.5819 ] tegrahost_v2 --updatesigheader eks_sigheader.img.encrypt eks_sigheader.img.hash zerosbk
[   0.5825 ] 
[   0.5830 ] tegrahost_v2 --align tegra186-quill-p3310-1000-c03-00-base.dtb
[   0.5836 ] 
[   0.5841 ] tegrahost_v2 --appendsigheader tegra186-quill-p3310-1000-c03-00-base.dtb zerosbk
[   0.5850 ] 
[   0.5857 ] tegrasign_v2 --key None --list tegra186-quill-p3310-1000-c03-00-base_sigheader.dtb_list.xml
[   0.5862 ] Assuming zero filled SBK key
[   0.5917 ] 
[   0.5924 ] tegrahost_v2 --updatesigheader tegra186-quill-p3310-1000-c03-00-base_sigheader.dtb.encrypt tegra186-quill-p3310-1000-c03-00-base_sigheader.dtb.hash zerosbk
[   0.5934 ] 
[   0.5941 ] tegrahost_v2 --align nvtboot_recovery_cpu.bin
[   0.5947 ] 
[   0.5954 ] tegrahost_v2 --appendsigheader nvtboot_recovery_cpu.bin zerosbk
[   0.5963 ] 
[   0.5978 ] tegrasign_v2 --key None --list nvtboot_recovery_cpu_sigheader.bin_list.xml
[   0.5985 ] Assuming zero filled SBK key
[   0.6023 ] 
[   0.6032 ] tegrahost_v2 --updatesigheader nvtboot_recovery_cpu_sigheader.bin.encrypt nvtboot_recovery_cpu_sigheader.bin.hash zerosbk
[   0.6039 ] 
[   0.6040 ] Copying signed file in /home/ubuntu/Linux_for_Tegra_dji/bootloader/signed
[   0.6272 ] Generating RCM messages
[   0.6280 ] tegrarcm_v2 --listrcm rcm_list.xml --chip 0x18 --download rcm mb1_recovery_prod.bin 0 0
[   0.6286 ] RCM 0 is saved as rcm_0.rcm
[   0.6289 ] RCM 1 is saved as rcm_1.rcm
[   0.6289 ] List of rcm files are saved in rcm_list.xml
[   0.6289 ] 
[   0.6289 ] Signing RCM messages
[   0.6296 ] tegrasign_v2 --key None --list rcm_list.xml --pubkeyhash pub_key.key
[   0.6303 ] Assuming zero filled SBK key
[   0.6331 ] 
[   0.6331 ] Copying signature to RCM mesages
[   0.6339 ] tegrarcm_v2 --chip 0x18 --updatesig rcm_list_signed.xml
[   0.6377 ] 
[   0.6377 ] Boot Rom communication
[   0.6383 ] tegrarcm_v2 --chip 0x18 --rcm rcm_list_signed.xml
[   0.6388 ] BootRom is not running
[   1.6623 ] 
[   1.6651 ] tegrarcm_v2 --isapplet
[   1.6676 ] Applet version 01.00.0000
[   1.6701 ] 
[   1.6725 ] tegrasign_v2 --key None --getmode mode.txt
[   1.6753 ] Assuming zero filled SBK key
[   1.6757 ] 
[   1.6758 ] Parsing partition layout
[   1.6784 ] tegraparser_v2 --pt flash.xml.tmp
[   1.6799 ] 
[   1.6799 ] Creating list of images to be signed
[   1.6805 ] tegrahost_v2 --chip 0x18 --partitionlayout flash.xml.bin --list images_list.xml zerosbk
[   1.7167 ] 
[   1.7167 ] Generating signatures
[   1.7176 ] tegrasign_v2 --key None --list images_list.xml --pubkeyhash pub_key.key
[   1.7183 ] Assuming zero filled SBK key
[   1.9084 ] 
[   1.9085 ] Reading BCT from device for further operations
[   1.9085 ] Generating blob
[   1.9092 ] tegrahost_v2 --align blob_nvtboot_recovery_cpu.bin
[   1.9098 ] 
[   1.9104 ] tegrahost_v2 --appendsigheader blob_nvtboot_recovery_cpu.bin zerosbk
[   1.9112 ] 
[   1.9119 ] tegrasign_v2 --key None --list blob_nvtboot_recovery_cpu_sigheader.bin_list.xml
[   1.9124 ] Assuming zero filled SBK key
[   1.9162 ] 
[   1.9169 ] tegrahost_v2 --updatesigheader blob_nvtboot_recovery_cpu_sigheader.bin.encrypt blob_nvtboot_recovery_cpu_sigheader.bin.hash zerosbk
[   1.9177 ] 
[   1.9183 ] tegrahost_v2 --align blob_nvtboot_recovery.bin
[   1.9188 ] 
[   1.9194 ] tegrahost_v2 --appendsigheader blob_nvtboot_recovery.bin zerosbk
[   1.9202 ] 
[   1.9209 ] tegrasign_v2 --key None --list blob_nvtboot_recovery_sigheader.bin_list.xml
[   1.9214 ] Assuming zero filled SBK key
[   1.9231 ] 
[   1.9242 ] tegrahost_v2 --updatesigheader blob_nvtboot_recovery_sigheader.bin.encrypt blob_nvtboot_recovery_sigheader.bin.hash zerosbk
[   1.9251 ] 
[   1.9258 ] tegrahost_v2 --align blob_preboot_d15_prod_cr.bin
[   1.9263 ] 
[   1.9269 ] tegrahost_v2 --appendsigheader blob_preboot_d15_prod_cr.bin zerosbk
[   1.9275 ] 
[   1.9282 ] tegrasign_v2 --key None --list blob_preboot_d15_prod_cr_sigheader.bin_list.xml
[   1.9288 ] Assuming zero filled SBK key
[   1.9301 ] 
[   1.9308 ] tegrahost_v2 --updatesigheader blob_preboot_d15_prod_cr_sigheader.bin.encrypt blob_preboot_d15_prod_cr_sigheader.bin.hash zerosbk
[   1.9315 ] 
[   1.9321 ] tegrahost_v2 --align blob_mce_mts_d15_prod_cr.bin
[   1.9327 ] 
[   1.9332 ] tegrahost_v2 --appendsigheader blob_mce_mts_d15_prod_cr.bin zerosbk
[   1.9362 ] 
[   1.9371 ] tegrasign_v2 --key None --list blob_mce_mts_d15_prod_cr_sigheader.bin_list.xml
[   1.9378 ] Assuming zero filled SBK key
[   1.9787 ] 
[   1.9796 ] tegrahost_v2 --updatesigheader blob_mce_mts_d15_prod_cr_sigheader.bin.encrypt blob_mce_mts_d15_prod_cr_sigheader.bin.hash zerosbk
[   1.9820 ] 
[   1.9827 ] tegrahost_v2 --align blob_bpmp.bin
[   1.9833 ] 
[   1.9839 ] tegrahost_v2 --appendsigheader blob_bpmp.bin zerosbk
[   1.9850 ] 
[   1.9858 ] tegrasign_v2 --key None --list blob_bpmp_sigheader.bin_list.xml
[   1.9863 ] Assuming zero filled SBK key
[   1.9964 ] 
[   1.9972 ] tegrahost_v2 --updatesigheader blob_bpmp_sigheader.bin.encrypt blob_bpmp_sigheader.bin.hash zerosbk
[   1.9982 ] 
[   1.9989 ] tegrahost_v2 --align blob_tegra186-a02-bpmp-quill-p3310-1000-c04-00-te770d-ucm2.dtb
[   1.9995 ] 
[   2.0001 ] tegrahost_v2 --appendsigheader blob_tegra186-a02-bpmp-quill-p3310-1000-c04-00-te770d-ucm2.dtb zerosbk
[   2.0013 ] 
[   2.0022 ] tegrasign_v2 --key None --list blob_tegra186-a02-bpmp-quill-p3310-1000-c04-00-te770d-ucm2_sigheader.dtb_list.xml
[   2.0029 ] Assuming zero filled SBK key
[   2.0127 ] 
[   2.0136 ] tegrahost_v2 --updatesigheader blob_tegra186-a02-bpmp-quill-p3310-1000-c04-00-te770d-ucm2_sigheader.dtb.encrypt blob_tegra186-a02-bpmp-quill-p3310-1000-c04-00-te770d-ucm2_sigheader.dtb.hash zerosbk
[   2.0146 ] 
[   2.0152 ] tegrahost_v2 --align blob_tos.img
[   2.0158 ] 
[   2.0163 ] tegrahost_v2 --appendsigheader blob_tos.img zerosbk
[   2.0170 ] 
[   2.0177 ] tegrasign_v2 --key None --list blob_tos_sigheader.img_list.xml
[   2.0182 ] Assuming zero filled SBK key
[   2.0195 ] 
[   2.0202 ] tegrahost_v2 --updatesigheader blob_tos_sigheader.img.encrypt blob_tos_sigheader.img.hash zerosbk
[   2.0208 ] 
[   2.0214 ] tegrahost_v2 --align blob_eks.img
[   2.0220 ] 
[   2.0225 ] tegrahost_v2 --appendsigheader blob_eks.img zerosbk
[   2.0231 ] 
[   2.0238 ] tegrasign_v2 --key None --list blob_eks_sigheader.img_list.xml
[   2.0243 ] Assuming zero filled SBK key
[   2.0244 ] 
[   2.0251 ] tegrahost_v2 --updatesigheader blob_eks_sigheader.img.encrypt blob_eks_sigheader.img.hash zerosbk
[   2.0257 ] 
[   2.0263 ] tegrahost_v2 --align blob_tegra186-quill-p3310-1000-c03-00-base.dtb
[   2.0268 ] 
[   2.0274 ] tegrahost_v2 --appendsigheader blob_tegra186-quill-p3310-1000-c03-00-base.dtb zerosbk
[   2.0282 ] 
[   2.0289 ] tegrasign_v2 --key None --list blob_tegra186-quill-p3310-1000-c03-00-base_sigheader.dtb_list.xml
[   2.0294 ] Assuming zero filled SBK key
[   2.0350 ] 
[   2.0360 ] tegrahost_v2 --updatesigheader blob_tegra186-quill-p3310-1000-c03-00-base_sigheader.dtb.encrypt blob_tegra186-quill-p3310-1000-c03-00-base_sigheader.dtb.hash zerosbk
[   2.0374 ] 
[   2.0384 ] tegrahost_v2 --generateblob blob.xml blob.bin
[   2.0390 ] number of images in blob are 9
[   2.0392 ] blobsize is 3748824
[   2.0393 ] Added binary blob_nvtboot_recovery_cpu_sigheader.bin.encrypt of size 190048
[   2.0405 ] Added binary blob_nvtboot_recovery_sigheader.bin.encrypt of size 79600
[   2.0407 ] Added binary blob_preboot_d15_prod_cr_sigheader.bin.encrypt of size 63024
[   2.0410 ] Added binary blob_mce_mts_d15_prod_cr_sigheader.bin.encrypt of size 2076832
[   2.0414 ] Added binary blob_bpmp_sigheader.bin.encrypt of size 529440
[   2.0417 ] Added binary blob_tegra186-a02-bpmp-quill-p3310-1000-c04-00-te770d-ucm2_sigheader.dtb.encrypt of size 466160
[   2.0421 ] Added binary blob_tos_sigheader.img.encrypt of size 62976
[   2.0423 ] Added binary blob_eks_sigheader.img.encrypt of size 1488
[   2.0425 ] Added binary blob_tegra186-quill-p3310-1000-c03-00-base_sigheader.dtb.encrypt of size 279104
[   2.0432 ] 
[   2.0433 ] Sending bootloader and pre-requisite binaries
[   2.0440 ] tegrarcm_v2 --download blob blob.bin
[   2.0445 ] Applet version 01.00.0000
[   2.0465 ] Sending blob
[   2.0466 ] [................................................] 100%
[   2.9538 ] 
[   2.9562 ] tegrarcm_v2 --boot recovery
[   2.9583 ] Applet version 01.00.0000
[   2.9620 ] 
[   2.9645 ] tegrarcm_v2 --isapplet
[   3.6565 ] 
[   3.6595 ] tegradevflash_v2 --iscpubl
[   3.6620 ] CPU Bootloader is not running on device.
[   3.6625 ] 
[   4.9280 ] Writing partition
[   4.9288 ] tegradevflash_v2 --write EBT /home/ubuntu/Linux_for_Tegra_dji/bootloader/signed/nvtboot_cpu.bin.encrypt
[   4.9294 ] Bootloader version 01.00.0000
[   4.9308 ] File to be written cannot be of zero size
[   4.9308 ] 
Error: Return value 10
Command tegradevflash_v2 --write EBT /home/ubuntu/Linux_for_Tegra_dji/bootloader/signed/nvtboot_cpu.bin.encrypt
Failed to flash/read t186ref.
ubuntu@OptiPlex-7050:~/Linux_for_Tegra_dji$

How about this one

sudo ./flash.sh -r -k cpu-bootloader jetson-tx2 mmcblk0p1

Yes, this command is ok, thanks!

where can I find the git repo of the recently published cboot? I just can find the source code on https://developer.nvidia.com/embedded/linux-tegra

Hi,

It is in the download center

I found the source files already there before but the source files don’t include a git repo. Is it possible to get the Git link? I can’t find it in source_sync.sh of R28.2.1.