================================================================================ || Generate Massflash Image in the master host: || || Requires the Jetson connected in RCM mode. || ================================================================================ Generating massflash command without Jetson device connected: BOARDID=3448 BOARDSKU=0002 FAB=400 BOARDREV= FUSELEVEL=fuselevel_production PRODUCTID= +------------------------------------------------------------------------------- | Step 1: Generate Command File +------------------------------------------------------------------------------- scala cmd =-x 0x21 -y PKC -u Product03/rsa_priv.pem jetson-nano-devkit-emmc mmcblk0p1 ############################################################################### # L4T BSP Information: # R32 , REVISION: 5.1 ############################################################################### Board ID(3448) version(400) sku(0002) product_id() copying bctfile(/home/scala/work/NVT210_07_20/bsp/bootloader/t210ref/BCT/P3448_A00_lpddr4_204Mhz_P987.cfg)... done. copying bootloader(/home/scala/work/NVT210_07_20/bsp/bootloader/t210ref/cboot.bin)... done. copying initrd(/home/scala/work/NVT210_07_20/bsp/bootloader/l4t_initrd.img)... done. populating kernel to rootfs... done. populating initrd to rootfs... done. populating /home/scala/work/NVT210_07_20/bsp/kernel/dtb/tegra210-p3448-0002-p3449-0000-b00.dtb to rootfs... done. Making Boot image... done. Existing sosfile(/home/scala/work/NVT210_07_20/bsp/bootloader/nvtboot_recovery.bin) reused. copying tegraboot(/home/scala/work/NVT210_07_20/bsp/bootloader/t210ref/nvtboot.bin)... done. copying cpu_bootloader(/home/scala/work/NVT210_07_20/bsp/bootloader/t210ref/cboot.bin)... done. copying bpffile(/home/scala/work/NVT210_07_20/bsp/bootloader/t210ref/sc7entry-firmware.bin)... done. Existing badpagefile(/home/scala/work/NVT210_07_20/bsp/bootloader/badpage.bin) reused. copying wb0boot(/home/scala/work/NVT210_07_20/bsp/bootloader/t210ref/warmboot.bin)... done. Existing tosfile(/home/scala/work/NVT210_07_20/bsp/bootloader/tos-mon-only.img) reused. Existing eksfile(/home/scala/work/NVT210_07_20/bsp/bootloader/eks.img) reused. copying dtbfile(/home/scala/work/NVT210_07_20/bsp/kernel/dtb/tegra210-p3448-0002-p3449-0000-b00.dtb)... done. Copying nv_boot_control.conf to rootfs Making system.img... populating rootfs from /home/scala/work/NVT210_07_20/bsp/rootfs ... done. populating /boot/extlinux/extlinux.conf ... done. Sync'ing system.img ... done. Converting RAW image to Sparse image... done. system.img built successfully. Existing tbcfile(/home/scala/work/NVT210_07_20/bsp/bootloader/nvtboot_cpu.bin) reused. copying tbcdtbfile(/home/scala/work/NVT210_07_20/bsp/kernel/dtb/tegra210-p3448-0002-p3449-0000-b00.dtb)... done. copying cfgfile(/home/scala/work/NVT210_07_20/bsp/bootloader/t210ref/cfg/flash_l4t_t210_emmc_p3448.xml) to flash.xml... done. copying flasher(/home/scala/work/NVT210_07_20/bsp/bootloader/t210ref/cboot.bin)... done. Existing flashapp(/home/scala/work/NVT210_07_20/bsp/bootloader/tegraflash.py) reused. ./tegraflash.py --bl cboot.bin --bct P3448_A00_lpddr4_204Mhz_P987.cfg --odmdata 0x94000 --bldtb kernel_tegra210-p3448-0002-p3449-0000-b00.dtb.signed --applet nvtboot_recovery.bin --cmd "flash; reboot" --cfg flash.xml --chip 0x21 --bins "EBT cboot.bin; DTB tegra210-p3448-0002-p3449-0000-b00.dtb" --key "/home/scala/work/NVT210_07_20/bsp/Product03/rsa_priv.pem" saving flash command in /home/scala/work/NVT210_07_20/bsp/bootloader/flashcmd.txt saving Windows flash command to /home/scala/work/NVT210_07_20/bsp/bootloader/flash_win.bat *** no-flash flag enabled. Exiting now... *** cmd=./tegraflash.py --bl cboot.bin --bct P3448_A00_lpddr4_204Mhz_P987.cfg --odmdata 0x94000 --bldtb kernel_tegra210-p3448-0002-p3449-0000-b00.dtb.signed --applet nvtboot_recovery.bin --cmd "flash; reboot" --cfg flash.xml --chip 0x21 --bins "EBT cboot.bin; DTB tegra210-p3448-0002-p3449-0000-b00.dtb" --key "/home/scala/work/NVT210_07_20/bsp/Product03/rsa_priv.pem" +------------------------------------------------------------------------------- | Step 2: Sign Binaries +------------------------------------------------------------------------------- ./tegraflash.py --bl cboot.bin --bct P3448_A00_lpddr4_204Mhz_P987.cfg --odmdata 0x94000 --bldtb kernel_tegra210-p3448-0002-p3449-0000-b00.dtb.signed --applet nvtboot_recovery.bin --cmd " sign" --cfg flash.xml --chip 0x21 --bins "EBT cboot.bin; DTB tegra210-p3448-0002-p3449-0000-b00.dtb" --key "/home/scala/work/NVT210_07_20/bsp/Product03/rsa_priv.pem" --keep --skipuid Welcome to Tegra Flash version 1.0.0 Type ? or help for help and q or quit to exit Use ! to execute system commands [ 0.0057 ] tegrasign --key /home/scala/work/NVT210_07_20/bsp/Product03/rsa_priv.pem --getmode mode.txt [ 0.0064 ] PKC key in Open SSL format [ 0.0069 ] Key size is 256 bytes [ 0.0127 ] [ 0.0130 ] Generating RCM messages [ 0.0155 ] tegrarcm --listrcm rcm_list.xml --chip 0x21 0 --download rcm nvtboot_recovery.bin 0 0 [ 0.0164 ] RCM 0 is saved as rcm_0.rcm [ 0.0168 ] RCM 1 is saved as rcm_1.rcm [ 0.0172 ] List of rcm files are saved in rcm_list.xml [ 0.0210 ] [ 0.0211 ] Signing RCM messages [ 0.0218 ] tegrasign --key /home/scala/work/NVT210_07_20/bsp/Product03/rsa_priv.pem --list rcm_list.xml --pubkeyhash pub_key.key [ 0.0225 ] PKC key in Open SSL format [ 0.0227 ] Key size is 256 bytes [ 0.0231 ] Saving public key in pub_key.key [ 0.1136 ] Saving public key Hash as binary: pub_key.hash [ 0.1140 ] Saving public key Hash as big-endian text: pub_key.hash_txt [ 0.1144 ] Saving public key Hash as little-endian(sysfs) text: pub_key.hash_sysfs_txt [ 0.1208 ] [ 0.1208 ] Copying signature to RCM mesages [ 0.1224 ] tegrarcm --chip 0x21 0 --updatesig rcm_list_signed.xml --pubkeyhash pub_key.key [ 0.1292 ] [ 0.1292 ] Parsing partition layout [ 0.1311 ] tegraparser --pt flash.xml.tmp [ 0.1367 ] [ 0.1368 ] Creating list of images to be signed [ 0.1389 ] tegrahost --chip 0x21 0 --partitionlayout flash.xml.bin --list images_list.xml [ 0.1529 ] [ 0.1529 ] Generating signatures [ 0.1539 ] tegrasign --key /home/scala/work/NVT210_07_20/bsp/Product03/rsa_priv.pem --list images_list.xml --pubkeyhash pub_key.key [ 0.1547 ] PKC key in Open SSL format [ 0.1550 ] Key size is 256 bytes [ 0.1555 ] Saving public key in pub_key.key [ 0.8814 ] Saving public key Hash as binary: pub_key.hash [ 0.8818 ] Saving public key Hash as big-endian text: pub_key.hash_txt [ 0.8822 ] Saving public key Hash as little-endian(sysfs) text: pub_key.hash_sysfs_txt [ 0.8889 ] [ 0.8890 ] Generating br-bct [ 0.8946 ] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.cfg --chip 0x21 0 [ 0.8956 ] Copying Sdram info from 2 to 3 set [ 0.9048 ] [ 0.9049 ] Updating boot device parameters [ 0.9056 ] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updatedevparam flash.xml.bin [ 0.9063 ] Warning: No sdram params [ 0.9127 ] [ 0.9127 ] Updating bl info [ 0.9135 ] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updateblinfo flash.xml.bin --updatesig images_list_signed.xml [ 0.9210 ] [ 0.9211 ] Updating secondary storage information into bct [ 0.9219 ] tegraparser --pt flash.xml.bin --chip 0x21 0 --updatecustinfo P3448_A00_lpddr4_204Mhz_P987.bct [ 0.9288 ] [ 0.9288 ] Updating Odmdata [ 0.9296 ] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updatefields Odmdata =0x94000 [ 0.9307 ] Warning: No sdram params [ 0.9371 ] [ 0.9371 ] Get Signed section of bct [ 0.9379 ] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.bct --chip 0x21 0 --listbct bct_list.xml [ 0.9434 ] [ 0.9435 ] Signing BCT [ 0.9456 ] tegrasign --key /home/scala/work/NVT210_07_20/bsp/Product03/rsa_priv.pem --list bct_list.xml --pubkeyhash pub_key.key [ 0.9465 ] PKC key in Open SSL format [ 0.9467 ] Key size is 256 bytes [ 0.9470 ] Saving public key in pub_key.key [ 0.9944 ] Saving public key Hash as binary: pub_key.hash [ 0.9949 ] Saving public key Hash as big-endian text: pub_key.hash_txt [ 0.9953 ] Saving public key Hash as little-endian(sysfs) text: pub_key.hash_sysfs_txt [ 1.0011 ] [ 1.0011 ] Updating BCT with signature [ 1.0024 ] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updatesig bct_list_signed.xml --pubkeyhash pub_key.key [ 1.0088 ] [ 1.0088 ] Copying signatures [ 1.0097 ] tegrahost --chip 0x21 0 --partitionlayout flash.xml.bin --updatesig images_list_signed.xml --pubkeyhash pub_key.key [ 1.0192 ] [ 1.0193 ] Updating BFS information on BCT [ 1.0201 ] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updatebfsinfo flash.xml.bin --pubkeyhash pub_key.key [ 1.0210 ] BFS: [ 1.0223 ] 0: [PT ] flash.xml.bin (size=4349/131072) [ 1.0232 ] 1: [TBC] nvtboot_cpu.bin.signed (size=65760/196608) [ 1.0236 ] 2: [RP1] kernel_tegra210-p3448-0002-p3449-0000-b00.dtb.signed (size=244352/1048576) [ 1.0247 ] 3: [EBT] cboot.bin.signed (size=485120/655360) [ 1.0256 ] 4: [WB0] warmboot.bin.signed (size=3952/131072) [ 1.0260 ] 5: [BPF] sc7entry-firmware.bin.signed (size=3376/262144) [ 1.0262 ] BFS0: 131072 @ 2560 SUM efb3d71a over 2883584 bytes [ 1.0269 ] BFS: [ 1.0280 ] 0: [PT-1] flash.xml.bin (size=4349/131072) [ 1.0283 ] 1: [TBC-1] nvtboot_cpu.bin.signed (size=65760/196608) [ 1.0286 ] 2: [RP1-1] kernel_tegra210-p3448-0002-p3449-0000-b00.dtb.signed (size=244352/1048576) [ 1.0290 ] 3: [EBT-1] cboot.bin.signed (size=485120/655360) [ 1.0295 ] 4: [WB0-1] warmboot.bin.signed (size=3952/131072) [ 1.0298 ] 5: [BPF-1] sc7entry-firmware.bin.signed (size=3376/262144) [ 1.0300 ] 8: [VER_b] emmc_bootblob_ver.txt (size=101/32768) [ 1.0305 ] 9: [VER] emmc_bootblob_ver.txt (size=101/32768) [ 1.0307 ] BFS1: 131072 @ 8704 SUM efb3d71a over 2981888 bytes [ 1.0315 ] KFS: [ 1.0628 ] 0: [DTB] kernel_tegra210-p3448-0002-p3449-0000-b00.dtb.signed (size=244352/1048576) [ 1.0634 ] 1: [TOS] tos-mon-only.img.signed (size=54448/6291456) [ 1.0636 ] 2: [EKS] eks.img (size=1028/81920) [ 1.0639 ] 3: [LNX] boot.img.signed (size=679936/67092480) [ 1.0646 ] KFS0: 1048576 @ 29376546 SUM a8a6b48a over 8101888 bytes [ 1.0687 ] KFS: [ 1.0965 ] 0: [DTB-1] kernel_tegra210-p3448-0002-p3449-0000-b00.dtb.signed (size=244352/1048576) [ 1.0972 ] 1: [TOS-1] tos-mon-only.img.signed (size=54448/6291456) [ 1.0976 ] 2: [EKS-1] eks.img (size=1028/81920) [ 1.0978 ] 3: [LNX-1] boot.img.signed (size=679936/67092480) [ 1.0985 ] KFS1: 1048576 @ 29522082 SUM a8a6b48a over 8101888 bytes [ 1.1093 ] [ 1.1093 ] Copying signed file in /home/scala/work/NVT210_07_20/bsp/bootloader/signed Keep temporary directory /home/scala/work/NVT210_07_20/bsp/bootloader/29342 +------------------------------------------------------------------------------- | Step 3: Generate Mass-flash scripts +------------------------------------------------------------------------------- +------------------------------------------------------------------------------- | Step 4: Generate Mass-flash image tarball +-------------------------------------------------------------------------------