CBoot - How can I further shorten the time of CBOOT?

I shortened the CBoot time from 13 sec to 2.274 sec by following operations:

  • disable all drivers i don’t need
  • disable USB_BOOT
  • close all logs out through uart
  • close the boot chosen
  • close the shell

I would like to further shorten the time of CBoot but i don’t know how to do it.

Furthermore, i find the CBoot starts at 1.113 sec, so what is the program before 1.113 sec and how can I shorten it? for example, how can i turn off its log_out.

[0000.066] I> Boot-device: QSPI
[0000.068] I> Qspi flash params source = brbct
[0000.072] I> Qspi using bpmp-dma
[0000.075] I> Qspi clock source : pllp
[0000.079] I> QSPI Flash Size = 32 MB
[0000.082] I> Qspi initialized successfully
[0000.086] W> No valid slot number is found in scratch register
[0000.092] W> Return default slot: _a
[0000.095] I> Active Boot chain : 0
[0000.098] I> Boot-device: QSPI
[0000.101] I> Qspi flash params source = brbct
[0000.107] W> MB1_PLATFORM_CONFIG: device prod data is empty in MB1 BCT.
[0000.114] I> Temperature = 49000
[0000.117] W> Skipping boost for clk: BPMP_CPU_NIC
[0000.122] W> Skipping boost for clk: BPMP_APB
[0000.126] W> Skipping boost for clk: AXI_CBB
[0000.130] W> Skipping boost for clk: AON_CPU_NIC
[0000.134] W> Skipping boost for clk: CAN1
[0000.138] W> Skipping boost for clk: CAN2
[0000.142] I> Boot-device: QSPI
[0000.145] I> Boot-device: QSPI
[0000.148] I> Qspi flash params source = mb1bct
[0000.152] I> Qspi using bpmp-dma
[0000.155] I> Qspi clock source : pllc_out0
[0000.158] I> Qspi reinitialized
[0000.161] I> Qspi flash params source = mb1bct
[0000.167] I> ECC region[0]: Start:0x0, End:0x0
[0000.171] I> ECC region[1]: Start:0x0, End:0x0
[0000.175] I> ECC region[2]: Start:0x0, End:0x0
[0000.179] I> ECC region[3]: Start:0x0, End:0x0
[0000.183] I> ECC region[4]: Start:0x0, End:0x0
[0000.187] I> Non-ECC region[0]: Start:0x80000000, End:0x100000000
[0000.193] I> Non-ECC region[1]: Start:0x0, End:0x0
[0000.198] I> Non-ECC region[2]: Start:0x0, End:0x0
[0000.202] I> Non-ECC region[3]: Start:0x0, End:0x0
[0000.207] I> Non-ECC region[4]: Start:0x0, End:0x0
[0000.212] E> FAILED: Thermal config
[0000.219] E> FAILED: MEMIO rail config
[0000.229] I> Boot-device: QSPI
[0000.232] I> Qspi flash params source = mb1bct
[0000.241] I> Qspi flash params source = mb1bct
[0000.253] I> Qspi flash params source = mb1bct
[0000.319] I> Qspi flash params source = mb1bct
[0000.328] I> Qspi flash params source = mb1bct
[0000.357] I> Qspi flash params source = mb1bct
[0000.369] I> MB1 done

[0000.790] I> sdmmc DDR50 mode
[0000.792] I> sdmmc-3 params source = safe params
[0000.798] I> Found 47 partitions in QSPI_FLASH (instance 0)
[0000.800] W> Cannot find any partition table for 00000003
[0000.804] I> Found 11 partitions in SDMMC_USER (instance 3)
[0000.805] W> No valid slot number is found in scratch register
[0000.805] W> Return default slot: _a
[0000.806] I> Active Boot chain : 0
[0000.807] I> parsing oem signed section of bpmp-fw header done
[0000.808] I> bpmp-fw binary init read from storage
[0000.812] I> oem authentication of bpmp-fw header done
[0000.826] I> bpmp-fw binary done read from storage
[0000.826] I> bpmp-fw: Authentication init Done
[0000.827] I> parsing oem signed section of cpubl header done
[0000.831] I> cpubl binary init read from storage
[0000.835] I> bpmp-fw: Authentication Finalize Done
[0000.840] I> oem authentication of cpubl header done
[0000.845] I> cpubl binary done read from storage
[0000.849] I> cpubl: Authentication init Done
[0000.854] I> parsing oem signed section of rce header done
[0000.859] I> rce binary init read from storage
[0000.863] I> Relocating BR-BCT
[0000.866] I> cpubl: Authentication Finalize Done
[0000.871] I> oem authentication of rce header done
[0000.875] I> rce binary done read from storage
[0000.879] I> rce: Authentication init Done
[0000.884] I> parsing oem signed section of ape header done
[0000.889] I> ape binary init read from storage
[0000.893] I> rce: Authentication Finalize Done
[0000.897] I> oem authentication of ape header done
[0000.902] I> ape binary done read from storage
[0000.906] I> ape: Authentication init Done
[0000.911] I> parsing oem signed section of tos header done
[0000.916] I> tos binary init read from storage
[0000.920] I> ape: Authentication Finalize Done
[0000.925] I> oem authentication of tos header done
[0000.931] I> tos binary done read from storage
[0000.933] I> tos: Authentication init Done
[0000.937] I> parsing oem signed section of bpmp-fw-dtb header done
[0000.943] I> bpmp-fw-dtb binary init read from storage
[0000.948] I> tos: Authentication Finalize Done
[0000.954] I> oem authentication of bpmp-fw-dtb header done
[0000.958] I> bpmp-fw-dtb binary done read from storage
[0000.962] I> bpmp-fw-dtb: Authentication init Done
[0000.968] I> parsing oem signed section of cpubl-dtb header done
[0000.973] I> cpubl-dtb binary init read from storage
[0000.978] I> bpmp-fw-dtb: Authentication Finalize Done
[0001.035] I> oem authentication of cpubl-dtb header done
[0001.036] I> cpubl-dtb binary done read from storage
[0001.037] I> cpubl-dtb: Authentication init Done
[0001.038] I> parsing oem signed section of eks header done
[0001.038] I> eks binary init read from storage
[0001.039] I> cpubl-dtb: Authentication Finalize Done
[0001.040] I> oem authentication of eks header done
[0001.044] I> eks binary done read from storage
[0001.048] I> eks: Authentication init Done
[0001.052] I> eks: Authentication Finalize Done
[0001.056] I> EKB detected (length: 0x410) @ VA:0x52714400
NOTICE:  BL31: v1.3(release):5b49e7f80
NOTICE:  BL31: Built : 14:42:47, Jan 15 2021
ipc-unittest-main: 1519: Welcome to IPC unittest!!!
ipc-unittest-main: 1531: waiting forever
ipc-unittest-srv: 329: Init unittest services!!!
hwkey-agent: 40: hwkey-agent is running!!
hwkey-agent: 197: key_mgnt_processing .......
hwkey-agent: 189: Setting EKB key 0 to slot 14
hwkey-agent: 167: Init hweky-agent services!!
luks-srv: 40: luks-srv is running!!
luks-srv: 157: Init luks-srv IPC services!!
platform_bootstrap_epilog: trusty bootstrap complete

welcome to lk
calling constructors
initializing heap
creating bootstrap completion thread
top of bootstrap2()
initializing platform
bpmp: platform_init
tag is e73a758761f0c6d24a1e69a2ac6b5035
tag_show initialized
dt initialized
mail initialized
chipid initialized
fuse initialized
sku initialized
speedo initialized
ec_get_ec_list: found 45 ecs
ec initialized
ec_mrq initialized
vmon_populate_monitors: found 3 monitors
vmon initialized
adc initialized
fmon_populate_monitors: found 73 monitors
fmon initialized
fmon_mrq initialized
reset initialized
nvhs initialized
391 clocks registered
clk_mrq_init: mrq handler registered
clk initialized
nvlink initialized
io_dpd initialized
io_dpd initialized
thermal initialized
i2c5 controller initialized
initialized i2c mrq handling
i2c initialized
regulator initialized
avfs_clk_platform_init: bad clk id in clock@cluster1_avfs
avfs_clk_platform initialized
soctherm initialized
aotag initialized
powergate initialized
dvs initialized
pm initialized
pg_late initialized
strap initialized
tag initialized
emc initialized
clk_dt initialized
avfs_ccplex_platform initialized
tj_max: dt node not found
tj_init initialized
uphy_mrq_init: mrq handler registered
uphy_dt initialized
uphy initialized
safereg_init: period 80 ms
ec_late initialized
?鈓rq initialized
[0001.398] initializing heap
WARNING: no registered clock for FMON_NAFLL_CLUSTER1 (id 281)
fmon_post initialized
clk_set_parent failed for clk i2c2, parent pll_aon (-22)
clk_set_parent failed for clk i2c8, parent pll_aon (-22)
clk_dt_late initialized
machine_check initialized
pm_post initialized
dbells initialized
avfs_clk_platform_post initialized
dmce initialized
cvc initialized
ccplex_avfs_hw_init: nafll_cluster0: not monitored
ccplex_avfs_hw_init: nafll_cluster2: not monitored
ccplex_avfs_hw_init: nafll_cluster3: not monitored
avfs_clk_mach_post initialized
regulator_post initialized
rm initialized
sc7_diag initialized
thermal_test initialized
serial_late initialized
clk_post initialized
clk_dt_post initialized
mc_reg initialized
pg_post initialized
dyn_modules initialized
sku_debugfs initialized
speedo_debugfs initialized
adc_debugfs initialized
Failed to register PTO counter for id 281
Failed to register PTO counter for id 281
Failed to register PTO counter for id 281
Failed to register PTO counter for id 281
clk_debugfs initialized
emc_debugfs initialized
dvs_debugfs initialized
fmon_debugfs_init_one: no clock debugfs node to attach FMON_NAFLL_CLUSTER1
fmon_debugfs initialized
vmon_debugfs initialized
pg_debugfs initialized
profile_fs initialized
debugfs_cons initialized
mail_fs initialized
profile initialized
cvc_debugfs initialized
dmce_debugfs initialized
ec_debugfs initialized
rm_rail_debugfs_init: /rm/vdd_cpu: failed
rm_rail_debugfs_init: /rm/vdd_cpu: failed
rm_debugfs initialized
soctherm_debug initialized
gr_reader initialized
mods initialized
dt_fs initialized
debugfs_mrq initialized
debug_mrq initialized
debug_safereg initialized
initializing target
calling apps_init()
starting app shell
entering main console loop
] starting app kernel_boot_app
[0002.274] C> Kernel EP: 0x80080000, DTB: 0x90000000, start time: 1113

First… this is jetson Orin NX forum board. Please clarify if you are using NX or Orin NX… these two are different…

hmmmm…sry, it should be Jetson Xavier NX. I have moved the post to NX forum board.

Ok.

There is not much you can configure “before” cboot since those bootloader binaries are not public source.

You can use below method to disable the log from uart.