Flash Mainline U-Boot to eMMC and boot from Archlinux Arm on SD TX2 NX

I am attempting to run Mainline U-Boot (on eMMC) with Archlinuxarm aarch64 mainline kernel (on SD). I am confident in configuring the latter and the initramfs to make everything work, however the former being flashed onto eMMC is giving me some issues since I cannot see a way to flash only U-Boot on the internal eMMC.

This is necessary due to the scheme that I want to use, we are adding more and newer devices to the boad, and since the U-Boot that comes in Tegra seems to be missing functionality and has some issues with the SD card. As can be seen in the below output where trying to read the card gives a voltage select error, and sata / nand commands do not exist (please do correct me if I am being silly anywhere with HUSH or U-Boot its not my particular forte).

Tegra186 (P3636-0001) # version
U-Boot 2020.04-g4335beb (Apr 17 2022 - 02:21:01 -0700)

aarch64-linux-gnu-gcc (Linaro GCC 7.3-2018.05) 7.3.1 20180425 [linaro-7.3-2018.05 revision d29120a424ecfbc167ef90065c0eeb7f91977701]
GNU ld (Linaro_Binutils-2018.05) 2.28.2.20170706
Tegra186 (P3636-0001) # mmc rescan
Tegra186 (P3636-0001) # mmc list
sdhci@3400000: 1
sdhci@3460000: 0 (eMMC)
Tegra186 (P3636-0001) # ls mmc 0:1
<DIR>       4096 .
<DIR>       4096 ..
<DIR>      16384 lost+found
<DIR>       4096 boot
<DIR>       4096 bin
<DIR>       4096 dev
<DIR>      12288 etc
<DIR>       4096 home
<DIR>       4096 lib
<DIR>       4096 media
<DIR>       4096 mnt
<DIR>       4096 opt
<DIR>       4096 proc
<DIR>       4096 root
<DIR>       4096 run
<DIR>       4096 sbin
<DIR>       4096 snap
<DIR>       4096 srv
<DIR>       4096 sys
<DIR>       4096 tmp
<DIR>       4096 usr
<DIR>       4096 var
Tegra186 (P3636-0001) # ls mmc 1:1
Card did not respond to voltage select!
Tegra186 (P3636-0001) # ls mmc 1:0
Card did not respond to voltage select!
Tegra186 (P3636-0001) # sata
Unknown command 'sata' - try 'help'
Tegra186 (P3636-0001) # nand
Unknown command 'nand' - try 'help'

I am flashing the TX2-NX board (forecr) using the flash script from https://developer.nvidia.com/embedded/jetson-linux-archive v32.7.2.

Also if there is a more standard Linux way to flash these boards that would be amazing, although im not sure dd etc would work here to flash the eMMC cleanly.

I have tried

A mixup of different posts from various places:

https://elinux.org/Jetson/Nano/Upstream

which both resolve to something like

sudo ./flash.sh -K <PATH-TO>/u-boot.bin -r jetson-xavier-nx-devkit-tx2-nx mmcblk0p1

The flash completes with the following log, however it does not seem to have flashed with the version of U-Boot I am expecting:

###############################################################################
# L4T BSP Information:
# R32 , REVISION: 7.2
###############################################################################
# Target Board Information:
# Name: jetson-xavier-nx-devkit-tx2-nx, Board Family: t186ref, SoC: Tegra 186, 
# OpMode: production, Boot Authentication: NS, 
# Disk encryption: disabled ,
###############################################################################
./tegraflash.py --chip 0x18 --applet "/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/mb1_recovery_prod.bin" --skipuid --cmd "dump eeprom boardinfo cvm.bin" 
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.0030 ] Generating RCM messages
[   0.0046 ] tegrarcm_v2 --listrcm rcm_list.xml --chip 0x18 0 --download rcm /home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/mb1_recovery_prod.bin 0 0
[   0.0049 ] RCM 0 is saved as rcm_0.rcm
[   0.0052 ] RCM 1 is saved as rcm_1.rcm
[   0.0052 ] List of rcm files are saved in rcm_list.xml
[   0.0052 ] 
[   0.0052 ] Signing RCM messages
[   0.0070 ] tegrasign_v3.py --key None --list rcm_list.xml --pubkeyhash pub_key.key
[   0.0070 ] Assuming zero filled SBK key
[   0.0100 ] Copying signature to RCM mesages
[   0.0113 ] tegrarcm_v2 --chip 0x18 0 --updatesig rcm_list_signed.xml
[   0.0119 ] 
[   0.0119 ] Boot Rom communication
[   0.0134 ] tegrarcm_v2 --chip 0x18 0 --rcm rcm_list_signed.xml --skipuid
[   0.0137 ] RCM version 0X180001
[   0.3908 ] Boot Rom communication completed
[   1.3989 ] 
[   2.4017 ] tegrarcm_v2 --isapplet
[   2.4020 ] Applet version 01.00.0000
[   3.1725 ] 
[   3.1740 ] Retrieving EEPROM data
[   3.1741 ] tegrarcm_v2 --oem platformdetails eeprom cvm /home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/cvm.bin
[   3.1743 ] Applet version 01.00.0000
[   3.9632 ] Saved platform info in /home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/cvm.bin
[   4.0383 ] 
Board ID(3636) version(300) sku(0001) revision(H.0)
copying bctfile(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/t186ref/BCT/tegra186-mb1-bct-memcfg-p3636-0001-a01.cfg)... done.
copying misc_config(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/t186ref/BCT/tegra186-mb1-bct-misc-si-l4t.cfg)... done.
copying pinmux_config(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/t186ref/BCT/tegra186-mb1-bct-pinmux-p3636-0001-a00.cfg)... done.
copying pmic_config(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/t186ref/BCT/tegra186-mb1-bct-pmic-p3636-0001-a00.cfg)... done.
copying pmc_config(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/t186ref/BCT/tegra186-mb1-bct-pad-p3636-0001-a00.cfg)... done.
copying prod_config(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/t186ref/BCT/tegra186-mb1-bct-prod-p3636-0001-a00.cfg)... done.
copying scr_config(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/t186ref/BCT/minimal_scr.cfg)... done.
copying scr_cold_boot_config(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/t186ref/BCT/mobile_scr.cfg)... done.
copying bootrom_config(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/t186ref/BCT/tegra186-mb1-bct-bootrom-p3636-0001-a00.cfg)... done.
copying dev_params(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/t186ref/BCT/emmc.cfg)... done.
Existing bootloader(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/nvtboot_cpu.bin) reused.
copying initrd(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/l4t_initrd.img)... done.
Making Boot image... done.
/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/tegraflash.py --chip 0x18 --key  --cmd sign boot.img kernel
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.0003 ] Generating signature
[   0.0022 ] tegrasign_v3.py --getmode mode.txt --key 
[   0.0022 ] Assuming zero filled SBK key : not reading 
[   0.0021 ] sign_type   : 0
[   0.0021 ] header_magic: 414e4452
[   0.0036 ] tegrahost_v2 --chip 0x18 --align 1_boot.img
[   0.0040 ] 
[   0.0055 ] tegrahost_v2 --chip 0x18 0 --appendsigheader 1_boot.img zerosbk
[   0.0068 ] 
[   0.0090 ] tegrasign_v3.py --key  --list 1_boot_sigheader.img_list.xml --pubkeyhash pub_key.key
[   0.0090 ] Assuming zero filled SBK key : not reading 
[   0.0202 ] tegrahost_v2 --chip 0x18 0 --updatesigheader 1_boot_sigheader.img.encrypt 1_boot_sigheader.img.hash zerosbk
[   0.0214 ] 
[   0.0218 ] Signed file: /home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/temp_user_dir/boot_sigheader.img.encrypt
l4t_sign_image.sh: Generate header for boot_sigheader.img.encrypt
l4t_sign_image.sh: chip 0x18: Don't need to do anything
l4t_sign_image.sh: Generate 16-byte-size-aligned base file for boot_sigheader.img.encrypt
l4t_sign_image.sh: the signed file is /home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/temp_user_dir/boot_sigheader.img.encrypt
done.
Existing sosfile(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/mb1_recovery_prod.bin) reused.
copying tegraboot(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/t186ref/nvtboot.bin)... done.
Existing cpu_bootloader(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/nvtboot_cpu.bin) reused.
Existing mb2blfile(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/nvtboot_recovery.bin) reused.
Existing mtspreboot(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/preboot_d15_prod_cr.bin) reused.
Existing mts(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/mce_mts_d15_prod_cr.bin) reused.
Existing mb1file(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/mb1_prod.bin) reused.
Existing bpffile(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/bpmp.bin) reused.
copying bpfdtbfile(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/t186ref/tegra186-bpmp-p3636-0001-a00-00.dtb)... done.
Existing scefile(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/camera-rtcpu-sce.img) reused.
Existing spefile(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/spe.bin) reused.
copying wb0boot(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/t186ref/warmboot.bin)... done.
Existing tosfile(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/tos-trusty.img) reused.
Existing eksfile(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/eks.img) reused.
copying dtbfile(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/kernel/dtb/tegra186-p3636-0001-p3509-0000-a01.dtb)... done.
Copying nv_boot_control.conf to rootfs
/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/tegraflash.py --chip 0x18 --key  --cmd sign kernel_tegra186-p3636-0001-p3509-0000-a01.dtb kernel_dtb
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.0004 ] Generating signature
[   0.0023 ] tegrasign_v3.py --getmode mode.txt --key 
[   0.0023 ] Assuming zero filled SBK key : not reading 
[   0.0021 ] sign_type   : 811674928
[   0.0021 ] header_magic: d00dfeed
[   0.0037 ] tegrahost_v2 --chip 0x18 --align 1_kernel_tegra186-p3636-0001-p3509-0000-a01.dtb
[   0.0041 ] 
[   0.0056 ] tegrahost_v2 --chip 0x18 0 --appendsigheader 1_kernel_tegra186-p3636-0001-p3509-0000-a01.dtb zerosbk
[   0.0063 ] 
[   0.0085 ] tegrasign_v3.py --key  --list 1_kernel_tegra186-p3636-0001-p3509-0000-a01_sigheader.dtb_list.xml --pubkeyhash pub_key.key
[   0.0085 ] Assuming zero filled SBK key : not reading 
[   0.0130 ] tegrahost_v2 --chip 0x18 0 --updatesigheader 1_kernel_tegra186-p3636-0001-p3509-0000-a01_sigheader.dtb.encrypt 1_kernel_tegra186-p3636-0001-p3509-0000-a01_sigheader.dtb.hash zerosbk
[   0.0136 ] 
[   0.0138 ] Signed file: /home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/temp_user_dir/kernel_tegra186-p3636-0001-p3509-0000-a01_sigheader.dtb.encrypt
l4t_sign_image.sh: Generate header for kernel_tegra186-p3636-0001-p3509-0000-a01_sigheader.dtb.encrypt
l4t_sign_image.sh: chip 0x18: Don't need to do anything
l4t_sign_image.sh: Generate 16-byte-size-aligned base file for kernel_tegra186-p3636-0001-p3509-0000-a01_sigheader.dtb.encrypt
l4t_sign_image.sh: the signed file is /home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/temp_user_dir/kernel_tegra186-p3636-0001-p3509-0000-a01_sigheader.dtb.encrypt
done.
	populating kernel to rootfs... done.
	populating initrd to rootfs... done.
	populating kernel_tegra186-p3636-0001-p3509-0000-a01.dtb to rootfs... done.
Existing tbcfile(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/cboot.bin) reused.
copying tbcdtbfile(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/kernel/dtb/tegra186-p3636-0001-p3509-0000-a01.dtb)... done.
copying cfgfile(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/t186ref/cfg/flash_l4t_t186.xml) to flash.xml... done.
Existing flasher(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/nvtboot_recovery_cpu.bin) reused.
Existing flashapp(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/tegraflash.py) reused.
*** Updating [cpu-bootloader] with cboot.bin ***
./tegraflash.py --bl nvtboot_recovery_cpu.bin  --chip 0x18 --applet mb1_recovery_prod.bin --sdram_config tegra186-mb1-bct-memcfg-p3636-0001-a01.cfg --misc_config tegra186-mb1-bct-misc-si-l4t.cfg --pinmux_config tegra186-mb1-bct-pinmux-p3636-0001-a00.cfg --pmic_config tegra186-mb1-bct-pmic-p3636-0001-a00.cfg --pmc_config tegra186-mb1-bct-pad-p3636-0001-a00.cfg --prod_config tegra186-mb1-bct-prod-p3636-0001-a00.cfg --scr_config minimal_scr.cfg --scr_cold_boot_config mobile_scr.cfg --br_cmd_config tegra186-mb1-bct-bootrom-p3636-0001-a00.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-bpmp-p3636-0001-a00-00.dtb; tlk tos-trusty.img; eks eks.img; bootloader_dtb tegra186-p3636-0001-p3509-0000-a01.dtb"  --odmdata 0x2090000  --cmd "signwrite cpu-bootloader cboot.bin; 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.0066 ] tegrasign_v3.py --getmode mode.txt --key None
[   0.0066 ] Assuming zero filled SBK key
[   0.0064 ] sign_type   : 3053453249
[   0.0064 ] header_magic: 8000014
[   0.0080 ] tegrahost_v2 --chip 0x18 --align 1_cboot.bin
[   0.0084 ] 
[   0.0097 ] tegrahost_v2 --chip 0x18 0 --appendsigheader 1_cboot.bin zerosbk
[   0.0106 ] 
[   0.0124 ] tegrasign_v3.py --key None --list 1_cboot_sigheader.bin_list.xml --pubkeyhash pub_key.key
[   0.0125 ] Assuming zero filled SBK key
[   0.0183 ] tegrahost_v2 --chip 0x18 0 --updatesigheader 1_cboot_sigheader.bin.encrypt 1_cboot_sigheader.bin.hash zerosbk
[   0.0192 ] 
[   0.0192 ] Generating RCM messages
[   0.0208 ] tegrarcm_v2 --listrcm rcm_list.xml --chip 0x18 0 --download rcm mb1_recovery_prod.bin 0 0
[   0.0211 ] RCM 0 is saved as rcm_0.rcm
[   0.0214 ] RCM 1 is saved as rcm_1.rcm
[   0.0214 ] List of rcm files are saved in rcm_list.xml
[   0.0214 ] 
[   0.0214 ] Signing RCM messages
[   0.0232 ] tegrasign_v3.py --key None --list rcm_list.xml --pubkeyhash pub_key.key
[   0.0232 ] Assuming zero filled SBK key
[   0.0263 ] Copying signature to RCM mesages
[   0.0279 ] tegrarcm_v2 --chip 0x18 0 --updatesig rcm_list_signed.xml
[   0.0285 ] 
[   0.0285 ] Boot Rom communication
[   0.0300 ] tegrarcm_v2 --chip 0x18 0 --rcm rcm_list_signed.xml
[   0.0303 ] BootRom is not running
[   5.5200 ] 
[   6.5237 ] tegrarcm_v2 --isapplet
[   6.5247 ] Applet version 01.00.0000
[   7.2968 ] 
[   7.2986 ] tegrasign_v3.py --getmode mode.txt --key None
[   7.2987 ] Assuming zero filled SBK key
[   7.2985 ] Parsing partition layout
[   7.3000 ] tegraparser_v2 --pt flash.xml.tmp
[   7.3007 ] 
[   7.3008 ] Creating list of images to be signed
[   7.3023 ] tegrahost_v2 --chip 0x18 0 --partitionlayout flash.xml.bin --list images_list.xml zerosbk
[   7.4185 ] 
[   7.4186 ] Generating signatures
[   7.4214 ] tegrasign_v3.py --key None --list images_list.xml --pubkeyhash pub_key.key
[   7.4214 ] Assuming zero filled SBK key
[   7.6843 ] Reading BCT from device for further operations
[   7.6843 ] Generating blob
[   7.6862 ] tegrahost_v2 --chip 0x18 --align blob_nvtboot_recovery_cpu.bin
[   7.6870 ] 
[   7.6888 ] tegrahost_v2 --chip 0x18 0 --appendsigheader blob_nvtboot_recovery_cpu.bin zerosbk
[   7.6904 ] 
[   7.6928 ] tegrasign_v3.py --key None --list blob_nvtboot_recovery_cpu_sigheader.bin_list.xml --pubkeyhash pub_key.key
[   7.6928 ] Assuming zero filled SBK key
[   7.7015 ] tegrahost_v2 --chip 0x18 0 --updatesigheader blob_nvtboot_recovery_cpu_sigheader.bin.encrypt blob_nvtboot_recovery_cpu_sigheader.bin.hash zerosbk
[   7.7022 ] 
[   7.7038 ] tegrahost_v2 --chip 0x18 --align blob_nvtboot_recovery.bin
[   7.7042 ] 
[   7.7058 ] tegrahost_v2 --chip 0x18 0 --appendsigheader blob_nvtboot_recovery.bin zerosbk
[   7.7065 ] 
[   7.7084 ] tegrasign_v3.py --key None --list blob_nvtboot_recovery_sigheader.bin_list.xml --pubkeyhash pub_key.key
[   7.7084 ] Assuming zero filled SBK key
[   7.7124 ] tegrahost_v2 --chip 0x18 0 --updatesigheader blob_nvtboot_recovery_sigheader.bin.encrypt blob_nvtboot_recovery_sigheader.bin.hash zerosbk
[   7.7132 ] 
[   7.7148 ] tegrahost_v2 --chip 0x18 --align blob_preboot_d15_prod_cr.bin
[   7.7152 ] 
[   7.7168 ] tegrahost_v2 --chip 0x18 0 --appendsigheader blob_preboot_d15_prod_cr.bin zerosbk
[   7.7175 ] 
[   7.7195 ] tegrasign_v3.py --key None --list blob_preboot_d15_prod_cr_sigheader.bin_list.xml --pubkeyhash pub_key.key
[   7.7195 ] Assuming zero filled SBK key
[   7.7234 ] tegrahost_v2 --chip 0x18 0 --updatesigheader blob_preboot_d15_prod_cr_sigheader.bin.encrypt blob_preboot_d15_prod_cr_sigheader.bin.hash zerosbk
[   7.7242 ] 
[   7.7259 ] tegrahost_v2 --chip 0x18 --align blob_mce_mts_d15_prod_cr.bin
[   7.7265 ] 
[   7.7282 ] tegrahost_v2 --chip 0x18 0 --appendsigheader blob_mce_mts_d15_prod_cr.bin zerosbk
[   7.7346 ] 
[   7.7370 ] tegrasign_v3.py --key None --list blob_mce_mts_d15_prod_cr_sigheader.bin_list.xml --pubkeyhash pub_key.key
[   7.7370 ] Assuming zero filled SBK key
[   7.7983 ] tegrahost_v2 --chip 0x18 0 --updatesigheader blob_mce_mts_d15_prod_cr_sigheader.bin.encrypt blob_mce_mts_d15_prod_cr_sigheader.bin.hash zerosbk
[   7.8017 ] 
[   7.8034 ] tegrahost_v2 --chip 0x18 --align blob_bpmp.bin
[   7.8038 ] 
[   7.8053 ] tegrahost_v2 --chip 0x18 0 --appendsigheader blob_bpmp.bin zerosbk
[   7.8065 ] 
[   7.8085 ] tegrasign_v3.py --key None --list blob_bpmp_sigheader.bin_list.xml --pubkeyhash pub_key.key
[   7.8085 ] Assuming zero filled SBK key
[   7.8178 ] tegrahost_v2 --chip 0x18 0 --updatesigheader blob_bpmp_sigheader.bin.encrypt blob_bpmp_sigheader.bin.hash zerosbk
[   7.8189 ] 
[   7.8206 ] tegrahost_v2 --chip 0x18 --align blob_tegra186-bpmp-p3636-0001-a00-00.dtb
[   7.8210 ] 
[   7.8225 ] tegrahost_v2 --chip 0x18 0 --appendsigheader blob_tegra186-bpmp-p3636-0001-a00-00.dtb zerosbk
[   7.8232 ] 
[   7.8251 ] tegrasign_v3.py --key None --list blob_tegra186-bpmp-p3636-0001-a00-00_sigheader.dtb_list.xml --pubkeyhash pub_key.key
[   7.8251 ] Assuming zero filled SBK key
[   7.8290 ] tegrahost_v2 --chip 0x18 0 --updatesigheader blob_tegra186-bpmp-p3636-0001-a00-00_sigheader.dtb.encrypt blob_tegra186-bpmp-p3636-0001-a00-00_sigheader.dtb.hash zerosbk
[   7.8296 ] 
[   7.8312 ] tegrahost_v2 --chip 0x18 --align blob_tos-trusty.img
[   7.8316 ] 
[   7.8330 ] tegrahost_v2 --chip 0x18 0 --appendsigheader blob_tos-trusty.img zerosbk
[   7.8342 ] 
[   7.8361 ] tegrasign_v3.py --key None --list blob_tos-trusty_sigheader.img_list.xml --pubkeyhash pub_key.key
[   7.8362 ] Assuming zero filled SBK key
[   7.8449 ] tegrahost_v2 --chip 0x18 0 --updatesigheader blob_tos-trusty_sigheader.img.encrypt blob_tos-trusty_sigheader.img.hash zerosbk
[   7.8462 ] 
[   7.8480 ] tegrahost_v2 --chip 0x18 --align blob_eks.img
[   7.8486 ] 
[   7.8502 ] tegrahost_v2 --chip 0x18 0 --appendsigheader blob_eks.img zerosbk
[   7.8509 ] 
[   7.8532 ] tegrasign_v3.py --key None --list blob_eks_sigheader.img_list.xml --pubkeyhash pub_key.key
[   7.8532 ] Assuming zero filled SBK key
[   7.8567 ] tegrahost_v2 --chip 0x18 0 --updatesigheader blob_eks_sigheader.img.encrypt blob_eks_sigheader.img.hash zerosbk
[   7.8576 ] 
[   7.8594 ] tegrahost_v2 --chip 0x18 --align blob_tegra186-p3636-0001-p3509-0000-a01.dtb
[   7.8602 ] 
[   7.8620 ] tegrahost_v2 --chip 0x18 0 --appendsigheader blob_tegra186-p3636-0001-p3509-0000-a01.dtb zerosbk
[   7.8638 ] 
[   7.8663 ] tegrasign_v3.py --key None --list blob_tegra186-p3636-0001-p3509-0000-a01_sigheader.dtb_list.xml --pubkeyhash pub_key.key
[   7.8663 ] Assuming zero filled SBK key
[   7.8807 ] tegrahost_v2 --chip 0x18 0 --updatesigheader blob_tegra186-p3636-0001-p3509-0000-a01_sigheader.dtb.encrypt blob_tegra186-p3636-0001-p3509-0000-a01_sigheader.dtb.hash zerosbk
[   7.8832 ] 
[   7.8862 ] tegrahost_v2 --chip 0x18 --generateblob blob.xml blob.bin
[   7.8872 ] number of images in blob are 9
[   7.8881 ] blobsize is 3888504
[   7.8885 ] Added binary blob_nvtboot_recovery_cpu_sigheader.bin.encrypt of size 225168
[   7.8951 ] Added binary blob_nvtboot_recovery_sigheader.bin.encrypt of size 122272
[   7.8963 ] Added binary blob_preboot_d15_prod_cr_sigheader.bin.encrypt of size 58384
[   7.8974 ] Added binary blob_mce_mts_d15_prod_cr_sigheader.bin.encrypt of size 2236640
[   7.8996 ] Added binary blob_bpmp_sigheader.bin.encrypt of size 534816
[   7.9011 ] Added binary blob_tegra186-bpmp-p3636-0001-a00-00_sigheader.dtb.encrypt of size 113648
[   7.9025 ] Added binary blob_tos-trusty_sigheader.img.encrypt of size 403264
[   7.9035 ] Added binary blob_eks_sigheader.img.encrypt of size 1440
[   7.9044 ] Added binary blob_tegra186-p3636-0001-p3509-0000-a01_sigheader.dtb.encrypt of size 192720
[   7.9100 ] 
[   7.9101 ] Sending bootloader and pre-requisite binaries
[   7.9125 ] tegrarcm_v2 --download blob blob.bin
[   7.9135 ] Applet version 01.00.0000
[   8.6946 ] Sending blob
[   8.6946 ] [.............                                   ] 026%
[   8.6946 ] [..........................                      ] 053%
[   8.6946 ] [........................................        ] 080%
[   8.6946 ] [................................................] 100%
[   9.2648 ] 
[   9.2665 ] tegrarcm_v2 --boot recovery
[   9.2668 ] Applet version 01.00.0000
[  10.0399 ] 
[  11.0428 ] tegrarcm_v2 --isapplet
[  11.8164 ] 
[  11.8191 ] tegradevflash_v2 --iscpubl
[  11.8203 ] Bootloader version 01.00.0000
[  12.2055 ] Bootloader version 01.00.0000
[  12.2068 ] 
[  12.2068 ] Writing partition
[  12.2084 ] tegradevflash_v2 --write cpu-bootloader 1_cboot_sigheader.bin.encrypt
[  12.2087 ] Bootloader version 01.00.0000
[  12.6022 ] Writing partition cpu-bootloader with 1_cboot_sigheader.bin.encrypt
[  12.6036 ] [................................................] 100%
[  12.6321 ] 
[  12.6322 ] Coldbooting the device
[  12.6349 ] tegradevflash_v2 --reboot coldboot
[  12.6358 ] Bootloader version 01.00.0000
[  13.0143 ] 
*** The [cpu-bootloader] has been updated successfully. ***

Just in case I have compiled U-Boot wrongly (with the wrong configuration as I went with the closest match in Mainline https://github.com/u-boot/u-boot/tree/master/board/nvidia), are there dts files I can use to compile this specifically for this board that are known good? The closest I could find were https://sources.debian.org/src/linux/5.18.16-1~bpo11%2B1/arch/arm64/boot/dts/nvidia/tegra186-p3509-0000%2Bp3636-0001.dts/ but im not certain this is correct.

Scheme

My broad plan is to have the eMMC serve as U-Boot only, possibly two alternating U-Boot partitions so that I can update one or the other by turns.

This then loads the (dos) SD card which contains a 250M vfat partition for the boot directory (dtb, kernel, initramfs). The rest of the card is an ext4 fallback read-only archlinuxarm rootfs that can be easily replaced by virtue of SD replacement.

Finally the M.2 NVMe will be used as the default archlinuxarm rootfs which will in all likelihood take some use and abuse and be CryptLVM based.

U-Boot Compilation

Dockerfile I use to configure and compile U-Boot

ARG ARCH=arm64
ARG CROSS_COMPILE=aarch64-linux-gnu-
ARG UBOOT_TAG=v2022.07

FROM archlinux:latest as builder
ARG ARCH
ARG CROSS_COMPILE
# archlinux required packages
RUN rm -r /etc/pacman.d/gnupg && \
    pacman-key --init && \
    pacman-key --populate && \
    pacman -Sy archlinux-keyring --noconfirm && pacman -Syyuu --noconfirm
RUN pacman -S --noconfirm \
    aarch64-linux-gnu-gcc \
    bash \
    base-devel \
    bc \
    bison \
    flex \
    gawk \
    gcc \
    git \
    make \
    ncurses \
    perl \
    python \
    texinfo \
    xz
RUN mkdir -p ${HOME}/git/ && \
    cd ${HOME}/git && \
    git clone https://github.com/u-boot/u-boot.git && \
    cd ${HOME}/git/u-boot && \
    git fetch --tags && \
    latestTag=$(git describe --tags `git rev-list --tags --max-count=1`) && \
    git checkout ${UBOOT_TAG}
WORKDIR /root/git/u-boot
# creating the entrypoint file
COPY .config .config
RUN echo "#!/usr/bin/env bash" > entrypoint.sh && \
    echo "ARCH=${ARCH} CROSS_COMPILE=${CROSS_COMPILE} make p3450-0000_defconfig" >> entrypoint.sh && \
    echo "make menuconfig" >> entrypoint.sh && \
    echo "ARCH=${ARCH} CROSS_COMPILE=${CROSS_COMPILE} make -j ${nproc}" >> entrypoint.sh && \
    echo "cp u-boot* build/." >> entrypoint.sh && \
    chmod 744 entrypoint.sh
CMD ./entrypoint.sh

Which can be run with the following while allowing you to change the configuration with menuconfig on the fly:

docker build -t uboot/compiler -f Dockerfile .
docker run --volume ${PWD}/build:/root/git/u-boot/build -it uboot/compiler

Thanks and apologies for the wall!

EDITED: to fix incorrect board name and consolodate to a clearer command and problem.

hello GeorgeRaven,

you’ll need to flash kernel partition for updating uboot binary.
for example, please update binary file, $OUT/Linux_for_Tegra/bootloader/t186ref/p3636-0001/u-boot.bin.
after that, please execute this partition flash commands
 $ sudo ./flash.sh -r -k kernel jetson-xavier-nx-devkit-tx2-nx mmcblk0p1

Hey Jerry thanks for your reply, unfortunately the command as is did not work for me, but I feel I can almost get there:

Creating a Clean Setup

I created a completely clean setup:

# collect and unpack necessary l4t files
wget https://developer.nvidia.com/embedded/l4t/r32_release_v7.2/t186/jetson_linux_r32.7.2_aarch64.tbz2
wget https://developer.nvidia.com/embedded/l4t/r32_release_v7.2/t186/tegra_linux_sample-root-filesystem_r32.7.2_aarch64.tbz2
tar xvf jetson_linux_r32.7.2_aarch64.tbz2
cd Linux_for_Tegra/rootfs/
# necessary to unpack rootfs as some files are used in flash.sh
tar xvf ../../tegra_linux_sample-root-filesystem_r32.7.2_aarch64.tbz2
cd ../
# overwriting u-boot.bin manually with self compiled binary from Dockerfile
cp <PATH-TO>/u-boot.bin bootloader/t186ref/p3636-0001/u-boot.bin

Direct copy paste of proposed

I then proceeded to put the board in recovery mode.

Then I tried the solution by JerryChang (thanks for taking the time to reply btw):

sudo ./flash.sh -r -k kernel jetson-xavier-nx-devkit-tx2-nx mmcblk0p1

which errors with file does not exist:

###############################################################################
# L4T BSP Information:
# R32 , REVISION: 7.2
###############################################################################
# Target Board Information:
# Name: jetson-xavier-nx-devkit-tx2-nx, Board Family: t186ref, SoC: Tegra 186, 
# OpMode: production, Boot Authentication: NS, 
# Disk encryption: disabled ,
###############################################################################
./tegraflash.py --chip 0x18 --applet "/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/mb1_recovery_prod.bin" --skipuid --cmd "dump eeprom boardinfo cvm.bin" 
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.0024 ] Generating RCM messages
[   0.0038 ] tegrarcm_v2 --listrcm rcm_list.xml --chip 0x18 0 --download rcm /home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/mb1_recovery_prod.bin 0 0
[   0.0040 ] RCM 0 is saved as rcm_0.rcm
[   0.0044 ] RCM 1 is saved as rcm_1.rcm
[   0.0044 ] List of rcm files are saved in rcm_list.xml
[   0.0044 ] 
[   0.0044 ] Signing RCM messages
[   0.0061 ] tegrasign_v3.py --key None --list rcm_list.xml --pubkeyhash pub_key.key
[   0.0061 ] Assuming zero filled SBK key
[   0.0091 ] Copying signature to RCM mesages
[   0.0105 ] tegrarcm_v2 --chip 0x18 0 --updatesig rcm_list_signed.xml
[   0.0112 ] 
[   0.0112 ] Boot Rom communication
[   0.0125 ] tegrarcm_v2 --chip 0x18 0 --rcm rcm_list_signed.xml --skipuid
[   0.0126 ] RCM version 0X180001
[   0.4435 ] Boot Rom communication completed
[   1.4501 ] 
[   2.4528 ] tegrarcm_v2 --isapplet
[   2.4531 ] Applet version 01.00.0000
[   3.3014 ] 
[   3.3029 ] Retrieving EEPROM data
[   3.3030 ] tegrarcm_v2 --oem platformdetails eeprom cvm /home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/cvm.bin
[   3.3032 ] Applet version 01.00.0000
[   4.1579 ] Saved platform info in /home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/cvm.bin
[   4.2307 ] 
Board ID(3636) version(300) sku(0001) revision(H.0)
copying bctfile(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/t186ref/BCT/tegra186-mb1-bct-memcfg-p3636-0001-a01.cfg)... done.
copying misc_config(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/t186ref/BCT/tegra186-mb1-bct-misc-si-l4t.cfg)... done.
copying pinmux_config(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/t186ref/BCT/tegra186-mb1-bct-pinmux-p3636-0001-a00.cfg)... done.
copying pmic_config(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/t186ref/BCT/tegra186-mb1-bct-pmic-p3636-0001-a00.cfg)... done.
copying pmc_config(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/t186ref/BCT/tegra186-mb1-bct-pad-p3636-0001-a00.cfg)... done.
copying prod_config(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/t186ref/BCT/tegra186-mb1-bct-prod-p3636-0001-a00.cfg)... done.
copying scr_config(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/t186ref/BCT/minimal_scr.cfg)... done.
copying scr_cold_boot_config(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/t186ref/BCT/mobile_scr.cfg)... done.
copying bootrom_config(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/t186ref/BCT/tegra186-mb1-bct-bootrom-p3636-0001-a00.cfg)... done.
copying dev_params(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/t186ref/BCT/emmc.cfg)... done.
Existing bootloader(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/nvtboot_cpu.bin) reused.
copying initrd(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/l4t_initrd.img)... done.
Making Boot image... done.
/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/tegraflash.py --chip 0x18 --key  --cmd sign boot.img kernel
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.0003 ] Generating signature
[   0.0018 ] tegrasign_v3.py --getmode mode.txt --key 
[   0.0018 ] Assuming zero filled SBK key : not reading 
[   0.0017 ] sign_type   : 0
[   0.0017 ] header_magic: 414e4452
[   0.0030 ] tegrahost_v2 --chip 0x18 --align 1_boot.img
[   0.0032 ] 
[   0.0044 ] tegrahost_v2 --chip 0x18 0 --appendsigheader 1_boot.img zerosbk
[   0.0055 ] 
[   0.0073 ] tegrasign_v3.py --key  --list 1_boot_sigheader.img_list.xml --pubkeyhash pub_key.key
[   0.0073 ] Assuming zero filled SBK key : not reading 
[   0.0161 ] tegrahost_v2 --chip 0x18 0 --updatesigheader 1_boot_sigheader.img.encrypt 1_boot_sigheader.img.hash zerosbk
[   0.0173 ] 
[   0.0177 ] Signed file: /home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/temp_user_dir/boot_sigheader.img.encrypt
l4t_sign_image.sh: Generate header for boot_sigheader.img.encrypt
l4t_sign_image.sh: chip 0x18: Don't need to do anything
l4t_sign_image.sh: Generate 16-byte-size-aligned base file for boot_sigheader.img.encrypt
l4t_sign_image.sh: the signed file is /home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/temp_user_dir/boot_sigheader.img.encrypt
done.
Existing sosfile(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/mb1_recovery_prod.bin) reused.
copying tegraboot(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/t186ref/nvtboot.bin)... done.
Existing cpu_bootloader(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/nvtboot_cpu.bin) reused.
Existing mb2blfile(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/nvtboot_recovery.bin) reused.
Existing mtspreboot(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/preboot_d15_prod_cr.bin) reused.
Existing mts(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/mce_mts_d15_prod_cr.bin) reused.
Existing mb1file(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/mb1_prod.bin) reused.
Existing bpffile(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/bpmp.bin) reused.
copying bpfdtbfile(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/t186ref/tegra186-bpmp-p3636-0001-a00-00.dtb)... done.
Existing scefile(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/camera-rtcpu-sce.img) reused.
Existing spefile(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/spe.bin) reused.
copying wb0boot(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/t186ref/warmboot.bin)... done.
Existing tosfile(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/tos-trusty.img) reused.
Existing eksfile(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/eks.img) reused.
copying dtbfile(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/kernel/dtb/tegra186-p3636-0001-p3509-0000-a01.dtb)... done.
Copying nv_boot_control.conf to rootfs
/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/tegraflash.py --chip 0x18 --key  --cmd sign kernel_tegra186-p3636-0001-p3509-0000-a01.dtb kernel_dtb
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.0004 ] Generating signature
[   0.0019 ] tegrasign_v3.py --getmode mode.txt --key 
[   0.0019 ] Assuming zero filled SBK key : not reading 
[   0.0018 ] sign_type   : 811674928
[   0.0018 ] header_magic: d00dfeed
[   0.0031 ] tegrahost_v2 --chip 0x18 --align 1_kernel_tegra186-p3636-0001-p3509-0000-a01.dtb
[   0.0033 ] 
[   0.0046 ] tegrahost_v2 --chip 0x18 0 --appendsigheader 1_kernel_tegra186-p3636-0001-p3509-0000-a01.dtb zerosbk
[   0.0050 ] 
[   0.0068 ] tegrasign_v3.py --key  --list 1_kernel_tegra186-p3636-0001-p3509-0000-a01_sigheader.dtb_list.xml --pubkeyhash pub_key.key
[   0.0068 ] Assuming zero filled SBK key : not reading 
[   0.0104 ] tegrahost_v2 --chip 0x18 0 --updatesigheader 1_kernel_tegra186-p3636-0001-p3509-0000-a01_sigheader.dtb.encrypt 1_kernel_tegra186-p3636-0001-p3509-0000-a01_sigheader.dtb.hash zerosbk
[   0.0109 ] 
[   0.0111 ] Signed file: /home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/temp_user_dir/kernel_tegra186-p3636-0001-p3509-0000-a01_sigheader.dtb.encrypt
l4t_sign_image.sh: Generate header for kernel_tegra186-p3636-0001-p3509-0000-a01_sigheader.dtb.encrypt
l4t_sign_image.sh: chip 0x18: Don't need to do anything
l4t_sign_image.sh: Generate 16-byte-size-aligned base file for kernel_tegra186-p3636-0001-p3509-0000-a01_sigheader.dtb.encrypt
l4t_sign_image.sh: the signed file is /home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/temp_user_dir/kernel_tegra186-p3636-0001-p3509-0000-a01_sigheader.dtb.encrypt
done.
Reusing existing system.img... 
file does not exist.

Removed -r Option Flag

If I remove the -r option so that it rebuilds whatever it needs to rebuild with:

sudo ./flash.sh -k kernel jetson-xavier-nx-devkit-tx2-nx mmcblk0p1

There is no error and it is completes

###############################################################################
# L4T BSP Information:
# R32 , REVISION: 7.2
###############################################################################
# Target Board Information:
# Name: jetson-xavier-nx-devkit-tx2-nx, Board Family: t186ref, SoC: Tegra 186, 
# OpMode: production, Boot Authentication: NS, 
# Disk encryption: disabled ,
###############################################################################
./tegraflash.py --chip 0x18 --applet "/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/mb1_recovery_prod.bin" --skipuid --cmd "dump eeprom boardinfo cvm.bin" 
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.0025 ] Generating RCM messages
[   0.0038 ] tegrarcm_v2 --listrcm rcm_list.xml --chip 0x18 0 --download rcm /home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/mb1_recovery_prod.bin 0 0
[   0.0040 ] RCM 0 is saved as rcm_0.rcm
[   0.0044 ] RCM 1 is saved as rcm_1.rcm
[   0.0044 ] List of rcm files are saved in rcm_list.xml
[   0.0044 ] 
[   0.0044 ] Signing RCM messages
[   0.0059 ] tegrasign_v3.py --key None --list rcm_list.xml --pubkeyhash pub_key.key
[   0.0059 ] Assuming zero filled SBK key
[   0.0095 ] Copying signature to RCM mesages
[   0.0108 ] tegrarcm_v2 --chip 0x18 0 --updatesig rcm_list_signed.xml
[   0.0112 ] 
[   0.0112 ] Boot Rom communication
[   0.0125 ] tegrarcm_v2 --chip 0x18 0 --rcm rcm_list_signed.xml --skipuid
[   0.0126 ] RCM version 0X180001
[   0.4432 ] Boot Rom communication completed
[   1.4494 ] 
[   2.4520 ] tegrarcm_v2 --isapplet
[   2.4523 ] Applet version 01.00.0000
[   3.3010 ] 
[   3.3026 ] Retrieving EEPROM data
[   3.3026 ] tegrarcm_v2 --oem platformdetails eeprom cvm /home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/cvm.bin
[   3.3029 ] Applet version 01.00.0000
[   4.1510 ] Saved platform info in /home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/cvm.bin
[   4.2239 ] 
Board ID(3636) version(300) sku(0001) revision(H.0)
copying bctfile(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/t186ref/BCT/tegra186-mb1-bct-memcfg-p3636-0001-a01.cfg)... done.
copying misc_config(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/t186ref/BCT/tegra186-mb1-bct-misc-si-l4t.cfg)... done.
copying pinmux_config(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/t186ref/BCT/tegra186-mb1-bct-pinmux-p3636-0001-a00.cfg)... done.
copying pmic_config(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/t186ref/BCT/tegra186-mb1-bct-pmic-p3636-0001-a00.cfg)... done.
copying pmc_config(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/t186ref/BCT/tegra186-mb1-bct-pad-p3636-0001-a00.cfg)... done.
copying prod_config(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/t186ref/BCT/tegra186-mb1-bct-prod-p3636-0001-a00.cfg)... done.
copying scr_config(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/t186ref/BCT/minimal_scr.cfg)... done.
copying scr_cold_boot_config(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/t186ref/BCT/mobile_scr.cfg)... done.
copying bootrom_config(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/t186ref/BCT/tegra186-mb1-bct-bootrom-p3636-0001-a00.cfg)... done.
copying dev_params(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/t186ref/BCT/emmc.cfg)... done.
Existing bootloader(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/nvtboot_cpu.bin) reused.
copying initrd(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/l4t_initrd.img)... done.
Making Boot image... done.
/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/tegraflash.py --chip 0x18 --key  --cmd sign boot.img kernel
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.0003 ] Generating signature
[   0.0018 ] tegrasign_v3.py --getmode mode.txt --key 
[   0.0018 ] Assuming zero filled SBK key : not reading 
[   0.0017 ] sign_type   : 0
[   0.0017 ] header_magic: 414e4452
[   0.0029 ] tegrahost_v2 --chip 0x18 --align 1_boot.img
[   0.0032 ] 
[   0.0044 ] tegrahost_v2 --chip 0x18 0 --appendsigheader 1_boot.img zerosbk
[   0.0055 ] 
[   0.0073 ] tegrasign_v3.py --key  --list 1_boot_sigheader.img_list.xml --pubkeyhash pub_key.key
[   0.0073 ] Assuming zero filled SBK key : not reading 
[   0.0157 ] tegrahost_v2 --chip 0x18 0 --updatesigheader 1_boot_sigheader.img.encrypt 1_boot_sigheader.img.hash zerosbk
[   0.0165 ] 
[   0.0169 ] Signed file: /home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/temp_user_dir/boot_sigheader.img.encrypt
l4t_sign_image.sh: Generate header for boot_sigheader.img.encrypt
l4t_sign_image.sh: chip 0x18: Don't need to do anything
l4t_sign_image.sh: Generate 16-byte-size-aligned base file for boot_sigheader.img.encrypt
l4t_sign_image.sh: the signed file is /home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/temp_user_dir/boot_sigheader.img.encrypt
done.
Existing sosfile(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/mb1_recovery_prod.bin) reused.
copying tegraboot(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/t186ref/nvtboot.bin)... done.
Existing cpu_bootloader(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/nvtboot_cpu.bin) reused.
Existing mb2blfile(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/nvtboot_recovery.bin) reused.
Existing mtspreboot(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/preboot_d15_prod_cr.bin) reused.
Existing mts(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/mce_mts_d15_prod_cr.bin) reused.
Existing mb1file(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/mb1_prod.bin) reused.
Existing bpffile(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/bpmp.bin) reused.
copying bpfdtbfile(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/t186ref/tegra186-bpmp-p3636-0001-a00-00.dtb)... done.
Existing scefile(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/camera-rtcpu-sce.img) reused.
Existing spefile(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/spe.bin) reused.
copying wb0boot(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/t186ref/warmboot.bin)... done.
Existing tosfile(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/tos-trusty.img) reused.
Existing eksfile(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/eks.img) reused.
copying dtbfile(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/kernel/dtb/tegra186-p3636-0001-p3509-0000-a01.dtb)... done.
Copying nv_boot_control.conf to rootfs
/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/tegraflash.py --chip 0x18 --key  --cmd sign kernel_tegra186-p3636-0001-p3509-0000-a01.dtb kernel_dtb
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.0003 ] Generating signature
[   0.0020 ] tegrasign_v3.py --getmode mode.txt --key 
[   0.0021 ] Assuming zero filled SBK key : not reading 
[   0.0019 ] sign_type   : 811674928
[   0.0019 ] header_magic: d00dfeed
[   0.0032 ] tegrahost_v2 --chip 0x18 --align 1_kernel_tegra186-p3636-0001-p3509-0000-a01.dtb
[   0.0035 ] 
[   0.0047 ] tegrahost_v2 --chip 0x18 0 --appendsigheader 1_kernel_tegra186-p3636-0001-p3509-0000-a01.dtb zerosbk
[   0.0052 ] 
[   0.0069 ] tegrasign_v3.py --key  --list 1_kernel_tegra186-p3636-0001-p3509-0000-a01_sigheader.dtb_list.xml --pubkeyhash pub_key.key
[   0.0069 ] Assuming zero filled SBK key : not reading 
[   0.0105 ] tegrahost_v2 --chip 0x18 0 --updatesigheader 1_kernel_tegra186-p3636-0001-p3509-0000-a01_sigheader.dtb.encrypt 1_kernel_tegra186-p3636-0001-p3509-0000-a01_sigheader.dtb.hash zerosbk
[   0.0109 ] 
[   0.0111 ] Signed file: /home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/temp_user_dir/kernel_tegra186-p3636-0001-p3509-0000-a01_sigheader.dtb.encrypt
l4t_sign_image.sh: Generate header for kernel_tegra186-p3636-0001-p3509-0000-a01_sigheader.dtb.encrypt
l4t_sign_image.sh: chip 0x18: Don't need to do anything
l4t_sign_image.sh: Generate 16-byte-size-aligned base file for kernel_tegra186-p3636-0001-p3509-0000-a01_sigheader.dtb.encrypt
l4t_sign_image.sh: the signed file is /home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/temp_user_dir/kernel_tegra186-p3636-0001-p3509-0000-a01_sigheader.dtb.encrypt
done.
	populating kernel to rootfs... done.
	populating initrd to rootfs... done.
	populating kernel_tegra186-p3636-0001-p3509-0000-a01.dtb to rootfs... done.
Existing tbcfile(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/cboot.bin) reused.
copying tbcdtbfile(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/kernel/dtb/tegra186-p3636-0001-p3509-0000-a01.dtb)... done.
copying cfgfile(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/t186ref/cfg/flash_l4t_t186.xml) to flash.xml... done.
Existing flasher(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/nvtboot_recovery_cpu.bin) reused.
Existing flashapp(/home/archer/git/fc-nano-base/trunk/Linux_for_Tegra/bootloader/tegraflash.py) reused.
*** Updating [kernel] with boot.img ***
./tegraflash.py --bl nvtboot_recovery_cpu.bin  --chip 0x18 --applet mb1_recovery_prod.bin --sdram_config tegra186-mb1-bct-memcfg-p3636-0001-a01.cfg --misc_config tegra186-mb1-bct-misc-si-l4t.cfg --pinmux_config tegra186-mb1-bct-pinmux-p3636-0001-a00.cfg --pmic_config tegra186-mb1-bct-pmic-p3636-0001-a00.cfg --pmc_config tegra186-mb1-bct-pad-p3636-0001-a00.cfg --prod_config tegra186-mb1-bct-prod-p3636-0001-a00.cfg --scr_config minimal_scr.cfg --scr_cold_boot_config mobile_scr.cfg --br_cmd_config tegra186-mb1-bct-bootrom-p3636-0001-a00.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-bpmp-p3636-0001-a00-00.dtb; tlk tos-trusty.img; eks eks.img; bootloader_dtb tegra186-p3636-0001-p3509-0000-a01.dtb"  --odmdata 0x2090000  --cmd "signwrite kernel boot.img; 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.0058 ] tegrasign_v3.py --getmode mode.txt --key None
[   0.0058 ] Assuming zero filled SBK key
[   0.0056 ] sign_type   : 0
[   0.0057 ] header_magic: 414e4452
[   0.0069 ] tegrahost_v2 --chip 0x18 --align 1_boot.img
[   0.0072 ] 
[   0.0085 ] tegrahost_v2 --chip 0x18 0 --appendsigheader 1_boot.img zerosbk
[   0.0095 ] 
[   0.0110 ] tegrasign_v3.py --key None --list 1_boot_sigheader.img_list.xml --pubkeyhash pub_key.key
[   0.0110 ] Assuming zero filled SBK key
[   0.0195 ] tegrahost_v2 --chip 0x18 0 --updatesigheader 1_boot_sigheader.img.encrypt 1_boot_sigheader.img.hash zerosbk
[   0.0203 ] 
[   0.0203 ] Generating RCM messages
[   0.0215 ] tegrarcm_v2 --listrcm rcm_list.xml --chip 0x18 0 --download rcm mb1_recovery_prod.bin 0 0
[   0.0221 ] RCM 0 is saved as rcm_0.rcm
[   0.0225 ] RCM 1 is saved as rcm_1.rcm
[   0.0225 ] List of rcm files are saved in rcm_list.xml
[   0.0225 ] 
[   0.0225 ] Signing RCM messages
[   0.0241 ] tegrasign_v3.py --key None --list rcm_list.xml --pubkeyhash pub_key.key
[   0.0242 ] Assuming zero filled SBK key
[   0.0268 ] Copying signature to RCM mesages
[   0.0280 ] tegrarcm_v2 --chip 0x18 0 --updatesig rcm_list_signed.xml
[   0.0285 ] 
[   0.0286 ] Boot Rom communication
[   0.0298 ] tegrarcm_v2 --chip 0x18 0 --rcm rcm_list_signed.xml
[   0.0299 ] BootRom is not running
[   5.5975 ] 
[   6.6001 ] tegrarcm_v2 --isapplet
[   6.6003 ] Applet version 01.00.0000
[   7.4492 ] 
[   7.4510 ] tegrasign_v3.py --getmode mode.txt --key None
[   7.4510 ] Assuming zero filled SBK key
[   7.4509 ] Parsing partition layout
[   7.4524 ] tegraparser_v2 --pt flash.xml.tmp
[   7.4530 ] 
[   7.4531 ] Creating list of images to be signed
[   7.4544 ] tegrahost_v2 --chip 0x18 0 --partitionlayout flash.xml.bin --list images_list.xml zerosbk
[   7.4658 ] 
[   7.4658 ] Generating signatures
[   7.4675 ] tegrasign_v3.py --key None --list images_list.xml --pubkeyhash pub_key.key
[   7.4675 ] Assuming zero filled SBK key
[   7.6073 ] Reading BCT from device for further operations
[   7.6073 ] Generating blob
[   7.6088 ] tegrahost_v2 --chip 0x18 --align blob_nvtboot_recovery_cpu.bin
[   7.6091 ] 
[   7.6104 ] tegrahost_v2 --chip 0x18 0 --appendsigheader blob_nvtboot_recovery_cpu.bin zerosbk
[   7.6110 ] 
[   7.6128 ] tegrasign_v3.py --key None --list blob_nvtboot_recovery_cpu_sigheader.bin_list.xml --pubkeyhash pub_key.key
[   7.6128 ] Assuming zero filled SBK key
[   7.6173 ] tegrahost_v2 --chip 0x18 0 --updatesigheader blob_nvtboot_recovery_cpu_sigheader.bin.encrypt blob_nvtboot_recovery_cpu_sigheader.bin.hash zerosbk
[   7.6178 ] 
[   7.6193 ] tegrahost_v2 --chip 0x18 --align blob_nvtboot_recovery.bin
[   7.6196 ] 
[   7.6209 ] tegrahost_v2 --chip 0x18 0 --appendsigheader blob_nvtboot_recovery.bin zerosbk
[   7.6214 ] 
[   7.6231 ] tegrasign_v3.py --key None --list blob_nvtboot_recovery_sigheader.bin_list.xml --pubkeyhash pub_key.key
[   7.6231 ] Assuming zero filled SBK key
[   7.6266 ] tegrahost_v2 --chip 0x18 0 --updatesigheader blob_nvtboot_recovery_sigheader.bin.encrypt blob_nvtboot_recovery_sigheader.bin.hash zerosbk
[   7.6270 ] 
[   7.6284 ] tegrahost_v2 --chip 0x18 --align blob_preboot_d15_prod_cr.bin
[   7.6287 ] 
[   7.6301 ] tegrahost_v2 --chip 0x18 0 --appendsigheader blob_preboot_d15_prod_cr.bin zerosbk
[   7.6304 ] 
[   7.6322 ] tegrasign_v3.py --key None --list blob_preboot_d15_prod_cr_sigheader.bin_list.xml --pubkeyhash pub_key.key
[   7.6322 ] Assuming zero filled SBK key
[   7.6351 ] tegrahost_v2 --chip 0x18 0 --updatesigheader blob_preboot_d15_prod_cr_sigheader.bin.encrypt blob_preboot_d15_prod_cr_sigheader.bin.hash zerosbk
[   7.6355 ] 
[   7.6369 ] tegrahost_v2 --chip 0x18 --align blob_mce_mts_d15_prod_cr.bin
[   7.6372 ] 
[   7.6385 ] tegrahost_v2 --chip 0x18 0 --appendsigheader blob_mce_mts_d15_prod_cr.bin zerosbk
[   7.6409 ] 
[   7.6427 ] tegrasign_v3.py --key None --list blob_mce_mts_d15_prod_cr_sigheader.bin_list.xml --pubkeyhash pub_key.key
[   7.6427 ] Assuming zero filled SBK key
[   7.6677 ] tegrahost_v2 --chip 0x18 0 --updatesigheader blob_mce_mts_d15_prod_cr_sigheader.bin.encrypt blob_mce_mts_d15_prod_cr_sigheader.bin.hash zerosbk
[   7.6698 ] 
[   7.6712 ] tegrahost_v2 --chip 0x18 --align blob_bpmp.bin
[   7.6716 ] 
[   7.6729 ] tegrahost_v2 --chip 0x18 0 --appendsigheader blob_bpmp.bin zerosbk
[   7.6738 ] 
[   7.6757 ] tegrasign_v3.py --key None --list blob_bpmp_sigheader.bin_list.xml --pubkeyhash pub_key.key
[   7.6758 ] Assuming zero filled SBK key
[   7.6838 ] tegrahost_v2 --chip 0x18 0 --updatesigheader blob_bpmp_sigheader.bin.encrypt blob_bpmp_sigheader.bin.hash zerosbk
[   7.6846 ] 
[   7.6861 ] tegrahost_v2 --chip 0x18 --align blob_tegra186-bpmp-p3636-0001-a00-00.dtb
[   7.6864 ] 
[   7.6877 ] tegrahost_v2 --chip 0x18 0 --appendsigheader blob_tegra186-bpmp-p3636-0001-a00-00.dtb zerosbk
[   7.6884 ] 
[   7.6902 ] tegrasign_v3.py --key None --list blob_tegra186-bpmp-p3636-0001-a00-00_sigheader.dtb_list.xml --pubkeyhash pub_key.key
[   7.6902 ] Assuming zero filled SBK key
[   7.6938 ] tegrahost_v2 --chip 0x18 0 --updatesigheader blob_tegra186-bpmp-p3636-0001-a00-00_sigheader.dtb.encrypt blob_tegra186-bpmp-p3636-0001-a00-00_sigheader.dtb.hash zerosbk
[   7.6942 ] 
[   7.6956 ] tegrahost_v2 --chip 0x18 --align blob_tos-trusty.img
[   7.6959 ] 
[   7.6973 ] tegrahost_v2 --chip 0x18 0 --appendsigheader blob_tos-trusty.img zerosbk
[   7.6981 ] 
[   7.6998 ] tegrasign_v3.py --key None --list blob_tos-trusty_sigheader.img_list.xml --pubkeyhash pub_key.key
[   7.6998 ] Assuming zero filled SBK key
[   7.7061 ] tegrahost_v2 --chip 0x18 0 --updatesigheader blob_tos-trusty_sigheader.img.encrypt blob_tos-trusty_sigheader.img.hash zerosbk
[   7.7068 ] 
[   7.7082 ] tegrahost_v2 --chip 0x18 --align blob_eks.img
[   7.7085 ] 
[   7.7099 ] tegrahost_v2 --chip 0x18 0 --appendsigheader blob_eks.img zerosbk
[   7.7102 ] 
[   7.7119 ] tegrasign_v3.py --key None --list blob_eks_sigheader.img_list.xml --pubkeyhash pub_key.key
[   7.7120 ] Assuming zero filled SBK key
[   7.7143 ] tegrahost_v2 --chip 0x18 0 --updatesigheader blob_eks_sigheader.img.encrypt blob_eks_sigheader.img.hash zerosbk
[   7.7147 ] 
[   7.7161 ] tegrahost_v2 --chip 0x18 --align blob_tegra186-p3636-0001-p3509-0000-a01.dtb
[   7.7165 ] 
[   7.7179 ] tegrahost_v2 --chip 0x18 0 --appendsigheader blob_tegra186-p3636-0001-p3509-0000-a01.dtb zerosbk
[   7.7184 ] 
[   7.7202 ] tegrasign_v3.py --key None --list blob_tegra186-p3636-0001-p3509-0000-a01_sigheader.dtb_list.xml --pubkeyhash pub_key.key
[   7.7202 ] Assuming zero filled SBK key
[   7.7247 ] tegrahost_v2 --chip 0x18 0 --updatesigheader blob_tegra186-p3636-0001-p3509-0000-a01_sigheader.dtb.encrypt blob_tegra186-p3636-0001-p3509-0000-a01_sigheader.dtb.hash zerosbk
[   7.7253 ] 
[   7.7268 ] tegrahost_v2 --chip 0x18 --generateblob blob.xml blob.bin
[   7.7271 ] number of images in blob are 9
[   7.7272 ] blobsize is 3888504
[   7.7273 ] Added binary blob_nvtboot_recovery_cpu_sigheader.bin.encrypt of size 225168
[   7.7279 ] Added binary blob_nvtboot_recovery_sigheader.bin.encrypt of size 122272
[   7.7281 ] Added binary blob_preboot_d15_prod_cr_sigheader.bin.encrypt of size 58384
[   7.7282 ] Added binary blob_mce_mts_d15_prod_cr_sigheader.bin.encrypt of size 2236640
[   7.7286 ] Added binary blob_bpmp_sigheader.bin.encrypt of size 534816
[   7.7289 ] Added binary blob_tegra186-bpmp-p3636-0001-a00-00_sigheader.dtb.encrypt of size 113648
[   7.7291 ] Added binary blob_tos-trusty_sigheader.img.encrypt of size 403264
[   7.7293 ] Added binary blob_eks_sigheader.img.encrypt of size 1440
[   7.7294 ] Added binary blob_tegra186-p3636-0001-p3509-0000-a01_sigheader.dtb.encrypt of size 192720
[   7.7306 ] 
[   7.7307 ] Sending bootloader and pre-requisite binaries
[   7.7320 ] tegrarcm_v2 --download blob blob.bin
[   7.7322 ] Applet version 01.00.0000
[   8.5858 ] Sending blob
[   8.5859 ] [.............                                   ] 026%
[   8.5859 ] [..........................                      ] 053%
[   8.5859 ] [........................................        ] 080%
[   8.5859 ] [................................................] 100%
[   9.0945 ] 
[   9.0959 ] tegrarcm_v2 --boot recovery
[   9.0960 ] Applet version 01.00.0000
[   9.9439 ] 
[  10.9459 ] tegrarcm_v2 --isapplet
[  11.8022 ] 
[  11.8037 ] tegradevflash_v2 --iscpubl
[  11.8040 ] Bootloader version 01.00.0000
[  12.2323 ] Bootloader version 01.00.0000
[  12.2335 ] 
[  12.2335 ] Writing partition
[  12.2350 ] tegradevflash_v2 --write kernel 1_boot_sigheader.img.encrypt
[  12.2353 ] Bootloader version 01.00.0000
[  12.6623 ] Writing partition kernel with 1_boot_sigheader.img.encrypt
[  12.6626 ] [................................................] 100%
[  12.6978 ] 
[  12.6978 ] Coldbooting the device
[  12.6992 ] tegradevflash_v2 --reboot coldboot
[  12.6995 ] Bootloader version 01.00.0000
[  13.1346 ] 
*** The [kernel] has been updated successfully. ***

Result Issue

However when rebooting the device it then gets hung up on calling the “kernel” which is now presumably U-Boot as follows:

[0032.497] I> Welcome to MB2(TBoot-BPMP) Recovery(version: 01.00.160913-t186-M-00.00-mobile-0c6283f5)
[0032.507] I> Boot-device: eMMC
[0032.529] I> sdmmc DDR50 mode
[0032.533] I> sdmmc bdev is already initialized
[0032.538] I> pmic: reset reason (nverc)        : 0x80
[0032.546] I> Found 19 partitions in SDMMC_BOOT (instance 3)
[0032.554] I> Found 33 partitions in SDMMC_USER (instance 3)
[0032.563] I> Binary(16) of size 534416 is loaded @ 0xd7800000
[0032.570] I> Binary(17) of size 113248 is loaded @ 0xd79e45a0
[0032.598] I> Copy BTCM section
[0032.602] I> Binary(13) of size 224768 is loaded @ 0x96000000
[0032.609] I> Binary(20) of size 192320 is loaded @ 0x85205400
[0032.617] I> Binary(14) of size 402864 is loaded @ 0x85305600
[0032.625] I> TOS boot-params @ 0x85000000
[0032.628] I> TOS params prepared
[0032.632] I> Loading EKS ...
[0032.635] I> Binary(15) of size 1040 is loaded @ 0x85905800
[0032.640] I> EKB detected (length: 0x400) @ 0x85905800
[0032.645] I> Copied encrypted keys
[0032.649] I> boot profiler @ 0x175844000
[0032.653] I> boot profiler for TOS @ 0x175844000
[0032.658] I> Unhalting SCE
[0032.660] I> Primary Memory Start:80000000 Size:70000000
[0032.666] I> Extended Memory Start:f0110000 Size:856f0000
[0032.672] I> MB2(TBoot-BPMP) Recovery done

NOTICE:  BL31: v1.3(release):b5eeb33
NOTICE:  BL31: Built : 02:21:00, Apr 17 2022
ipc-unittest-main: 1519: Welcome to IPC unittest!!!
ipc-unittest-main: 1531: waiting forever
ipc-unittest-srv: 329: Init unittest services!!!
hwkey-agent: 41: hwkey-agent is running!!
hwkey-agent: 347: key_mgnt_processing .......
hwkey-agent: 255: Setting EKB key 0 to slot 14
hwkey-agent: 178: 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
[0032.899] I> Welcome to TBoot-CPU Recovery(version: 01.00.160913-t186-M-00.00-mobile-062b6d57)
[0032.907] I> gpio framework initialized
[0032.911] I> tegrabl_gpio_driver_register: register 'nvidia,tegra186-gpio' driver
[0032.918] I> tegrabl_gpio_driver_register: register 'nvidia,tegra186-gpio-aon' driver
[0032.926] I> tegrabl_tca9539_init: i2c bus: 0, slave addr: 0xee
[0032.933] E> I2C: slave not found in slaves.
[0032.937] E> I2C: Could not write 0 bytes to slave: 0x00ee with repeat start false.
[0032.945] E> I2C_DEV: Failed to send register address 0x00000004.
[0032.950] E> I2C_DEV: Could not write 1 registers of size 1 to slave 0xee at 0x00000004 via instance 0.
[0032.960] E> tca9539_device_init: failed to write polar reg
[0032.965] E> tegrabl_tca9539_init: failed to init device!
[0032.970] I> tegrabl_tca9539_init: i2c bus: 0, slave addr: 0xe8
[0032.976] E> I2C: slave not found in slaves.
[0032.980] E> I2C: Could not write 0 bytes to slave: 0x00e8 with repeat start false.
[0032.988] E> I2C_DEV: Failed to send register address 0x00000004.
[0032.994] E> I2C_DEV: Could not write 1 registers of size 1 to slave 0xe8 at 0x00000004 via instance 0.
[0033.003] E> tca9539_device_init: failed to write polar reg
[0033.009] E> tegrabl_tca9539_init: failed to init device!
[0033.014] I> CPU: ARM Cortex A57
[0033.017] I> CPU: MIDR: 0x411fd073, MPIDR: 0x80000100
[0033.022] I> L2 ECC enabled : yes
[0033.025] I> CPU-BL Params @ 0x175800000
[0033.029] I>  0) Base:0x00000000 Size:0x00000000
[0033.033] I>  1) Base:0x177f00000 Size:0x00100000
[0033.037] I>  2) Base:0x177e00000 Size:0x00100000
[0033.042] I>  3) Base:0x177d00000 Size:0x00100000
[0033.047] I>  4) Base:0x177c00000 Size:0x00100000
[0033.051] I>  5) Base:0x177b00000 Size:0x00100000
[0033.056] I>  6) Base:0x177800000 Size:0x00200000
[0033.060] I>  7) Base:0x177400000 Size:0x00400000
[0033.065] I>  8) Base:0x177a00000 Size:0x00100000
[0033.069] I>  9) Base:0x177300000 Size:0x00100000
[0033.074] I> 10) Base:0x176800000 Size:0x00800000
[0033.078] I> 11) Base:0x30000000 Size:0x00040000
[0033.083] I> 12) Base:0xf0000000 Size:0x00100000
[0033.087] I> 13) Base:0x30040000 Size:0x00001000
[0033.091] I> 14) Base:0x30048000 Size:0x00001000
[0033.096] I> 15) Base:0x30049000 Size:0x00001000
[0033.100] I> 16) Base:0x3004a000 Size:0x00001000
[0033.105] I> 17) Base:0x3004b000 Size:0x00001000
[0033.109] I> 18) Base:0x3004c000 Size:0x00001000
[0033.114] I> 19) Base:0x3004d000 Size:0x00001000
[0033.118] I> 20) Base:0x3004e000 Size:0x00001000
[0033.122] I> 21) Base:0x3004f000 Size:0x00001000
[0033.127] I> 22) Base:0x00000000 Size:0x00000000
[0033.131] I> 23) Base:0xf0100000 Size:0x00010000
[0033.136] I> 24) Base:0x00000000 Size:0x00000000
[0033.140] I> 25) Base:0x00000000 Size:0x00000000
[0033.145] I> 26) Base:0x00000000 Size:0x00000000
[0033.149] I> 27) Base:0x00000000 Size:0x00000000
[0033.154] I> 28) Base:0x84400000 Size:0x00400000
[0033.158] I> 29) Base:0x30000000 Size:0x00010000
[0033.162] I> 30) Base:0x178000000 Size:0x08000000
[0033.167] I> 31) Base:0x00000000 Size:0x00000000
[0033.171] I> 32) Base:0x176000000 Size:0x00600000
[0033.176] I> 33) Base:0x80000000 Size:0x70000000
[0033.180] I> 34) Base:0xf0110000 Size:0x856f0000
[0033.185] I> 35) Base:0x00000000 Size:0x00000000
[0033.189] I> 36) Base:0x00000000 Size:0x00000000
[0033.194] I> 37) Base:0x1772e0000 Size:0x00020000
[0033.198] I> 38) Base:0x84000000 Size:0x00400000
[0033.203] I> 39) Base:0x96000000 Size:0x02000000
[0033.207] I> 40) Base:0x85000000 Size:0x01200000
[0033.211] I> 41) Base:0x175800000 Size:0x00500000
[0033.216] I> 42) Base:0x00000000 Size:0x00000000
[0033.220] I> 43) Base:0x00000000 Size:0x00000000
[0033.225] I> Boot-device: eMMC
[0033.247] I> sdmmc DDR50 mode
[0033.251] I> sdmmc bdev is already initialized
[0033.256] I> Found 19 partitions in SDMMC_BOOT (instance 3)
[0033.263] I> Found 33 partitions in SDMMC_USER (instance 3)
[0033.268] I> bl dtb load address = @0x85205400
[0033.272] I> Recovery boot_type: 0
[0033.278] I> fixed regulator driver initialized
[0033.305] I> register 'maxim' power off handle
[0033.311] I> virtual i2c enabled
[0033.314] I> registered 'maxim,max77620' pmic
[0033.318] I> tegrabl_gpio_driver_register: register 'max77620-gpio' driver
[0033.325] I> Entering 3p server
[0033.328] I>  HIGH SPEED
[0033.762] I> USB configuration success
[0035.158] I> Writing kernel partition.
[0035.624] I> Rebooting : reset-coldboot


[0000.136] I> Welcome to MB2(TBoot-BPMP)(version: 01.00.160913-t186-M-00.00-mobile-e75fdd51)
[0000.145] I> Boot-device: eMMC
[0000.152] I> sdmmc bdev is already initialized
[0000.157] I> pmic: reset reason (nverc)        : 0x0
[0000.190] I> Found 19 partitions in SDMMC_BOOT (instance 3)
[0000.210] I> Found 33 partitions in SDMMC_USER (instance 3)
[0000.215] W> No valid slot number is found in scratch register
[0000.221] W> Return default slot: _a
[0000.225] I> A/B: bin_type (16) slot 0
[0000.228] I> Loading partition bpmp-fw at 0xd7800000
[0000.233] I> Reading two headers - addr:0xd7800000 blocks:1
[0000.239] I> Addr: 0xd7800000, start-block: 29417480, num_blocks: 1
[0000.263] I> Binary(16) of size 534416 is loaded @ 0xd7800000
[0000.269] W> No valid slot number is found in scratch register
[0000.275] W> Return default slot: _a
[0000.278] I> A/B: bin_type (17) slot 0
[0000.282] I> Loading partition bpmp-fw-dtb at 0xd79f0000
[0000.287] I> Reading two headers - addr:0xd79f0000 blocks:1
[0000.292] I> Addr: 0xd79f0000, start-block: 29419896, num_blocks: 1
[0000.311] I> Binary(17) of size 113248 is loaded @ 0xd79e4400
[0000.339] I> Loading SCE-FW ...
[0000.342] W> No valid slot number is found in scratch register
[0000.348] W> Return default slot: _a
[0000.351] I> A/B: bin_type (12) slot 0
[0000.355] I> Loading partition sce-fw at 0xd7300000
[0000.360] I> Reading two headers - addr:0xd7300000 blocks:1
[0000.365] I> Addr: 0xd7300000, start-block: 29423992, num_blocks: 1
[0000.384] I> Binary(12) of size 125632 is loaded @ 0xd7300000
[0000.390] I> Init SCE
[0000.392] I> Loading APE-FW ...
[0000.395] W> No valid slot number is found in scratch register
[0000.401] W> Return default slot: _a
[0000.405] I> A/B: bin_type (11) slot 0
[0000.408] I> Loading partition adsp-fw at 0xd7400000
[0000.413] I> Reading two headers - addr:0xd7400000 blocks:1
[0000.418] I> Addr: 0xd7400000, start-block: 29401096, num_blocks: 1
[0000.437] I> Binary(11) of size 77216 is loaded @ 0xd7400000
[0000.443] I> Copy BTCM section
[0000.446] W> No valid slot number is found in scratch register
[0000.452] W> Return default slot: _a
[0000.455] I> A/B: bin_type (13) slot 0
[0000.459] I> Loading partition cpu-bootloader at 0x96000000
[0000.464] I> Reading two headers - addr:0x96000000 blocks:1
[0000.470] I> Addr: 0x96000000, start-block: 29380616, num_blocks: 1
[0000.491] I> Binary(13) of size 309152 is loaded @ 0x96000000
[0000.496] W> No valid slot number is found in scratch register
[0000.502] W> Return default slot: _a
[0000.505] I> A/B: bin_type (20) slot 0
[0000.509] I> Loading partition bootloader-dtb at 0x85205400
[0000.515] I> Reading two headers - addr:0x85205400 blocks:1
[0000.520] I> Addr: 0x85205400, start-block: 29382664, num_blocks: 1
[0000.539] I> Binary(20) of size 192320 is loaded @ 0x85205400
[0000.545] W> No valid slot number is found in scratch register
[0000.551] W> Return default slot: _a
[0000.554] I> A/B: bin_type (14) slot 0
[0000.558] I> Loading partition secure-os at 0x85305600
[0000.563] I> Reading two headers - addr:0x85305600 blocks:1
[0000.568] I> Addr: 0x85305600, start-block: 29384712, num_blocks: 1
[0000.591] I> Binary(14) of size 402864 is loaded @ 0x85305600
[0000.598] I> TOS boot-params @ 0x85000000
[0000.602] I> TOS params prepared
[0000.605] I> Loading EKS ...
[0000.608] I> A/B: bin_type (15) slot 0
[0000.611] I> Loading partition eks at 0x85905800
[0000.616] I> Reading two headers - addr:0x85905800 blocks:1
[0000.621] I> Addr: 0x85905800, start-block: 29397000, num_blocks: 1
[0000.640] I> Binary(15) of size 1040 is loaded @ 0x85905800
[0000.646] I> EKB detected (length: 0x400) @ 0x85905800
[0000.651] I> Copied encrypted keys
[0000.654] I> boot profiler @ 0x175844000
[0000.658] I> boot profiler for TOS @ 0x175844000
[0000.663] I> Unhalting SCE
[0000.666] I> Primary Memory Start:80000000 Size:70000000
[0000.671] I> Extended Memory Start:f0110000 Size:856f0000
[0000.678] I> MB2(TBoot-BPMP) done

NOTICE:  BL31: v1.3(release):b5eeb33
NOTICE:  BL31: Built : 02:21:00, Apr 17 2022
ipc-unittest-main: 1519: Welcome to IPC unittest!!!
ipc-unittest-main: 1531: waiting forever
ipc-unittest-srv: 329: Init unittest services!!!
hwkey-agent: 41: hwkey-agent is running!!
hwkey-agent: 347: key_mgnt_processing .......
hwkey-agent: 255: Setting EKB key 0 to slot 14
hwkey-agent: 178: 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
[0000.903] I> Welcome to Cboot
[0000.905] I> Cboot Version: t186-acf1ddbd
[0000.909] I> CPU-BL Params @ 0x175800000
[0000.913] I>  0) Base:0x00000000 Size:0x00000000
[0000.917] I>  1) Base:0x177f00000 Size:0x00100000
[0000.922] I>  2) Base:0x177e00000 Size:0x00100000
[0000.927] I>  3) Base:0x177d00000 Size:0x00100000
[0000.931] I>  4) Base:0x177c00000 Size:0x00100000
[0000.936] I>  5) Base:0x177b00000 Size:0x00100000
[0000.940] I>  6) Base:0x177800000 Size:0x00200000
[0000.945] I>  7) Base:0x177400000 Size:0x00400000
[0000.949] I>  8) Base:0x177a00000 Size:0x00100000
[0000.954] I>  9) Base:0x177300000 Size:0x00100000
[0000.958] I> 10) Base:0x176800000 Size:0x00800000
[0000.963] I> 11) Base:0x30000000 Size:0x00040000
[0000.967] I> 12) Base:0xf0000000 Size:0x00100000
[0000.972] I> 13) Base:0x30040000 Size:0x00001000
[0000.976] I> 14) Base:0x30048000 Size:0x00001000
[0000.980] I> 15) Base:0x30049000 Size:0x00001000
[0000.985] I> 16) Base:0x3004a000 Size:0x00001000
[0000.989] I> 17) Base:0x3004b000 Size:0x00001000
[0000.994] I> 18) Base:0x3004c000 Size:0x00001000
[0000.998] I> 19) Base:0x3004d000 Size:0x00001000
[0001.003] I> 20) Base:0x3004e000 Size:0x00001000
[0001.007] I> 21) Base:0x3004f000 Size:0x00001000
[0001.011] I> 22) Base:0x00000000 Size:0x00000000
[0001.016] I> 23) Base:0xf0100000 Size:0x00010000
[0001.020] I> 24) Base:0x00000000 Size:0x00000000
[0001.025] I> 25) Base:0x00000000 Size:0x00000000
[0001.029] I> 26) Base:0x00000000 Size:0x00000000
[0001.034] I> 27) Base:0x00000000 Size:0x00000000
[0001.038] I> 28) Base:0x84400000 Size:0x00400000
[0001.042] I> 29) Base:0x30000000 Size:0x00010000
[0001.047] I> 30) Base:0x178000000 Size:0x08000000
[0001.051] I> 31) Base:0x00000000 Size:0x00000000
[0001.056] I> 32) Base:0x176000000 Size:0x00600000
[0001.060] I> 33) Base:0x80000000 Size:0x70000000
[0001.065] I> 34) Base:0xf0110000 Size:0x856f0000
[0001.069] I> 35) Base:0x00000000 Size:0x00000000
[0001.074] I> 36) Base:0x00000000 Size:0x00000000
[0001.078] I> 37) Base:0x1772e0000 Size:0x00020000
[0001.083] I> 38) Base:0x84000000 Size:0x00400000
[0001.087] I> 39) Base:0x96000000 Size:0x02000000
[0001.091] I> 40) Base:0x85000000 Size:0x01200000
[0001.096] I> 41) Base:0x175800000 Size:0x00500000
[0001.100] I> 42) Base:0x00000000 Size:0x00000000
[0001.105] I> 43) Base:0x00000000 Size:0x00000000
[0001.109] GIC-SPI Target CPU: 4
[0001.113] Interrupts Init done
[0001.116] calling constructors
[0001.119] initializing heap
[0001.122] initializing threads
[0001.125] initializing timers
[0001.128] creating bootstrap completion thread
[0001.133] top of bootstrap2()
[0001.136] CPU: ARM Cortex A57
[0001.139] CPU: MIDR: 0x411FD073, MPIDR: 0x80000100
[0001.144] initializing platform
[0001.148] I> Bl_dtb @0x85205400
[0001.151] I> gpio framework initialized
[0001.156] I> tegrabl_gpio_driver_register: register 'nvidia,tegra186-gpio' driver
[0001.164] I> tegrabl_gpio_driver_register: register 'nvidia,tegra186-gpio-aon' driver
[0001.172] I> GPIO framework and drivers are initialized.
[0001.177] I> Boot-device: eMMC
[0001.184] I> sdmmc bdev is already initialized
[0001.215] I> Found 19 partitions in SDMMC_BOOT (instance 3)
[0001.233] I> Found 33 partitions in SDMMC_USER (instance 3)
[0001.238] W> opt-in fuse is not set, skip fuse_burning
[0001.243] I> Reserved memory at 0xfbe00000 for U-Boot relocation
[0001.249] W> No valid slot number is found in scratch register
[0001.255] W> Return default slot: _a
[0001.264] I> A/B: bin_type (21) slot 0
[0001.268] I> Loading kernel-dtb from partition
[0001.272] I> Loading partition kernel-dtb at 0x80000000 from device(0x1)
[0001.289] I> Kernel_dtb @0x80000000
[0001.292] I> tegrabl_tca9539_init: i2c bus: 0, slave addr: 0xee
[0001.300] W> fetch_driver_phandle_from_dt: failed to get node with compatible ti,tca9539
[0001.310] W> fetch_driver_phandle_from_dt: failed to get node with compatible nxp,tca9539
[0001.318] W> tegrabl_tca9539_init: failed to fetch phandle from dt
[0001.324] I> tegrabl_tca9539_init: i2c bus: 0, slave addr: 0xe8
[0001.332] W> fetch_driver_phandle_from_dt: failed to get node with compatible ti,tca9539
[0001.342] W> fetch_driver_phandle_from_dt: failed to get node with compatible nxp,tca9539
[0001.350] W> tegrabl_tca9539_init: failed to fetch phandle from dt
[0001.358] I> fixed regulator driver initialized
[0001.380] I> register 'maxim' power off handle
[0001.385] I> virtual i2c enabled
[0001.388] I> registered 'maxim,max77620' pmic
[0001.392] I> tegrabl_gpio_driver_register: register 'max77620-gpio' driver
[0001.402] E> failed to read label property for node 149928: 13
[0001.409] E> failed to read reg property for node 150024: 13
[0001.416] E> failed to read reg property for node 150076: 13
[0001.423] E> failed to read label property for node 150160: 13
[0001.430] E> failed to read reg property for node 150228: 13
[0001.436] E> failed to read reg property for node 150300: 13
[0001.444] I> Find /i2c@c250000's alias i2c7
[0001.448] I> Reading eeprom i2c=7 address=0x50
[0001.477] I> Device at /i2c@c250000:0x50
[0001.481] I> Reading eeprom i2c=7 address=0x57
[0001.485] E> I2C: slave not found in slaves.
[0001.489] E> I2C: Could not write 0 bytes to slave: 0x00ae with repeat start true.
[0001.497] E> I2C_DEV: Failed to send register address 0x00000000.
[0001.503] E> I2C_DEV: Could not read 256 registers of size 1 from slave 0xae at 0x00000000 via instance 7.
[0001.512] E> eeprom: Failed to read I2C slave device
[0001.517] I> Eeprom read failed 0x3526070d
[0001.521] I> Find /i2c@3160000's alias i2c0
[0001.525] I> Reading eeprom i2c=0 address=0x50
[0001.530] E> I2C: slave not found in slaves.
[0001.535] E> I2C: Could not write 0 bytes to slave: 0x00a0 with repeat start true.
[0001.542] E> I2C_DEV: Failed to send register address 0x00000000.
[0001.548] E> I2C_DEV: Could not read 256 registers of size 1 from slave 0xa0 at 0x00000000 via instance 0.
[0001.558] E> eeprom: Failed to read I2C slave device
[0001.562] I> Eeprom read failed 0x3526070d
[0001.567] I> Find /i2c@3180000's alias i2c2
[0001.571] I> Reading eeprom i2c=2 address=0x54
[0001.575] I> Enabling gpio chip_id = 2, gpio pin = 9
[0001.580] C> GPIO driver for chip_id 0x2 could not be found
[0001.585] E> cam_eeprom_read: Can't get gpio driver
[0001.590] I> Eeprom read failed 0x4d4d000d
[0001.594] I> Reading eeprom i2c=2 address=0x57
[0001.598] I> Enabling gpio chip_id = 2, gpio pin = 9
[0001.603] C> GPIO driver for chip_id 0x2 could not be found
[0001.608] E> cam_eeprom_read: Can't get gpio driver
[0001.613] I> Eeprom read failed 0x4d4d000d
[0001.617] I> create_pm_ids: id: 3636-0001-300-H, len: 15
[0001.622] I> config: mem-type:00,power-config:00,misc-config:00,modem-config:00,touch-config:00,display-config:00,, len: 93
[0001.645] I> regulator 'vdd-hdmi-5v0' already enabled
[0001.656] I> regulator 'vdd-hdmi-5v0' already enabled
[0001.661] I> hdmi cable connected
[0001.666] I> setting 'vdd-pex-1v00' regulator to 1000000 micro volts
[0001.674] I> setting 'vdd-1v8' regulator to 1800000 micro volts
[0001.680] I> retrieved tmds range from prod_list_hdmi_soc
[0001.686] E> cannot find any other nvdisp nodes
[0001.706] I> edid read success
[0001.721] I> edid read success
[0001.724] I> width = 640, height = 480, frequency = 25174825
[0001.729] I> width = 640, height = 480, frequency = 25174825
[0001.735] I> width = 640, height = 480, frequency = 25174825
[0001.740] I> width = 640, height = 480, frequency = 25174825
[0001.746] I> width = 1280, height = 720, frequency = 74250000
[0001.751] I> width = 720, height = 480, frequency = 27000000
[0001.757] I> width = 720, height = 480, frequency = 27000000
[0001.762] I> width = 720, height = 480, frequency = 27000000
[0001.768] I> width = 1440, height = 900, frequency = 106470000
[0001.773] I> width = 1280, height = 720, frequency = 74175824
[0001.779] I> width = 1280, height = 720, frequency = 74175824
[0001.784] I> width = 720, height = 480, frequency = 26973026
[0001.790] I> width = 720, height = 480, frequency = 26973026
[0001.795] I> width = 720, height = 576, frequency = 26973026
[0001.801] I> width = 720, height = 576, frequency = 26973026
[0001.806] I> width = 640, height = 480, frequency = 25174825
[0001.812] I> width = 1920, height = 1080, frequency = 74175824
[0001.817] I> width = 1920, height = 1080, frequency = 74175824
[0001.823] I> width = 1920, height = 1080, frequency = 74175824
[0001.829] I> width = 1920, height = 1080, frequency = 148351648
[0001.834] I> Best mode Width = 1920, Height = 1080, freq = 148351648
[0001.844] I> hdmi_enable, starting HDMI initialisation
[0001.851] I> hdmi_enable, HDMI initialisation complete
[0001.875] initializing target
[0001.878] calling apps_init()
[0001.881] starting app kernel_boot_app
[0001.904] I> found decompressor handler: lz4-legacy
[0001.908] I> decompressing BMP blob ...
[0001.920] I> Kernel type = Normal
[0001.923] I> ########## Fixed storage boot ##########
[0001.928] I> Loading kernel-bootctrl from partition
[0001.933] I> Loading partition kernel-bootctrl at 0xa8000000 from device(0x1)
[0001.954] W> tegrabl_get_kernel_bootctrl: magic number(0x00000000) is invalid
[0001.961] W> tegrabl_get_kernel_bootctrl: use default dummy boot control data
[0001.968] W> No valid slot number is found in scratch register
[0001.973] W> Return default slot: _a
[0001.977] I> A/B: bin_type (24) slot 0
[0001.992] I> Boot image size read from image header: a5d20
[0001.998] I> Boot image load address: 0x80400000
[0002.002] I> Loading kernel from partition
[0002.006] I> Loading partition kernel at 0x80400000 from device(0x1)
[0002.949] I> Validate kernel ...
[0002.952] I> T18x: Authenticate kernel (bin_type 24), max size 0x4000000
[0002.960] I> Decrypt the buffer ... [0002.963] W> tegrabl_decrypt_block: fuse (0x0) is not burnt to do encryption (0x4); skip decryption.
[0002.972] I> done
[0002.974] I> Checking boot.img header magic ... [0002.978] I> [OK]
[0002.980] I> kernel-dtb is already loaded
[0002.984] I> Validate kernel-dtb ...
[0002.987] I> T18x: Authenticate kernel-dtb (bin_type 21), max size 0x100000
[0002.995] I> Decrypt the buffer ... [0002.998] W> tegrabl_decrypt_block: fuse (0x0) is not burnt to do encryption (0x4); skip decryption.
[0003.007] I> done
[0003.008] I> Kernel hdr @0x80400000
[0003.012] I> Kernel dtb @0x80000000
[0003.015] I> decompressor handler not found
[0003.019] I> Copying kernel image (679200 bytes) from 0x80400800 to 0x80600000 ... [0003.027] I> Done
[0003.028] I> Move ramdisk (len: 0) from 0x804a6800 to 0x947e0000
[0003.035] I> Updated bpmp info to DTB
[0003.040] I> Ramdisk: Base: 0x947e0000; Size: 0x0
[0003.045] I> Updated initrd info to DTB
[0003.048] W> WARN: Fail to override "console=none" in commandline
[0003.054] I> Active rootfs suffix: 
[0003.058] E> tegrabl_linuxboot_add_disp_param, du 1 failed to get display params
[0003.065] E> tegrabl_linuxboot_add_disp_param, du 1 failed to get display params
[0003.072] I> disabled_core_mask: 0xffffff0c
[0003.076] W> No valid slot number is found in scratch register
[0003.082] W> Return default slot: _a
[0003.085] I> Active slot suffix: 
[0003.088] I> add_boot_slot_suffix: slot_suffix = 
[0003.093] I> Linux Cmdline: console=ttyS0,115200 root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 isolcpus=1-2  video=tegrafb earlycon=uart8250,mmio32,0x3100000 nvdumper_reserved=0x1772e0000 gpt rootfs.slot_suffix= tegra_fbmem=0x800000@0x96085000 lut_mem=0x2008@0x96081000 usbcore.old_scheme_first=1 tegraid=18.1.2.0.0 maxcpus=6 no_console_suspend boot.slot_suffix= boot.ratchetvalues=0.2031647.1 vpr_resize bl_prof_dataptr=0x10000@0x175840000 sdhci_tegra.en_boot_part_access=1 
[0003.140] I> Updated bootarg info to DTB
[0003.144] W> MAC addr invalid!
[0003.146] E> Failed to get WIFI MAC address
[0003.150] W> MAC addr invalid!
[0003.153] E> Failed to get Bluetooth MAC address
[0003.158] I> eeprom_get_mac_addr: MAC (type: 2): 48:b0:2d:62:80:6a
[0003.164] E> Found no plugin manager ids in source DT
[0003.169] W> Add plugin manager ids from board info
[0003.173] W> "plugin-manager" doesn't exist, creating
[0003.178] W> "ids" doesn't exist, creating
[0003.182] W> "connection" doesn't exist, creating
[0003.187] W> "configs" doesn't exist, creating
[0003.191] I> create_pm_ids: id: 3636-0001-300-H, len: 15
[0003.196] I> config: mem-type:00,power-config:00,misc-config:00,modem-config:00,touch-config:00,display-config:00,, len: 93
[0003.207] I> Adding plugin-manager/ids/3636-0001-300=/i2c@c250000:module@0x50
[0003.214] W> "i2c@c250000" doesn't exist, creating
[0003.219] W> "module@0x50" doesn't exist, creating
[0003.225] I> Adding plugin-manager/ids/3636-0001-300-H
[0003.231] I> Adding plugin-manager/configs/3636-mem-type 00
[0003.236] I> Adding plugin-manager/configs/3636-power-config 00
[0003.242] I> Adding plugin-manager/configs/3636-misc-config 00
[0003.248] I> Adding plugin-manager/configs/3636-modem-config 00
[0003.254] I> Adding plugin-manager/configs/3636-touch-config 00
[0003.260] I> Adding plugin-manager/configs/3636-display-config 00
[0003.266] I> Adding plugin-manager/cvm
[0003.270] W> "chip-id" doesn't exist, creating
[0003.274] I> Adding plugin-manager/chip-id/A02P
[0003.279] W> "odm-data" doesn't exist, creating
[0003.283] I> Adding /chosen/plugin-manager/odm-data
[0003.291] I> added [base:0x80000000, size:0x70000000] to /memory
[0003.297] I> added [base:0xf0200000, size:0x85600000] to /memory
[0003.303] I> added [base:0x175e00000, size:0x200000] to /memory
[0003.309] I> added [base:0x176600000, size:0x200000] to /memory
[0003.314] I> added [base:0x177000000, size:0x200000] to /memory
[0003.320] I> Updated memory info to DTB
[0003.324] E> add_disp_param: failed to get display params for du=1
[0003.331] W> "reset" doesn't exist, creating
[0003.335] W> "pmc-reset-reason" doesn't exist, creating
[0003.341] W> "pmic-reset-reason" doesn't exist, creating
[0003.347] I> Adding ecid(000000016410b0000800000018fd84c0) to DT
[0003.353] I> disabled_core_mask: 0xffffff0c
[0003.361] I> Add serial number:1424621012576 as DT property
[0003.368] I> Plugin-manager override starting
[0003.374] I> node /plugin-manager/fragement@0 matches
[0003.381] I> node /plugin-manager/fragement@3 matches
[0003.395] I> Disable plugin-manager status in FDT
[0003.399] I> Plugin-manager override finished successfully
[0003.404] I> tegrabl_load_kernel_and_dtb: Done
[0003.449] I> Kernel EP: 0x80600000, DTB: 0x80000000

I presume this means the “kernel” (U-Boot) was loaded however something hung in the “kernel” itself as I get no further output. I think this could be that U-Boot was compiled incorrectly.
Is there any open device tree source I can use to compile into the u-boot.bin?
Also what does the -r flag actually build, can I replace this (I presume image) with my own say U-boot.img with headers for the SoC to in theorey locate U-Boot and thus skip a lot of partitions and data? This would make it easier to flash arbitrary partitions/ schemes on the eMMC if it would.

Also thanks for taking the time to reply to me Jerry, I super appreciate it, and I hate to bother you! Once I can get mainline U-Boot going everything else should be readily solvable with maybe a few tweaks to the DTB assuming I can find the source for it.

hello GeorgeRaven,

it’s the 1st time of flash script to generate system.img for image flashing, the-r options in flash.sh will re-use the exist system.img for speed-up the process.
so, that’s expect failure since you did not execute flash script before.

please see-also https://developer.nvidia.com/embedded/linux-tegra-r3272.
you’ll see u-boot_src.tbz2 after downloading the sources package.

Hey again Jerry, wow that was a lightning fast reply!

Ah my apologies the -r option was a silly mistake on my part, I admittedly was always rebuilding.

Thank you for pointing that out, I did not see that u-boot_src.tbz2 was bundled into public_sources.tbz2 under Linux_for_Tegra/source/public/u-boot_src.tbz I will try to extract the relevant files and build what I can into mainline u-boot. And report back on that so that others can learn from my mistakes.
I can already see that p3636-0001 exists in Linux_for_Tegra/source/public/u-boot/board/nvidia/ and tegra186-p3636-0001.dts in Linux_for_Tegra/source/public/u-boot/arch/arm/dts/ So hopefully it wont give me any more grief. Thanks for that!

Hmm so I have been doing some investigating of the actual outcomes of this flash script command. My goal is for U-Boot to be on the eMMC by itself without these other partitions, then further booting from the SD card via the bootcmd.

However both the BSP and mainline U-Boot do not seem to allow me to boot from the SD card. I have also enabled CONFIG_LANAI_SD since it appears SD cards were disabled in p3636-0001.c u-boot-tegra/p3636-0001.c at 894fa67d7f6c3158c08f1670fa75e05764111d42 · OE4T/u-boot-tegra · GitHub

compile (e.g GitHub - OE4T/u-boot-tegra: U-Boot for NVIDIA Tegra):

make distclean 
ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- make p3636-0001_defconfig
make menuconfig # and add any additional configs vars like CONFIG_LANAI_SD
ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- make -j {$nproc}

flash:

cp <PATH_TO_U-BOOT>/u-boot.bin <PATH_TO>/Linux_for_Tegra/bootloader/t186ref/p3636-0001/u-boot.bin
sudo ./flash.sh -k kernel jetson-xavier-nx-devkit-tx2-nx mmcblk0p1

serial:

screen /dev/ttyACM0 115200

then attempt to interactively inspect SD card:

U-Boot 2022.01-00061-g894fa67d7f-dirty (Oct 07 2022 - 14:46:00 +0100)

SoC: tegra186
Model: NVIDIA P3636-0001
Board: NVIDIA P3636-0001
DRAM:  3.8 GiB
MMC:   sdhci@3400000: 1, sdhci@3460000: 0
Loading Environment from MMC... *** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   eth0: ethernet@2490000
Hit any key to stop autoboot:  0 
Tegra186 (P3636-0001) # mmc rescan
Tegra186 (P3636-0001) # mmc list
sdhci@3400000: 1
sdhci@3460000: 0 (eMMC)
Tegra186 (P3636-0001) # ls mmc 0
<DIR>       4096 .
<DIR>       4096 ..
<DIR>      16384 lost+found
<DIR>       4096 boot
<DIR>       4096 bin
<DIR>       4096 dev
<DIR>      12288 etc
<DIR>       4096 home
<DIR>       4096 lib
<DIR>       4096 media
<DIR>       4096 mnt
<DIR>       4096 opt
<DIR>       4096 proc
<DIR>       4096 root
<DIR>       4096 run
<DIR>       4096 sbin
<DIR>       4096 snap
<DIR>       4096 srv
<DIR>       4096 sys
<DIR>       4096 tmp
<DIR>       4096 usr
<DIR>       4096 var
Tegra186 (P3636-0001) # ls mmc 1
Card did not respond to voltage select! : -110
Couldn't find partition mmc 1
Tegra186 (P3636-0001) # ls mmc 1:0
Card did not respond to voltage select! : -110
Couldn't find partition mmc 1:0
Tegra186 (P3636-0001) # ls mmc 1:1
Card did not respond to voltage select! : -110
Couldn't find partition mmc 1:1
Tegra186 (P3636-0001) # mmc dev 0
switch to partitions #0, OK
mmc0(part 0) is current device
Tegra186 (P3636-0001) # mmc dev 1
Card did not respond to voltage select! : -110
Tegra186 (P3636-0001) # mmcinfo
Device: sdhci@3460000
Manufacturer ID: 45
OEM: 100
Name: DG401 
Bus Speed: 48000000
Mode: MMC High Speed (52MHz)
Rd Block Len: 512
MMC version 5.1
High Capacity: Yes
Capacity: 14.7 GiB
Bus Width: 8-bit
Erase Group Size: 512 KiB
HC WP Group Size: 8 MiB
User Capacity: 14.7 GiB WRREL
Boot Capacity: 4 MiB ENH
RPMB Capacity: 4 MiB ENH
Boot area 0 is not write protected
Boot area 1 is not write protected
Tegra186 (P3636-0001) #

So every time I try to load the SD card I get a voltage select error :/

Card did not respond to voltage select! : -110

Could this be a card/ carrier board issue? And is there any way to flash only one partition on the eMMC that only includes U-Boot?

hello GeorgeRaven,

please check Boot Sequence and Sysboot Configuration Files for default booting scan sequence.

would you like to boot from SD?
I doubt you’re using TX2 NX DevKits, since it doesn’t have SD card slots


however,
please see-also developer guide, Flashing to an External Storage Device for using the initrd flashing tool.
thanks

Hey Jerry,
thanks for replying!

Yes indeed the board is a TX2-NX carrier board by forecr DSBOARD-NX2 which has both eMMC and SD.

I tried your first suggestion using the sysboot config on the sd card since that is by default first (Syslinux - ArchWiki), which ended up looking like so that I could try several variants:

TIMEOUT 30
DEFAULT archarm

MENU TITLE L4T boot options

# # Original rootfs extlinux config for ubuntu
# LABEL primary
#       MENU LABEL primary kernel
#       LINUX /boot/Image
#       INITRD /boot/initrd
#       APPEND ${cbootargs} quiet

# Archlinux arm included p3636 device tree
LABEL archarm
   MENU LABEL archlinux nvme
   LINUX /Image
   INITRD /initramfs-linux.img
   FDT /dtbs/nvidia/tegra186-p3509-0000+p3636-0001.dtb
   APPEND ${cbootargs} root=/dev/nvme0n1p2 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0

# Archlinux arm with forecr device tree
LABEL archcr
   MENU LABEL archlinuxarm nvme forecr
   LINUX /Image
   INITRD /initramfs-linux.img
   FDT /dtbs/nvidia/tegra186-p3636-0001-forecr.dtb
   APPEND ${cbootargs} root=/dev/nvme0n1p2 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0

# Archlinux arm with L4T default device tree
LABEL archl4t
   MENU LABEL archlinuxarm nvme l4t
   LINUX /Image
   INITRD /initramfs-linux.img
   FDT /dtbs/nvidia/tegra186-bpmp-p3636-0001-a00-00.dtb
   APPEND ${cbootargs} root=/dev/nvme0n1p2 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0

# Archlinux arm with no-default device tree
LABEL archnodtb
   MENU LABEL archlinuxarm nvme nodtb
   LINUX /Image
   INITRD /initramfs-linux.img
   APPEND ${cbootargs} root=/dev/nvme0n1p2 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0

# Archlinux arm with minimum
LABEL archnodtb
   MENU LABEL archlinuxarm nvme minimum
   LINUX /Image
   INITRD /initramfs-linux.img
   APPEND ${cbootargs}

# Archlinux arm with wincluded p3636 device tree but using fallback initramfs
LABEL archback
   MENU LABEL archlinux nvme fallback
   LINUX /Image
   INITRD /initramfs-linux-fallback.img
   FDT /dtbs/nvidia/tegra186-p3636-0001-forecr.dtb
   APPEND ${cbootargs} root=/dev/nvme0n1p2 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0

I flashed the board anew with the default U-Boot and sample filesystem and applied binaries to the eMMC (for now to test your suggestion).

(the above config is from NVMe version they are both identical except different roots since they are two seperate archlinux systems on SD and NVMe)

sudo ./flash.sh jetson-xavier-nx-devkit-tx2-nx mmcblk0p1

I deleted the extlinux after it was flashed to prevent it from booting first in case the order is not SD first from the live default ubuntu system (since it appears flash.sh is expecting this file before it continues even if we don’t desire it).

However the SD card config is not sourced from the SD card, as I suspect U-Boot does not see it due to it not being compiled with SD card support as far as I can tell. However the extlinux that I also dropped onto the NVMe is being picked up.

I there a known good way to enable SD card support? As my prior attempts were not successful to recompile with the SD card functionality.

Follows is a full output trying to boot from the NVMe with the L4T included device tree that is known good for the ubuntu sample filesystem, which ends resulting in a kernel panic that im trying to figure out.


U-Boot 2020.04-g4335beb (Apr 17 2022 - 02:21:01 -0700)

SoC: tegra186
Model: NVIDIA P3636-0001
Board: NVIDIA P3636-0001
DRAM:  3.8 GiB
MMC:   sdhci@3400000: 1, sdhci@3460000: 0
Loading Environment from MMC... *** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   
Warning: ethernet@2490000 using MAC address from ROM
eth0: ethernet@2490000
Hit any key to stop autoboot:  0 
Tegra186 (P3636-0001) # [0000.199] I> Welcome to MB2(TBoot-BPMP)(version: 01.00.160913-t186-M-00.00-mobile-e75fdd51)
[0000.207] I> Boot-device: eMMC
[0000.215] I> sdmmc bdev is already initialized
[0000.219] I> pmic: reset reason (nverc)        : 0x80
[0000.252] I> Found 19 partitions in SDMMC_BOOT (instance 3)
[0000.272] I> Found 33 partitions in SDMMC_USER (instance 3)
[0000.278] W> No valid slot number is found in scratch register
[0000.284] W> Return default slot: _a
[0000.287] I> A/B: bin_type (16) slot 0
[0000.291] I> Loading partition bpmp-fw at 0xd7800000
[0000.296] I> Reading two headers - addr:0xd7800000 blocks:1
[0000.301] I> Addr: 0xd7800000, start-block: 29417480, num_blocks: 1
[0000.326] I> Binary(16) of size 534416 is loaded @ 0xd7800000
[0000.331] W> No valid slot number is found in scratch register
[0000.337] W> Return default slot: _a
[0000.340] I> A/B: bin_type (17) slot 0
[0000.344] I> Loading partition bpmp-fw-dtb at 0xd79f0000
[0000.349] I> Reading two headers - addr:0xd79f0000 blocks:1
[0000.355] I> Addr: 0xd79f0000, start-block: 29419896, num_blocks: 1
[0000.374] I> Binary(17) of size 113248 is loaded @ 0xd79e4400
[0000.402] I> Loading SCE-FW ...
[0000.405] W> No valid slot number is found in scratch register
[0000.411] W> Return default slot: _a
[0000.414] I> A/B: bin_type (12) slot 0
[0000.418] I> Loading partition sce-fw at 0xd7300000
[0000.422] I> Reading two headers - addr:0xd7300000 blocks:1
[0000.428] I> Addr: 0xd7300000, start-block: 29423992, num_blocks: 1
[0000.447] I> Binary(12) of size 125632 is loaded @ 0xd7300000
[0000.453] I> Init SCE
[0000.455] I> Loading APE-FW ...
[0000.458] W> No valid slot number is found in scratch register
[0000.464] W> Return default slot: _a
[0000.467] I> A/B: bin_type (11) slot 0
[0000.471] I> Loading partition adsp-fw at 0xd7400000
[0000.476] I> Reading two headers - addr:0xd7400000 blocks:1
[0000.481] I> Addr: 0xd7400000, start-block: 29401096, num_blocks: 1
[0000.500] I> Binary(11) of size 77216 is loaded @ 0xd7400000
[0000.506] I> Copy BTCM section
[0000.509] W> No valid slot number is found in scratch register
[0000.514] W> Return default slot: _a
[0000.518] I> A/B: bin_type (13) slot 0
[0000.521] I> Loading partition cpu-bootloader at 0x96000000
[0000.527] I> Reading two headers - addr:0x96000000 blocks:1
[0000.532] I> Addr: 0x96000000, start-block: 29380616, num_blocks: 1
[0000.553] I> Binary(13) of size 309152 is loaded @ 0x96000000
[0000.559] W> No valid slot number is found in scratch register
[0000.565] W> Return default slot: _a
[0000.568] I> A/B: bin_type (20) slot 0
[0000.572] I> Loading partition bootloader-dtb at 0x85205400
[0000.577] I> Reading two headers - addr:0x85205400 blocks:1
[0000.583] I> Addr: 0x85205400, start-block: 29382664, num_blocks: 1
[0000.602] I> Binary(20) of size 192320 is loaded @ 0x85205400
[0000.608] W> No valid slot number is found in scratch register
[0000.613] W> Return default slot: _a
[0000.617] I> A/B: bin_type (14) slot 0
[0000.620] I> Loading partition secure-os at 0x85305600
[0000.625] I> Reading two headers - addr:0x85305600 blocks:1
[0000.631] I> Addr: 0x85305600, start-block: 29384712, num_blocks: 1
[0000.653] I> Binary(14) of size 402864 is loaded @ 0x85305600
[0000.661] I> TOS boot-params @ 0x85000000
[0000.665] I> TOS params prepared
[0000.668] I> Loading EKS ...
[0000.670] I> A/B: bin_type (15) slot 0
[0000.674] I> Loading partition eks at 0x85905800
[0000.678] I> Reading two headers - addr:0x85905800 blocks:1
[0000.684] I> Addr: 0x85905800, start-block: 29397000, num_blocks: 1
[0000.703] I> Binary(15) of size 1040 is loaded @ 0x85905800
[0000.708] I> EKB detected (length: 0x400) @ 0x85905800
[0000.713] I> Copied encrypted keys
[0000.717] I> boot profiler @ 0x175844000
[0000.721] I> boot profiler for TOS @ 0x175844000
[0000.726] I> Unhalting SCE
[0000.728] I> Primary Memory Start:80000000 Size:70000000
[0000.733] I> Extended Memory Start:f0110000 Size:856f0000
[0000.740] I> MB2(TBoot-BPMP) done

NOTICE:  BL31: v1.3(release):b5eeb33
NOTICE:  BL31: Built : 02:21:00, Apr 17 2022
ipc-unittest-main: 1519: Welcome to IPC unittest!!!
ipc-unittest-main: 1531: waiting forever
ipc-unittest-srv: 329: Init unittest services!!!
hwkey-agent: 41: hwkey-agent is running!!
hwkey-agent: 347: key_mgnt_processing .......
hwkey-agent: 255: Setting EKB key 0 to slot 14
hwkey-agent: 178: 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
[0000.966] I> Welcome to Cboot
[0000.968] I> Cboot Version: t186-acf1ddbd
[0000.972] I> CPU-BL Params @ 0x175800000
[0000.976] I>  0) Base:0x00000000 Size:0x00000000
[0000.980] I>  1) Base:0x177f00000 Size:0x00100000
[0000.985] I>  2) Base:0x177e00000 Size:0x00100000
[0000.989] I>  3) Base:0x177d00000 Size:0x00100000
[0000.994] I>  4) Base:0x177c00000 Size:0x00100000
[0000.998] I>  5) Base:0x177b00000 Size:0x00100000
[0001.003] I>  6) Base:0x177800000 Size:0x00200000
[0001.007] I>  7) Base:0x177400000 Size:0x00400000
[0001.012] I>  8) Base:0x177a00000 Size:0x00100000
[0001.016] I>  9) Base:0x177300000 Size:0x00100000
[0001.021] I> 10) Base:0x176800000 Size:0x00800000
[0001.025] I> 11) Base:0x30000000 Size:0x00040000
[0001.030] I> 12) Base:0xf0000000 Size:0x00100000
[0001.034] I> 13) Base:0x30040000 Size:0x00001000
[0001.039] I> 14) Base:0x30048000 Size:0x00001000
[0001.043] I> 15) Base:0x30049000 Size:0x00001000
[0001.048] I> 16) Base:0x3004a000 Size:0x00001000
[0001.052] I> 17) Base:0x3004b000 Size:0x00001000
[0001.057] I> 18) Base:0x3004c000 Size:0x00001000
[0001.061] I> 19) Base:0x3004d000 Size:0x00001000
[0001.065] I> 20) Base:0x3004e000 Size:0x00001000
[0001.070] I> 21) Base:0x3004f000 Size:0x00001000
[0001.074] I> 22) Base:0x00000000 Size:0x00000000
[0001.079] I> 23) Base:0xf0100000 Size:0x00010000
[0001.083] I> 24) Base:0x00000000 Size:0x00000000
[0001.088] I> 25) Base:0x00000000 Size:0x00000000
[0001.092] I> 26) Base:0x00000000 Size:0x00000000
[0001.096] I> 27) Base:0x00000000 Size:0x00000000
[0001.101] I> 28) Base:0x84400000 Size:0x00400000
[0001.105] I> 29) Base:0x30000000 Size:0x00010000
[0001.110] I> 30) Base:0x178000000 Size:0x08000000
[0001.114] I> 31) Base:0x00000000 Size:0x00000000
[0001.119] I> 32) Base:0x176000000 Size:0x00600000
[0001.123] I> 33) Base:0x80000000 Size:0x70000000
[0001.128] I> 34) Base:0xf0110000 Size:0x856f0000
[0001.132] I> 35) Base:0x00000000 Size:0x00000000
[0001.136] I> 36) Base:0x00000000 Size:0x00000000
[0001.141] I> 37) Base:0x1772e0000 Size:0x00020000
[0001.145] I> 38) Base:0x84000000 Size:0x00400000
[0001.150] I> 39) Base:0x96000000 Size:0x02000000
[0001.154] I> 40) Base:0x85000000 Size:0x01200000
[0001.159] I> 41) Base:0x175800000 Size:0x00500000
[0001.163] I> 42) Base:0x00000000 Size:0x00000000
[0001.168] I> 43) Base:0x00000000 Size:0x00000000
[0001.172] GIC-SPI Target CPU: 4
[0001.175] Interrupts Init done
[0001.179] calling constructors
[0001.182] initializing heap
[0001.185] initializing threads
[0001.188] initializing timers
[0001.191] creating bootstrap completion thread
[0001.196] top of bootstrap2()
[0001.199] CPU: ARM Cortex A57
[0001.202] CPU: MIDR: 0x411FD073, MPIDR: 0x80000100
[0001.207] initializing platform
[0001.210] I> Bl_dtb @0x85205400
[0001.213] I> gpio framework initialized
[0001.219] I> tegrabl_gpio_driver_register: register 'nvidia,tegra186-gpio' driver
[0001.227] I> tegrabl_gpio_driver_register: register 'nvidia,tegra186-gpio-aon' driver
[0001.235] I> GPIO framework and drivers are initialized.
[0001.240] I> Boot-device: eMMC
[0001.247] I> sdmmc bdev is already initialized
[0001.278] I> Found 19 partitions in SDMMC_BOOT (instance 3)
[0001.296] I> Found 33 partitions in SDMMC_USER (instance 3)
[0001.301] W> opt-in fuse is not set, skip fuse_burning
[0001.306] I> Reserved memory at 0xfbe00000 for U-Boot relocation
[0001.312] W> No valid slot number is found in scratch register
[0001.317] W> Return default slot: _a
[0001.327] I> A/B: bin_type (21) slot 0
[0001.330] I> Loading kernel-dtb from partition
[0001.335] I> Loading partition kernel-dtb at 0x80000000 from device(0x1)
[0001.352] I> Kernel_dtb @0x80000000
[0001.356] I> tegrabl_tca9539_init: i2c bus: 0, slave addr: 0xee
[0001.364] W> fetch_driver_phandle_from_dt: failed to get node with compatible ti,tca9539
[0001.374] W> fetch_driver_phandle_from_dt: failed to get node with compatible nxp,tca9539
[0001.382] W> tegrabl_tca9539_init: failed to fetch phandle from dt
[0001.388] I> tegrabl_tca9539_init: i2c bus: 0, slave addr: 0xe8
[0001.395] W> fetch_driver_phandle_from_dt: failed to get node with compatible ti,tca9539
[0001.405] W> fetch_driver_phandle_from_dt: failed to get node with compatible nxp,tca9539
[0001.413] W> tegrabl_tca9539_init: failed to fetch phandle from dt
[0001.421] I> fixed regulator driver initialized
[0001.443] I> register 'maxim' power off handle
[0001.448] I> virtual i2c enabled
[0001.451] I> registered 'maxim,max77620' pmic
[0001.456] I> tegrabl_gpio_driver_register: register 'max77620-gpio' driver
[0001.466] E> failed to read label property for node 149928: 13
[0001.473] E> failed to read reg property for node 150024: 13
[0001.479] E> failed to read reg property for node 150076: 13
[0001.486] E> failed to read label property for node 150160: 13
[0001.493] E> failed to read reg property for node 150228: 13
[0001.500] E> failed to read reg property for node 150300: 13
[0001.507] I> Find /i2c@c250000's alias i2c7
[0001.511] I> Reading eeprom i2c=7 address=0x50
[0001.540] I> Device at /i2c@c250000:0x50
[0001.544] I> Reading eeprom i2c=7 address=0x57
[0001.549] E> I2C: slave not found in slaves.
[0001.553] E> I2C: Could not write 0 bytes to slave: 0x00ae with repeat start true.
[0001.560] E> I2C_DEV: Failed to send register address 0x00000000.
[0001.566] E> I2C_DEV: Could not read 256 registers of size 1 from slave 0xae at 0x00000000 via instance 7.
[0001.576] E> eeprom: Failed to read I2C slave device
[0001.580] I> Eeprom read failed 0x3526070d
[0001.585] I> Find /i2c@3160000's alias i2c0
[0001.589] I> Reading eeprom i2c=0 address=0x50
[0001.594] E> I2C: slave not found in slaves.
[0001.598] E> I2C: Could not write 0 bytes to slave: 0x00a0 with repeat start true.
[0001.606] E> I2C_DEV: Failed to send register address 0x00000000.
[0001.612] E> I2C_DEV: Could not read 256 registers of size 1 from slave 0xa0 at 0x00000000 via instance 0.
[0001.621] E> eeprom: Failed to read I2C slave device
[0001.626] I> Eeprom read failed 0x3526070d
[0001.630] I> Find /i2c@3180000's alias i2c2
[0001.634] I> Reading eeprom i2c=2 address=0x54
[0001.639] I> Enabling gpio chip_id = 2, gpio pin = 9
[0001.643] C> GPIO driver for chip_id 0x2 could not be found
[0001.649] E> cam_eeprom_read: Can't get gpio driver
[0001.654] I> Eeprom read failed 0x4d4d000d
[0001.657] I> Reading eeprom i2c=2 address=0x57
[0001.662] I> Enabling gpio chip_id = 2, gpio pin = 9
[0001.666] C> GPIO driver for chip_id 0x2 could not be found
[0001.672] E> cam_eeprom_read: Can't get gpio driver
[0001.677] I> Eeprom read failed 0x4d4d000d
[0001.680] I> create_pm_ids: id: 3636-0001-300-H, len: 15
[0001.686] I> config: mem-type:00,power-config:00,misc-config:00,modem-config:00,touch-config:00,display-config:00,, len: 93
[0001.709] I> regulator 'vdd-hdmi-5v0' already enabled
[0001.720] I> regulator 'vdd-hdmi-5v0' already enabled
[0001.725] I> hdmi cable connected
[0001.729] I> setting 'vdd-pex-1v00' regulator to 1000000 micro volts
[0001.737] I> setting 'vdd-1v8' regulator to 1800000 micro volts
[0001.743] I> retrieved tmds range from prod_list_hdmi_soc
[0001.750] E> cannot find any other nvdisp nodes
[0001.769] I> edid read success
[0001.784] I> edid read success
[0001.787] I> width = 640, height = 480, frequency = 25174825
[0001.793] I> width = 640, height = 480, frequency = 25174825
[0001.798] I> width = 640, height = 480, frequency = 25174825
[0001.804] I> width = 640, height = 480, frequency = 25174825
[0001.809] I> width = 1280, height = 720, frequency = 74250000
[0001.815] I> width = 720, height = 480, frequency = 27000000
[0001.820] I> width = 720, height = 480, frequency = 27000000
[0001.826] I> width = 720, height = 480, frequency = 27000000
[0001.831] I> width = 1440, height = 900, frequency = 106470000
[0001.837] I> width = 1280, height = 720, frequency = 74175824
[0001.842] I> width = 1280, height = 720, frequency = 74175824
[0001.848] I> width = 720, height = 480, frequency = 26973026
[0001.853] I> width = 720, height = 480, frequency = 26973026
[0001.859] I> width = 720, height = 576, frequency = 26973026
[0001.864] I> width = 720, height = 576, frequency = 26973026
[0001.870] I> width = 640, height = 480, frequency = 25174825
[0001.875] I> width = 1920, height = 1080, frequency = 74175824
[0001.881] I> width = 1920, height = 1080, frequency = 74175824
[0001.887] I> width = 1920, height = 1080, frequency = 74175824
[0001.892] I> width = 1920, height = 1080, frequency = 148351648
[0001.898] I> Best mode Width = 1920, Height = 1080, freq = 148351648
[0001.907] I> hdmi_enable, starting HDMI initialisation
[0001.915] I> hdmi_enable, HDMI initialisation complete
[0001.928] initializing target
[0001.931] calling apps_init()
[0001.934] starting app kernel_boot_app
[0001.956] I> found decompressor handler: lz4-legacy
[0001.961] I> decompressing BMP blob ...
[0001.973] I> Kernel type = Normal
[0001.976] I> ########## Fixed storage boot ##########
[0001.981] I> Loading kernel-bootctrl from partition
[0001.985] I> Loading partition kernel-bootctrl at 0xa8000000 from device(0x1)
[0001.999] W> tegrabl_get_kernel_bootctrl: magic number(0x00000000) is invalid
[0002.006] W> tegrabl_get_kernel_bootctrl: use default dummy boot control data
[0002.013] W> No valid slot number is found in scratch register
[0002.019] W> Return default slot: _a
[0002.022] I> A/B: bin_type (24) slot 0
[0002.038] I> Boot image size read from image header: 9902d
[0002.043] I> Boot image load address: 0x80400000
[0002.048] I> Loading kernel from partition
[0002.052] I> Loading partition kernel at 0x80400000 from device(0x1)
[0002.994] I> Validate kernel ...
[0002.997] I> T18x: Authenticate kernel (bin_type 24), max size 0x4000000
[0003.005] I> Decrypt the buffer ... [0003.009] W> tegrabl_decrypt_block: fuse (0x0) is not burnt to do encryption (0x4); skip decryption.
[0003.018] I> done
[0003.019] I> Checking boot.img header magic ... [0003.024] I> [OK]
[0003.025] I> kernel-dtb is already loaded
[0003.029] I> Validate kernel-dtb ...
[0003.032] I> T18x: Authenticate kernel-dtb (bin_type 21), max size 0x100000
[0003.040] I> Decrypt the buffer ... [0003.043] W> tegrabl_decrypt_block: fuse (0x0) is not burnt to do encryption (0x4); skip decryption.
[0003.052] I> done
[0003.054] I> Kernel hdr @0x80400000
[0003.057] I> Kernel dtb @0x80000000
[0003.060] I> decompressor handler not found
[0003.064] I> Copying kernel image (626733 bytes) from 0x80400800 to 0x80600000 ... [0003.072] I> Done
[0003.074] I> Move ramdisk (len: 0) from 0x8049a000 to 0x947d0000
[0003.080] I> Updated bpmp info to DTB
[0003.085] I> Ramdisk: Base: 0x947d0000; Size: 0x0
[0003.090] I> Updated initrd info to DTB
[0003.094] W> WARN: Fail to override "console=none" in commandline
[0003.099] I> Active rootfs suffix: 
[0003.103] E> tegrabl_linuxboot_add_disp_param, du 1 failed to get display params
[0003.110] E> tegrabl_linuxboot_add_disp_param, du 1 failed to get display params
[0003.117] I> disabled_core_mask: 0xffffff0c
[0003.121] W> No valid slot number is found in scratch register
[0003.127] W> Return default slot: _a
[0003.130] I> Active slot suffix: 
[0003.133] I> add_boot_slot_suffix: slot_suffix = 
[0003.138] I> Linux Cmdline: console=ttyS0,115200 root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 isolcpus=1-2  video=tegrafb earlycon=uart8250,mmio32,0x3100000 nvdumper_reserved=0x1772e0000 gpt rootfs.slot_suffix= tegra_fbmem=0x800000@0x96085000 lut_mem=0x2008@0x96081000 usbcore.old_scheme_first=1 tegraid=18.1.2.0.0 maxcpus=6 no_console_suspend boot.slot_suffix= boot.ratchetvalues=0.2031647.1 vpr_resize bl_prof_dataptr=0x10000@0x175840000 sdhci_tegra.en_boot_part_access=1 
[0003.185] I> Updated bootarg info to DTB
[0003.189] W> MAC addr invalid!
[0003.192] E> Failed to get WIFI MAC address
[0003.196] W> MAC addr invalid!
[0003.198] E> Failed to get Bluetooth MAC address
[0003.203] I> eeprom_get_mac_addr: MAC (type: 2): 48:b0:2d:62:80:6a
[0003.209] E> Found no plugin manager ids in source DT
[0003.214] W> Add plugin manager ids from board info
[0003.219] W> "plugin-manager" doesn't exist, creating
[0003.224] W> "ids" doesn't exist, creating
[0003.228] W> "connection" doesn't exist, creating
[0003.232] W> "configs" doesn't exist, creating
[0003.236] I> create_pm_ids: id: 3636-0001-300-H, len: 15
[0003.242] I> config: mem-type:00,power-config:00,misc-config:00,modem-config:00,touch-config:00,display-config:00,, len: 93
[0003.252] I> Adding plugin-manager/ids/3636-0001-300=/i2c@c250000:module@0x50
[0003.260] W> "i2c@c250000" doesn't exist, creating
[0003.264] W> "module@0x50" doesn't exist, creating
[0003.270] I> Adding plugin-manager/ids/3636-0001-300-H
[0003.276] I> Adding plugin-manager/configs/3636-mem-type 00
[0003.282] I> Adding plugin-manager/configs/3636-power-config 00
[0003.287] I> Adding plugin-manager/configs/3636-misc-config 00
[0003.293] I> Adding plugin-manager/configs/3636-modem-config 00
[0003.299] I> Adding plugin-manager/configs/3636-touch-config 00
[0003.305] I> Adding plugin-manager/configs/3636-display-config 00
[0003.311] I> Adding plugin-manager/cvm
[0003.315] W> "chip-id" doesn't exist, creating
[0003.319] I> Adding plugin-manager/chip-id/A02P
[0003.324] W> "odm-data" doesn't exist, creating
[0003.328] I> Adding /chosen/plugin-manager/odm-data
[0003.336] I> added [base:0x80000000, size:0x70000000] to /memory
[0003.342] I> added [base:0xf0200000, size:0x85600000] to /memory
[0003.348] I> added [base:0x175e00000, size:0x200000] to /memory
[0003.354] I> added [base:0x176600000, size:0x200000] to /memory
[0003.360] I> added [base:0x177000000, size:0x200000] to /memory
[0003.365] I> Updated memory info to DTB
[0003.370] E> add_disp_param: failed to get display params for du=1
[0003.376] W> "reset" doesn't exist, creating
[0003.381] W> "pmc-reset-reason" doesn't exist, creating
[0003.386] W> "pmic-reset-reason" doesn't exist, creating
[0003.392] I> Adding ecid(000000016410b0000800000018fd84c0) to DT
[0003.398] I> disabled_core_mask: 0xffffff0c
[0003.407] I> Add serial number:1424621012576 as DT property
[0003.414] I> Plugin-manager override starting
[0003.419] I> node /plugin-manager/fragement@0 matches
[0003.426] I> node /plugin-manager/fragement@3 matches
[0003.440] I> Disable plugin-manager status in FDT
[0003.444] I> Plugin-manager override finished successfully
[0003.449] I> tegrabl_load_kernel_and_dtb: Done
[0003.494] I> Kernel EP: 0x80600000, DTB: 0x80000000


U-Boot 2020.04-g4335beb (Apr 17 2022 - 02:21:01 -0700)

SoC: tegra186
Model: NVIDIA P3636-0001
Board: NVIDIA P3636-0001
DRAM:  3.8 GiB
MMC:   sdhci@3400000: 1, sdhci@3460000: 0
Loading Environment from MMC... *** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   
Warning: ethernet@2490000 using MAC address from ROM
eth0: ethernet@2490000
Hit any key to stop autoboot:  0 
Card did not respond to voltage select!
switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:1...
maximum number of regions parsed, aborting
starting USB...
No working controllers found
USB is stopped. Please issue 'usb start' first.

Device 0: Vendor: 0x15b7 Rev: 234100WD Prod: 22072Q450005        
            Type: Hard Disk
            Capacity: 238475.1 MB = 232.8 GB (488397168 x 512)
... is now current device
Scanning nvme 0:1...
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
2017 bytes read in 6 ms (328.1 KiB/s)
L4T boot options
1:      archlinux nvme
2:      archlinuxarm nvme forecr
3:      archlinuxarm nvme l4t
4:      archlinuxarm nvme nodtb
5:      archlinuxarm nvme minimum
6:      archlinux nvme fallback
Enter choice: 3
3:      archlinuxarm nvme l4t
Retrieving file: /initramfs-linux.img
7230736 bytes read in 55 ms (125.4 MiB/s)
Retrieving file: /Image
41071104 bytes read in 499 ms (78.5 MiB/s)
append: console=ttyS0,115200 root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 isolcpus=1-2  video=tegrafb earlycon=uart8250,mmio32,0x3100000 nvdumper_reserved=0x1772e0000 gpt rootfs.slot_suffix= tegra_fbmem=0x800000@0x96085000 lut_mem=0x2008@0x96081000 usbcore.old_scheme_first=1 tegraid=18.1.2.0.0 maxcpus=6 no_console_suspend boot.slot_suffix= boot.ratchetvalues=0.2031647.1 vpr_resize bl_prof_dataptr=0x10000@0x175840000 sdhci_tegra.en_boot_part_access=1 root=/dev/nvme0p2 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0
Retrieving file: /dtbs/nvidia/tegra186-bpmp-p3636-0001-a00-00.dtb
113244 bytes read in 11 ms (9.8 MiB/s)
## Flattened Device Tree blob at 88400000
   Booting using the fdt blob at 0x88400000
   Using Device Tree in place at 0000000088400000, end 000000008841ea5b
copying carveout for /host1x@13e00000/display-hub@15200000/display@15200000...
copying carveout for /host1x@13e00000/display-hub@15200000/display@15210000...
copying carveout for /host1x@13e00000/display-hub@15200000/display@15220000...
Can't set DT prop /bpmp/carveout-start: FDT_ERR_BADOFFSET

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0000000100 [0x411fd073]
[    0.000000] Linux version 5.19.8-1-aarch64-ARCH (builduser@leming) (aarch64-unknown-linux-gnu-gcc (GCC) 12.1.0, GNU ld (GNU Binutils) 2.38) #1 SMP PREEMPT Thu Sep 8 18:20:33 MDT 2022
[    0.000000] earlycon: uart8250 at MMIO32 0x0000000003100000 (options '')
[    0.000000] printk: bootconsole [uart8250] enabled
[    0.000000] efi: UEFI not found.
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000080000000-0x00000000ffffffff]
[    0.000000]   DMA32    empty
[    0.000000]   Normal   [mem 0x0000000100000000-0x00000001771fffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000080000000-0x00000000efffffff]
[    0.000000]   node   0: [mem 0x00000000f0200000-0x00000001757fffff]
[    0.000000]   node   0: [mem 0x0000000175e00000-0x0000000175ffffff]
[    0.000000]   node   0: [mem 0x0000000176600000-0x00000001767fffff]
[    0.000000]   node   0: [mem 0x0000000177000000-0x00000001771fffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000001771fffff]
[    0.000000] On node 0, zone DMA: 512 pages in unavailable ranges
[    0.000000] On node 0, zone Normal: 1536 pages in unavailable ranges
[    0.000000] On node 0, zone Normal: 1536 pages in unavailable ranges
[    0.000000] On node 0, zone Normal: 2048 pages in unavailable ranges
[    0.000000] On node 0, zone Normal: 3584 pages in unavailable ranges
[    0.000000] cma: Reserved 64 MiB at 0x00000000fc000000
[    0.000000] Failed to find device node for boot cpu
[    0.000000] missing boot CPU MPIDR, not enabling secondaries
[    0.000000] percpu: Embedded 21 pages/cpu s45480 r8192 d32344 u86016
[    0.000000] Detected PIPT I-cache on CPU0
[    0.000000] CPU features: detected: Spectre-v2
[    0.000000] CPU features: detected: Spectre-v4
[    0.000000] CPU features: detected: Spectre-BHB
[    0.000000] CPU features: detected: ARM erratum 1742098
[    0.000000] CPU features: detected: ARM errata 1165522, 1319367, or 1530923
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 990776
[    0.000000] Kernel command line: console=ttyS0,115200 root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 isolcpus=1-2  video=tegrafb earlycon=uart8250,mmio32,0x3100000 nvdumper_reserved=0x1772e0000 gpt rootfs.slot_suffix= tegra_fbmem=0x800000@0x96085000 lut_mem=0x2008@0x96081000 usbcore.old_scheme_first=1 tegraid=18.1.2.0.0 maxcpus=6 no_console_suspend boot.slot_suffix= boot.ratchetvalues=0.2031647.1 vpr_resize bl_prof_dataptr=0x10000@0x175840000 sdhci_tegra.en_boot_part_access=1 root=/dev/nvme0p2 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0
[    0.000000] Unknown kernel command line parameters "vpr_resize nvdumper_reserved=0x1772e0000 tegra_fbmem=0x800000@0x96085000 lut_mem=0x2008@0x96081000 tegraid=18.1.2.0.0 bl_prof_dataptr=0x10000@0x175840000", will be passed to user space.
[    0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
[    0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] software IO TLB: mapped [mem 0x00000000f8000000-0x00000000fc000000] (64MB)
[    0.000000] Memory: 3768076K/4026368K available (19328K kernel code, 4140K rwdata, 9868K rodata, 6592K init, 946K bss, 192756K reserved, 65536K cma-reserved)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] rcu: Preemptible hierarchical RCU implementation.
[    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=64 to nr_cpu_ids=1.
[    0.000000]  Trampoline variant of Tasks RCU enabled.
[    0.000000]  Tracing variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 100 jiffies.
[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
[    0.000000] timer_probe: no matching timers found
[    0.000000] Kernel panic - not syncing: Unable to initialise architected timer.
[    0.000000] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.19.8-1-aarch64-ARCH #1
[    0.000000] Call trace:
[    0.000000]  dump_backtrace+0xb4/0x120
[    0.000000]  show_stack+0x18/0x50
[    0.000000]  dump_stack_lvl+0x64/0x80
[    0.000000]  dump_stack+0x18/0x34
[    0.000000]  panic+0x140/0x308
[    0.000000]  time_init+0x30/0x50
[    0.000000]  start_kernel+0x380/0x588
[    0.000000]  __primary_switched+0xa4/0xac
[    0.000000] ---[ end Kernel panic - not syncing: Unable to initialise architected timer. ]---

EDIT: corrected NVMe path

@GeorgeRaven,

I’m the U-Boot PIC for NVIDIA - if you are George Onoufriou then we’ve talked about porting downstream (L4T) U-Boot P3636 support to upstream (Denx) U-Boot via email.

If you are using a baseboard that’s not exactly the same as our devkit (P3509) board, then you’ll need to find the schematics for that board, and find out where they’ve attached the SD-card slot, which GPIOs it uses (CD, WP, power, etc.) and what power rail it’s connected to. Then you’ll need to modify the DTB to add those values (sdhci@3400000 node, etc.), and add code to PMIC init in p3636-0001.c to enable SD-card voltage. But as Jerry said, we don’t ship our TX2 NX with SD-card support (no slot on the P3636 module), so we don’t support it - it’s up to you to do that.

It might be easier for you to ignore SD, and use USB and NVMe for any other storage needs. Note that U-Boot is already on eMMC, in the ‘kernel’ or ‘LNXNAME’ partition, along with all the other boot components needed to boot the board (DTBs, MB2, CBoot, etc.). If you don’t want the system.img (APP partition) on eMMC, you’ll need to change the flash_l4t_t186.xml flash config file to remove it. But if you don’t need the extra space on eMMC (i.e. aren’t going to use the APP space for anything else), you can leave it as-is, and U-Boot will load the kernel/kernel-dtb/initrd, etc. via extlinux.conf on the first boot device it finds (see boot_targets in the U-Boot environment).

HTH,
Tom

1 Like

Hey there again Tom,
Yes I am indeed.

Yeah I was experimenting around and it does seem to be significantly easier to ignore the SD card for now until I have more time to enable and write whats missing of the SD card spec. Thanks for those more specific instructions I will be sure to follow up on those a little later to eventually get the SD card working for the purposes of quick recovery of the device and fallbacks, but I suppose as you said I could use USB instead which could be a better option if that does not work out.

I currently disable the app partition loading anyway by removing the extlinux directory so that the bootloader does not find and load Ubuntu (thanks for that tidbit Jerry!). I think that is a good suggestion, I did not know you could disable the partition entirely! That is very beneficial since I wont have to lug around all the assorted files that will simply not be used so I will definitely do that.

Yeah its rough working in the intersection between the Jetson and its carrier along with being inexperienced in doing so, but I think I am just about there.

I can now:

  • Compile my own U-Boot for this board (or others as necessary for testing)
  • Flash it specifically onto the board without having to re-flash everything (which makes iteration so much faster)
  • Configure where the bootloader is going to boot from (with the exception of SD card)
  • Configure extlinux to tell the bootloader where the linux kernel, initramfs, and the DTB are along with some additional kernel parameters

Now I just need to ensure the kernel ( 5.19.8-1-aarch64-ARCH) is loaded properly which has given me more grief that I would have expected (now seemingly hanging after /init), but im sure I will get there after a bit more research and trials of different configurations.

Thanks Tom & Jerry!

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.