# SSDからの起動 Seeed社のJ202を使ってシステムをSSDに構築してSSDから起動するように対応する。 (2022/8/12) 8/10にeMMCでセットアップした後で、SSDをフォーマットし、eMMCをSSDにコピーしたつもりの状態。 その「フォーマット」には、 ``` $ mke2fs -F -t ext4 /dev/nvme0n1p1 ``` などとやったはず。そして、「コピー」には、 https://github.com/jetsonhacks/rootOnNVMe.git の**copy-rootfs-ssd.sh**を使用した。 今、SSDは/jetson_ssdにSマウントしているので、/jetson_ssd/boot/extlinux/extlinux.confを編集してnvme0n1p1に変更する。 デバッグUARTを接続して、起動時に[Enter]を入力すると、U-Bootのコマンドを受け付ける。 ``` Tegra210 (P3450-0000) # printenv boot_targets boot_targets=mmc1 mmc0 usb0 nvme0 pxe dhcp ``` と見えるので、boot_targetsの最初にnvme0を指定してブート。 ``` Tegra210 (P3450-0000) # setenv boot_targets nvme0 mmc0 usb0 Tegra210 (P3450-0000) # printenv boot_targets boot_targets=nvme0 mmc0 usb0 Tegra210 (P3450-0000) # saveenv Saving Environment to MMC... Writing to MMC(0)... OK Tegra210 (P3450-0000) # boot ``` ``` 000.199] [L4T TegraBoot] (version 00.00.2018.01-l4t-8728f3cb) [0000.205] Processing in cold boot mode Bootloader 2 [0000.210] A02 Bootrom Patch rev = 1023 [0000.213] Power-up reason: pmc por [0000.216] No Battery Present [0000.219] pmic max77620 reset reason [0000.222] pmic max77620 NVERC : 0x50 [0000.226] RamCode = 0 [0000.228] Platform has DDR4 type RAM [0000.231] max77620 disabling SD1 Remote Sense [0000.236] Setting DDR voltage to 1125mv [0000.239] Serial Number of Pmic Max77663: 0x1e1771 [0000.247] Entering ramdump check [0000.250] Get RamDumpCarveOut = 0x0 [0000.253] RamDumpCarveOut=0x0, RamDumperFlag=0xe59ff3f8 [0000.259] Last reboot was clean, booting normally! [0000.263] Sdram initialization is successful [0000.267] SecureOs Carveout Base=0x00000000ff800000 Size=0x00800000 [0000.273] Lp0 Carveout Base=0x00000000ff780000 Size=0x00001000 [0000.279] BpmpFw Carveout Base=0x00000000ff700000 Size=0x00080000 [0000.285] GSC1 Carveout Base=0x00000000ff600000 Size=0x00100000 [0000.291] GSC2 Carveout Base=0x00000000ff500000 Size=0x00100000 [0000.297] GSC4 Carveout Base=0x00000000ff400000 Size=0x00100000 [0000.303] GSC5 Carveout Base=0x00000000ff300000 Size=0x00100000 [0000.308] GSC3 Carveout Base=0x000000017f300000 Size=0x00d00000 [0000.325] RamDump Carveout Base=0x00000000ff280000 Size=0x00080000 [0000.331] Platform-DebugCarveout: 0 [0000.334] Nck Carveout Base=0x00000000ff080000 Size=0x00200000 [0000.340] Non secure mode, and RB not enabled. [0000.344] *** Booting BFS0. [0000.346] Initialize FailControl [0000.349] Read PT from (0:3) [0000.364] Csd NumOfBlocks=0 [0000.403] PT crc32 and magic check passed. [0000.407] Using BFS PT to query partitions [0000.412] PT: Partition LNX NOT found ! [0000.415] *** Booting KFS0. [0000.418] NvTbootFailControlDoFailover: No failover; Continuing ... [0000.424] BoardID = 3448, SKU = 0x2 [0000.427] Not Nano-SD or !QSPI-ONLY, check GPT table first ... [0000.433] Read GPT from (0:3) [0000.441] Using GPT Primary to query partitions [0000.446] NvTbootFailControlDoFailover: No failover; Continuing ... [0000.452] Loading Tboot-CPU binary [0000.458] Verifying TBC in OdmNonSecureSBK mode [0000.468] Bootloader load address is 0xa0000000, entry address is 0xa0000258 [0000.475] Bootloader downloaded successfully. [0000.479] Downloaded Tboot-CPU binary to 0xa0000258 [0000.484] MAX77620_GPIO5 configured [0000.487] CPU power rail is up [0000.490] CPU clock enabled [0000.494] Performing RAM repair [0000.497] Updating A64 Warmreset Address to 0xa00002e9 [0000.502] BoardID = 3448, SKU = 0x2 [0000.505] Not Nano-SD or !QSPI-ONLY, check GPT table first ... [0000.511] NvTbootFailControlDoFailover: No failover; Continuing ... [0000.517] Loading NvTbootBootloaderDTB [0000.534] Verifying NvTbootBootloaderDTB in OdmNonSecureSBK mode [0000.606] Bootloader DTB Load Address: 0x83000000 [0000.610] BoardID = 3448, SKU = 0x2 [0000.614] Not Nano-SD or !QSPI-ONLY, check GPT table first ... [0000.619] Loading NvTbootKernelDTB [0000.636] Verifying NvTbootKernelDTB in OdmNonSecureSBK mode [0000.707] Kernel DTB Load Address: 0x83100000 [0000.712] BoardID = 3448, SKU = 0x2 [0000.715] Not Nano-SD or !QSPI-ONLY, check GPT table first ... [0000.721] NvTbootFailControlDoFailover: No failover; Continuing ... [0000.728] Loading cboot binary [0000.739] Verifying EBT in OdmNonSecureSBK mode [0000.780] Bootloader load address is 0x92c00000, entry address is 0x92c00258 [0000.787] Bootloader downloaded successfully. [0000.792] BoardID = 3448, SKU = 0x2 [0000.795] Not Nano-SD or !QSPI-ONLY, check GPT table first ... [0000.801] NvTbootFailControlDoFailover: No failover; Continuing ... [0000.807] PT: Partition NCT NOT found ! [0000.811] Warning: Find Partition via PT Failed [0000.815] Next binary entry address: 0x92c00258 [0000.820] BoardId: 3448 [0000.824] Overriding pmu board id with proc board id [0000.829] Display board id is not available [0000.833] BoardID = 3448, SKU = 0x2 [0000.836] Not Nano-SD or !QSPI-ONLY, check GPT table first ... [0000.842] NvTbootFailControlDoFailover: No failover; Continuing ... [0000.856] Verifying SC7EntryFw in OdmNonSecureSBK mode [0000.912] /bpmp deleted [0000.914] SC7EntryFw header found loaded at 0xff700000 [0001.102] OVR2 PMIC [0001.104] Bpmp FW successfully loaded [0001.107] BoardID = 3448, SKU = 0x2 [0001.111] Not Nano-SD or !QSPI-ONLY, check GPT table first ... [0001.117] NvTbootFailControlDoFailover: No failover; Continuing ... [0001.124] WB0 init successfully at 0xff780000 [0001.128] Verifying NvTbootWb0 in OdmNonSecureSBK mode [0001.133] Set NvDecSticky Bits [0001.137] GSC2 address ff53fffc value c0edbbcc [0001.143] GSC MC Settings done [0001.146] BoardID = 3448, SKU = 0x2 [0001.149] Not Nano-SD or !QSPI-ONLY, check GPT table first ... [0001.156] TOS Image length 53680 [0001.159] Monitor size 53680 [0001.162] OS size 0 [0001.167] Secure Os AES-CMAC Verification Success! [0001.172] TOS image cipher info: plaintext [0001.175] Loading and Validation of Secure OS Successful [0001.191] SC7 Entry Firmware - 0xff700000, 0x4000 [0001.196] NvTbootPackSdramParams: start. [0001.201] NvTbootPackSdramParams: done. [0001.205] Tegraboot started after 128443 us [0001.209] Basic modules init took 740986 us [0001.213] Sec Bootdevice Read Time = 54 ms, Read Size = 3682 KB [0001.219] Sec Bootdevice Write Time = 0 ms, Write Size = 0 KB [0001.224] Next stage binary read took 7391 us [0001.228] Carveout took -34784 us [0001.231] CPU initialization took 392208 us [0001.235] Total time taken by TegraBoot 1105801 us [0001.240] Starting CPU & Halting co-processor 64NOTICE: BL31: v1.3(release):b5eeb33 NOTICE: BL31: Built : 14:22:20, Apr 20 2022 ERROR: Error initializing runtime service trusty_fast [0001.362] RamCode = 0 [0001.367] LPDDR4 Training: Read DT: Number of tables = 2 [0001.372] EMC Training (SRC-freq: 204000; DST-freq: 1600000) [0001.385] EMC Training Successful [0001.388] 408000 not found in DVFS table [0001.394] RamCode = 0 [0001.397] DT Write: emc-table@204000 succeeded [0001.403] DT Write: emc-table@1600000 succeeded [0001.407] LPDDR4 Training: Write DT: Number of tables = 2 [0001.450] [0001.451] Debug Init done [0001.453] Marked DTB cacheable [0001.456] Bootloader DTB loaded at 0x83000000 [0001.461] Marked DTB cacheable [0001.464] Kernel DTB loaded at 0x83100000 [0001.468] DeviceTree Init done [0001.481] Pinmux applied successfully [0001.485] gicd_base: 0x50041000 [0001.489] gicc_base: 0x50042000 [0001.492] Interrupts Init done [0001.496] Using base:0x60005090 & irq:208 for tick-timer [0001.501] Using base:0x60005098 for delay-timer [0001.506] platform_init_timer: DONE [0001.509] Timer(tick) Init done [0001.513] osc freq = 38400 khz [0001.517] [0001.518] Welcome to L4T Cboot [0001.521] [0001.522] Cboot Version: 00.00.2018.01-t210-a2f2e4b8 [0001.527] calling constructors [0001.530] initializing heap [0001.532] initializing threads [0001.535] initializing timers [0001.538] creating bootstrap completion thread [0001.543] top of bootstrap2() [0001.546] CPU: ARM Cortex A57 [0001.548] CPU: MIDR: 0x411FD071, MPIDR: 0x80000000 [0001.553] initializing platform [0001.607] Config for emmc ddr50 mode completed [0001.611] sdmmc bdev is already initialized [0001.615] Enable APE clock [0001.618] Un-powergate APE partition [0001.621] of_register: registering tegra_udc to of_hal [0001.626] of_register: registering inv20628-driver to of_hal [0001.632] of_register: registering ads1015-driver to of_hal [0001.638] of_register: registering lp8557-bl-driver to of_hal [0001.643] of_register: registering bq2419x_charger to of_hal [0001.649] of_register: registering bq27441_fuel_gauge to of_hal [0001.661] gpio framework initialized [0001.664] of_register: registering tca9539_gpio to of_hal [0001.669] of_register: registering tca9539_gpio to of_hal [0001.675] of_register: registering i2c_bus_driver to of_hal [0001.680] of_register: registering i2c_bus_driver to of_hal [0001.686] of_register: registering i2c_bus_driver to of_hal [0001.691] pmic framework initialized [0001.695] of_register: registering max77620_pmic to of_hal [0001.700] regulator framework initialized [0001.704] of_register: registering tps65132_bl_driver to of_hal [0001.710] initializing target [0001.716] gpio_driver_register: register 'tegra_gpio_driver' driver [0001.724] board ID = D78, board SKU = 2 [0001.730] fixed regulator driver initialized [0001.748] initializing OF layer [0001.751] NCK carveout not present [0001.754] Skipping dts_overrides [0001.758] of_children_init: Ops found for compatible string nvidia,tegra210-i2c [0001.775] I2C Bus Init done [0001.778] of_children_init: Ops found for compatible string nvidia,tegra210-i2c [0001.788] I2C Bus Init done [0001.791] of_children_init: Ops found for compatible string nvidia,tegra210-i2c [0001.801] I2C Bus Init done [0001.804] of_children_init: Ops found for compatible string nvidia,tegra210-i2c [0001.814] I2C Bus Init done [0001.817] of_children_init: Ops found for compatible string nvidia,tegra210-i2c [0001.827] I2C Bus Init done [0001.830] of_children_init: Ops found for compatible string maxim,max77620 [0001.840] max77620_init using irq 118 [0001.845] register 'maxim,max77620' pmic [0001.849] gpio_driver_register: register 'max77620-gpio' driver [0001.855] of_children_init: Ops found for compatible string nvidia,tegra210-i2c [0001.866] I2C Bus Init done [0001.869] NCK carveout not present [0001.879] Find /i2c@7000c000's alias i2c0 [0001.883] get eeprom at 1-a0, size 256, type 0 [0001.891] Find /i2c@7000c500's alias i2c2 [0001.895] get eeprom at 3-a0, size 256, type 0 [0001.900] get eeprom at 3-ae, size 256, type 0 [0001.904] pm_ids_update: Updating 1,a0, size 256, type 0 [0001.909] I2C slave not started [0001.912] I2C write failed [0001.915] Writing offset failed [0001.918] eeprom_init: EEPROM read failed [0001.922] pm_ids_update: eeprom init failed [0001.926] pm_ids_update: Updating 3,a0, size 256, type 0 [0001.956] pm_ids_update: The pm board id is 3448-0002-401 [0001.963] Adding plugin-manager/ids/3448-0002-401=/i2c@7000c500:module@0x50 [0001.971] pm_ids_update: pm id update successful [0001.976] pm_ids_update: Updating 3,ae, size 256, type 0 [0002.006] eeprom_init: EEPROM incompatible version found [0002.011] pm_ids_update: eeprom init failed [0002.041] eeprom_get_mac: EEPROM invalid MAC address (all 0xff) [0002.047] shim_eeprom_update_mac:267: Failed to update 0 MAC address in DTB [0002.055] eeprom_get_mac: EEPROM invalid MAC address (all 0xff) [0002.061] shim_eeprom_update_mac:267: Failed to update 1 MAC address in DTB [0002.069] updating /chosen/nvidia,ethernet-mac node 48:b0:2d:6b:e3:41 [0002.075] Plugin Manager: Parse ODM data 0x000a4000 [0002.088] shim_cmdline_install: /chosen/bootargs: earlycon=uart8250,mmio32,0x70006000 [0002.102] Find /i2c@7000c000's alias i2c0 [0002.106] get eeprom at 1-a0, size 256, type 0 [0002.115] Find /i2c@7000c500's alias i2c2 [0002.119] get eeprom at 3-a0, size 256, type 0 [0002.123] get eeprom at 3-ae, size 256, type 0 [0002.127] pm_ids_update: Updating 1,a0, size 256, type 0 [0002.133] I2C slave not started [0002.136] I2C write failed [0002.138] Writing offset failed [0002.141] eeprom_init: EEPROM read failed [0002.145] pm_ids_update: eeprom init failed [0002.149] pm_ids_update: Updating 3,a0, size 256, type 0 [0002.180] pm_ids_update: The pm board id is 3448-0002-401 [0002.186] Adding plugin-manager/ids/3448-0002-401=/i2c@7000c500:module@0x50 [0002.193] pm_ids_update: pm id update successful [0002.197] pm_ids_update: Updating 3,ae, size 256, type 0 [0002.227] eeprom_init: EEPROM incompatible version found [0002.233] pm_ids_update: eeprom init failed [0002.263] Add serial number:1421622108052 as DT property [0002.270] Applying platform configs [0002.277] platform-init is not present. Skipping [0002.281] calling apps_init() [0002.302] Found 17 GPT partitions in "sdmmc3_user" [0002.307] Proceeding to Cold Boot [0002.310] starting app android_boot_app [0002.314] Device state: unlocked [0002.317] display console init [0002.326] could not find regulator [0002.329] hdmi cable connected [0002.344] edid read success [0002.362] DT entry for leds-pwm not found [0002.365] edid read success [0002.368] width = 640, height = 480, frequency = 25174825 [0002.374] width = 640, height = 480, frequency = 25174825 [0002.379] width = 640, height = 480, frequency = 25174825 [0002.384] width = 1920, height = 1080, frequency = 148500000 [0002.390] width = 720, height = 480, frequency = 27000000 [0002.395] width = 640, height = 480, frequency = 25174825 [0002.401] width = 720, height = 480, frequency = 26973026 [0002.406] width = 720, height = 480, frequency = 26973026 [0002.411] width = 1280, height = 720, frequency = 74175824 [0002.417] width = 1920, height = 1080, frequency = 148351648 [0002.423] width = 720, height = 576, frequency = 26973026 [0002.428] width = 720, height = 576, frequency = 26973026 [0002.433] width = 1280, height = 720, frequency = 74175824 [0002.439] width = 1920, height = 1080, frequency = 148351648 [0002.444] Best mode Width = 1920, Height = 1080, freq = 148351648 [0002.452] tmds-config node not found [0002.456] pmc_set_io_pad_voltage: Error -2 retrieving platform-io-pad-voltagepropsetting 'avdd-io-hdmi-dp' regulator to 1050000 micro volts [0002.471] setting 'vdd-1v8' regulator to 1800000 micro volts [0002.479] could not find regulator [0002.482] could not find regulator [0002.485] could not find regulator [0002.514] using default cmu settings [0002.517] dc_hdmi_enable, starting HDMI initialisation [0002.523] dc_hdmi_enable, HDMI initialisation complete [0002.528] list and configure display window [0002.537] display console init completed [0002.548] subnode volume_up is not found ! [0002.552] subnode back is not found ! [0002.556] subnode volume_down is not found ! [0002.560] subnode menu is not found ! [0002.563] Gpio keyboard init success [0002.611] found decompressor handler: lz4-legacy [0002.625] decompressing blob (type 1)... [0002.695] load_bmp_blob: panelresolution=1080 type=3 [0002.700] -------> se_aes_verify_sbk_clear: 747 [0002.704] se_aes_verify_sbk_clear: Error [0002.708] SE operation failed [0002.711] bl_battery_charging: connected to external power supply [0002.727] device_query_partition_size: failed to open partition sdmmc3_user:MSC ! [0002.734] MSC Partition not found [0002.744] device_query_partition_size: failed to open partition sdmmc3_user:USP ! [0002.751] USP partition read failed! [0002.755] blob_init: blob-partition USP header read failed [0002.760] android_boot Unable to update recovery partition [0002.765] kfs_getpartname: name = LNX [0002.769] Loading kernel from LNX [0002.862] load kernel from storage [0002.871] decompressor handler not found [0002.904] Successfully loaded kernel and ramdisk images [0002.910] board ID = D78, board SKU = 2 [0002.914] load_bmp_blob: panelresolution=1080 type=3 [0003.410] display bmp image done [0003.413] NCK carveout not present [0003.417] Skipping dts_overrides [0003.420] NCK carveout not present [0003.429] Find /i2c@7000c000's alias i2c0 [0003.433] get eeprom at 1-a0, size 256, type 0 [0003.442] Find /i2c@7000c500's alias i2c2 [0003.446] get eeprom at 3-a0, size 256, type 0 [0003.450] get eeprom at 3-ae, size 256, type 0 [0003.455] pm_ids_update: Updating 1,a0, size 256, type 0 [0003.460] I2C slave not started [0003.463] I2C write failed [0003.466] Writing offset failed [0003.469] eeprom_init: EEPROM read failed [0003.473] pm_ids_update: eeprom init failed [0003.477] pm_ids_update: Updating 3,a0, size 256, type 0 [0003.507] pm_ids_update: The pm board id is 3448-0002-401 [0003.514] Adding plugin-manager/ids/3448-0002-401=/i2c@7000c500:module@0x50 [0003.522] pm_ids_update: pm id update successful [0003.527] pm_ids_update: Updating 3,ae, size 256, type 0 [0003.557] eeprom_init: EEPROM incompatible version found [0003.562] pm_ids_update: eeprom init failed [0003.592] eeprom_get_mac: EEPROM invalid MAC address (all 0xff) [0003.598] shim_eeprom_update_mac:267: Failed to update 0 MAC address in DTB [0003.606] eeprom_get_mac: EEPROM invalid MAC address (all 0xff) [0003.611] shim_eeprom_update_mac:267: Failed to update 1 MAC address in DTB [0003.620] updating /chosen/nvidia,ethernet-mac node 48:b0:2d:6b:e3:41 [0003.626] Plugin Manager: Parse ODM data 0x000a4000 [0003.638] shim_cmdline_install: /chosen/bootargs: earlycon=uart8250,mmio32,0x70006000 [0003.647] Add serial number:1421622108052 as DT property [0003.656] "bpmp" doesn't exist, creating [0003.661] Updated bpmp info to DTB [0003.666] Updated initrd info to DTB [0003.669] "proc-board" doesn't exist, creating [0003.676] Updated board info to DTB [0003.679] "pmu-board" doesn't exist, creating [0003.685] Updated board info to DTB [0003.688] "display-board" doesn't exist, creating [0003.694] Updated board info to DTB [0003.697] "reset" doesn't exist, creating [0003.702] Updated reset info to DTB [0003.706] Cmdline: tegraid=21.1.2.0.0 ddr_die=4096M@2048M section=512M memtype=0 vpr_resize usb_port_owner_info=0 lane_owner_info=0 emc_max_dvfs=0 touch_id=0@63 video=tegrafb no_console_suspend=1 console=ttyS0,115200n8 debug_uartport=lsport,4 earlyprintk=uart8250-32bit,0x70006000 maxcpus=4 usbcore.old_scheme_first=1 lp0_vec=0x1000@0xff780000 core_edp_mv=1125 core_edp_ma=4000 gpt tegra_fbmem=0x800000@0x92cb4000 is_hdmi_initialised=1 [0003.745] DTB cmdline: earlycon=uart8250,mmio32,0x70006000 [0003.750] boot image cmdline: root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 sdhci_tegra.en_boot_part_access=1 nv-auto-config [0003.768] Updated bootarg info to DTB [0003.772] Adding uuid 00000001643c08482400000019fe8400 to DT [0003.777] Adding eks info 0 to DT [0003.783] WARNING: Failed to pass NS DRAM ranges to TOS, err: -7 [0003.789] Updated memory info to DTB [0003.797] set vdd_core voltage to 1125 mv [0003.800] setting 'vdd-core' regulator to 1125000 micro volts [0003.806] Found secure-pmc; disable BPMP U-Boot 2020.04-g4335beb (Apr 20 2022 - 14:22:25 -0700) SoC: tegra210 Model: NVIDIA Jetson Nano Developer Kit Board: NVIDIA P3450-0000 DRAM: 4 GiB MMC: sdhci@700b0000: 1, sdhci@700b0600: 0 Loading Environment from MMC... OK In: serial Out: serial Err: serial Net: No ethernet found. Hit any key to stop autoboot: 0 Device 0: Vendor: 0xc0a9 Rev: P2CR033 Prod: 2114E5940CAD Type: Hard Disk Capacity: 953869.7 MB = 931.5 GB (1953525168 x 512) ... is now current device Scanning nvme 0:1... Found /boot/extlinux/extlinux.conf Retrieving file: /boot/extlinux/extlinux.conf 894 bytes read in 28 ms (30.3 KiB/s) 1: primary kernel Retrieving file: /boot/initrd 7160179 bytes read in 67 ms (101.9 MiB/s) Retrieving file: /boot/Image 34484232 bytes read in 224 ms (146.8 MiB/s) append: tegraid=21.1.2.0.0 ddr_die=4096M@2048M section=512M memtype=0 vpr_resize usb_port_owner_info=0 lane_owner_info=0 emc_max_dvfs=0 touch_id=0@63 video=tegrafb no_console_suspend=1 console=ttyS0,115200n8 debug_uartport=lsport,4 earlyprintk=uart8250-32bit,0x70006000 maxcpus=4 usbcore.old_scheme_first=1 lp0_vec=0x1000@0xff780000 core_edp_mv=1125 core_edp_ma=4000 gpt tegra_fbmem=0x800000@0x92cb4000 is_hdmi_initialised=1 earlycon=uart8250,mmio32,0x70006000 root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 sdhci_tegra.en_boot_part_access=1 nv-auto-config quiet root=/dev/nvme0n1p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 sdhci_tegra.en_boot_part_access=1 nv-auto-config ## Flattened Device Tree blob at 83100000 Booting using the fdt blob at 0x83100000 ERROR: reserving fdt memory region failed (addr=0 size=0) ERROR: reserving fdt memory region failed (addr=0 size=0) Using Device Tree in place at 0000000083100000, end 000000008317ce8d copying carveout for /host1x@50000000/dc@54200000... copying carveout for /host1x@50000000/dc@54240000... Starting kernel ... [ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Linux version 4.9.253-tegra (buildbrain@mobile-u64-5494-d8000) (gcc version 7.3.1 20180425 [linaro-7.3-2018.05 revision d29120a424ecfbc167ef90065c0eeb7f91977701] (Linaro GCC 7.3-2018.05) ) #1 SMP PREEMPT Wed Apr 20 14:25:12 PDT 2022 [ 0.000000] Boot CPU: AArch64 Processor [411fd071] [ 0.000000] OF: fdt:memory scan node memory@80000000, reg size 32, [ 0.000000] OF: fdt: - 80000000 , 7ee00000 [ 0.000000] OF: fdt: - 100000000 , 7f200000 [ 0.000000] Found tegra_fbmem: 00800000@92cb4000 [ 0.000000] earlycon: uart8250 at MMIO32 0x0000000070006000 (options '') [ 0.000000] bootconsole [uart8250] enabled [ 1.164259] tegradc tegradc.1: dpd enable lookup fail:-19 [ 1.395253] imx219 7-0010: imx219_board_setup: error during i2c read probe (-121) [ 1.395320] imx219 7-0010: board setup failed [ 1.419135] imx219 8-0010: imx219_board_setup: error during i2c read probe (-121) [ 1.419194] imx219 8-0010: board setup failed [ 1.782114] cgroup: cgroup2: unknown option "nsdelegate" [ 3.910336] random: crng init done [ 3.913769] random: 7 urandom warning(s) missed due to ratelimiting [ 3.980655] using random self ethernet address [ 3.980657] using random host ethernet address [ 4.737575] using random self ethernet address [ 4.753785] using random host ethernet address [ 6.112076] Bridge firewalling registered Ubuntu 18.04.6 LTS ubuntu ttyS0 ubuntu login: ``` ``` append: tegraid=21.1.2.0.0 ddr_die=4096M@2048M section=512M memtype=0 ... ``` のところで30秒ほどひっかかった上で、ERRORという表示が見えたあとで、 ``` Starting kernel ... ``` となった。ログインして確認してみると、一応、SSDがrootfsとしてマウントされている。 ``` sirius@ubuntu:~$ df Filesystem 1K-blocks Used Available Use% Mounted on /dev/nvme0n1p1 960379920 6064028 905461468 1% / none 1780140 0 1780140 0% /dev tmpfs 2025524 4 2025520 1% /dev/shm tmpfs 2025524 28304 1997220 2% /run tmpfs 5120 4 5116 1% /run/lock tmpfs 2025524 0 2025524 0% /sys/fs/cgroup tmpfs 405104 12 405092 1% /run/user/120 tmpfs 405104 0 405104 0% /run/user/1000 ``` GUIからログインすると、 ``` sirius@ubuntu:~$ df Filesystem 1K-blocks Used Available Use% Mounted on /dev/nvme0n1p1 960379920 6064224 905461272 1% / none 1780140 0 1780140 0% /dev tmpfs 2025524 40 2025484 1% /dev/shm tmpfs 2025524 28752 1996772 2% /run tmpfs 5120 4 5116 1% /run/lock tmpfs 2025524 0 2025524 0% /sys/fs/cgroup tmpfs 405104 12 405092 1% /run/user/120 tmpfs 405104 96 405008 1% /run/user/1000 /dev/mmcblk0p1 14384136 5145332 8488420 38% /media/sirius/6147ea70-504a-4aae-a8ba-e9c414965901 ``` となった。dmesgを見ると、 ``` [ 0.000000] Kernel command line: tegraid=21.1.2.0.0 ddr_die=4096M@2048M section=512M memtype=0 vpr_resize usb_port_owner_info=0 lane_owner_info=0 emc_max_dvfs=0 touch_id=0@63 video=tegrafb no_console_suspend=1 console=ttyS0,115200n8 debug_uartport=lsport,4 earlyprintk=uart8250-32bit,0x70006000 maxcpus=4 usbcore.old_scheme_first=1 lp0_vec=0x1000@0xff780000 core_edp_mv=1125 core_edp_ma=4000 gpt tegra_fbmem=0x800000@0x92cb4000 is_hdmi_initialised=1 earlycon=uart8250,mmio32,0x70006000 root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 sdhci_tegra.en_boot_part_access=1 nv-auto-config quiet root=/dev/nvme0n1p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 sdhci_tegra.en_boot_part_access=1 nv-auto-config ``` などと、**dev/mmcblk0p1**が残っているが、TX2 NXで検討していたときもあったような気がする。と思って、再度、ノートをちゃんと読み返すと、1/19に「気持ち悪いappend行が...」などという記載が残っている。 ホストPCから、SSDを対象にflash.shしてしまえば、多分、SSDで独立してブートできるようになるのだと思う。今は、U-BootがeMMCに依存しているのだと思う。 [Jetson Xavier NXでNVMe SSD ドライブから起動する方法 (※JetPack4.6) | qiita.com](https://qiita.com/kitazaki/items/da5fb46c03781eb7b406) を参考にしつつ、もう一度、詳細を確認して、SSDからの起動を確立しよう。この記事では、JetPack4.6じゃないとSSD単体起動ができない(4.6.1だと逆に駄目)、などと言っている。。。 (2022/8/16) 今後、SSDをメインに使うとして、SDK Managerとはちゃんとお付き合いしないといけないと考える。 SDK Managerを起動。Brokenとかなっているパッケージが見えるので、ちゃんと整える。 JETPACK 4.6.2がJetson Nano Module向けの最新版のはずなので、それ以外はUninstallした。4.6.2もRepair。 Jetson SDK Componentsのチェックは外す。 Download now Install laterのチェックを入れる。もちろん、I accept ... のチェックも入れて、ボタンを押す。 一通りダウンロードできて、やろうと思えばflash.shできる状態になったはず。 ``` sudo ./flash.sh -r -k APP -G jetson-nano-sd-image-20220816-sirius.img jetson-nano-***** nvme0n1 ``` などとやればバックアップとれるはずで、 ``` sudo ./flash.sh jetson-nano-***** nvme0n1 ``` とやればターゲットに書き込めるはずだが、*****はどう指定すればよい? (多分、SDK Managerでデフォルトでflashしてしまうと、多分、内蔵eMMCをターゲットに書いてしまうんだと思う。) (2022/08/17) ひとまず、従来と同様に動作させることを目指す。 まず、setup_memo_B01.txtの最後のパートの「Linuxカーネルの再ビルド手順(L4T 32.7.1ベース)」に従って、カーネルのカスタマイズを行う。 以下は、若干、メモと異なる部分をメモ書きしておく。 元のファイルをコピーするときは、 ``` $ cp -p file file.org ``` などとする。また、 ``` cd kernel/kernel-4.9 ``` の部分は、 ``` $ cd ~/kernel-build/Linux_for_Tegra/source/public/kernel/kernel-4.9 ``` とする方が正確。 Device Treeを/boot/dtb/にコピーして、jetson-io.pyを実行するところまで行ったが、 ``` No DTB found for NVIDIA Jetson Nano Developer Kit! ``` などと言われる。jetson i/oはDeveloper Kit前提になっているのか。だが、TX2 NX moduleでもやったように思うのだが。。 以前の作業記録を確認しよう。1/22や1/27の記録を見ると、eMMCとSSDとで混乱した雰囲気はあるが、一応、Jetson I/Oは使えた雰囲気だが。。。 dtbファイルを全部/boot/dtb/にコピーしてもNo DTBと言われる。もとから存在した、kernel_tegra210-p3448-0002-p3449-0000-b00.dtbも元のファイル名に戻したのに、それでもNo DTBと言われる。ふむ。 ``` Jetson Xavier NX (Developer Kit version) (P3668-0000) Jetson TX2 NX (P3636-0001) Jetson Nano (Developer Kit version) (P3448-0000) Jetson Nano (P3448-0002) ``` なので、DTBファイルは、tegra210-p3448-0002-p3449-0000-b00.dtbが存在すればよいように思うが。。。 よくわからないので、Device Treeを書く方法として、flash.shを使う方法を使ってみる。 ターゲット上で作成されている、Device Treeファイルを、 ``` $ scp arch/arm64/boot/dts/tegra210-p3448-0002-p3449-0000-b00.dtb arioka@beelink-u59.local:/home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/kernel/dtb/ ``` と、SCPを用いてホストPC上のflash.shのあるところからのkernel/dtb/にコピーする。 ``` $ export DTB=tegra210-p3448-0002-p3449-0000-b00.dtb $ sudo ./flash.sh --no-systemimg -k DTB jetson-nano-qspi-sd nvme0n1 ``` とやってみよう。jetson-nano-qspi-sdという指定がこれでよいのかわからないが。。 ``` arioka@beelink-u59:~/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra$ sudo ./flash.sh --no-systemimg -k DTB jetson-nano-qspi-sd mmcblk0p1 [sudo] arioka のパスワード: ############################################################################### # L4T BSP Information: # R32 , REVISION: 7.2 ############################################################################### # Target Board Information: # Name: jetson-nano-qspi-sd, Board Family: t210ref, SoC: Tegra 210, # OpMode: production, Boot Authentication: , # Disk encryption: disabled , ############################################################################### ./tegraflash.py --chip 0x21 --applet "/home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/nvtboot_recovery.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.0032 ] Generating RCM messages [ 0.0056 ] tegrarcm --listrcm rcm_list.xml --chip 0x21 0 --download rcm /home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/nvtboot_recovery.bin 0 0 [ 0.0065 ] RCM 0 is saved as rcm_0.rcm [ 0.0079 ] RCM 1 is saved as rcm_1.rcm [ 0.0079 ] List of rcm files are saved in rcm_list.xml [ 0.0079 ] [ 0.0080 ] Signing RCM messages [ 0.0114 ] tegrasign --key None --list rcm_list.xml --pubkeyhash pub_key.key [ 0.0123 ] Assuming zero filled SBK key [ 0.0538 ] [ 0.0538 ] Copying signature to RCM mesages [ 0.0564 ] tegrarcm --chip 0x21 0 --updatesig rcm_list_signed.xml [ 0.0580 ] [ 0.0580 ] Boot Rom communication [ 0.0602 ] tegrarcm --chip 0x21 0 --rcm rcm_list_signed.xml --skipuid [ 0.0613 ] RCM version 0X210001 [ 0.1623 ] Boot Rom communication completed [ 1.1727 ] [ 1.1729 ] dump EEPROM info [ 1.1775 ] tegrarcm --oem platformdetails eeprom /home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/cvm.bin [ 1.1799 ] Applet version 00.01.0000 [ 1.2525 ] Saved platform info in /home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/cvm.bin [ 1.3305 ] [ 1.3351 ] tegrarcm --reboot recovery [ 1.3378 ] Applet version 00.01.0000 [ 1.4130 ] Board ID(3448) version(401) copying bctfile(/home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/t210ref/BCT/P3448_A00_lpddr4_204Mhz_P987.cfg)... done. copying bootloader(/home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/t210ref/cboot.bin)... done. copying initrd(/home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/l4t_initrd.img)... done. Making Boot image... done. Existing sosfile(/home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/nvtboot_recovery.bin) reused. copying tegraboot(/home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/t210ref/nvtboot.bin)... done. copying cpu_bootloader(/home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/t210ref/cboot.bin)... done. copying bpffile(/home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/t210ref/sc7entry-firmware.bin)... done. copying wb0boot(/home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/t210ref/warmboot.bin)... done. Existing tosfile(/home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/tos-mon-only.img) reused. Existing eksfile(/home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/eks.img) reused. copying dtbfile(/home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/kernel/dtb/tegra210-p3448-0002-p3449-0000-b00.dtb)... done. Copying nv_boot_control.conf to rootfs Skip generating system.img Existing tbcfile(/home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/nvtboot_cpu.bin) reused. copying tbcdtbfile(/home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/kernel/dtb/tegra210-p3448-0002-p3449-0000-b00.dtb)... done. copying cfgfile(/home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/t210ref/cfg/flash_l4t_t210_max-spi_sd_p3448.xml) to flash.xml... done. copying flasher(/home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/t210ref/cboot.bin)... done. Existing flashapp(/home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/tegraflash.py) reused. *** Updating [DTB] with kernel_tegra210-p3448-0002-p3449-0000-b00.dtb *** ./tegraflash.py --bl cboot.bin --bldtb kernel_tegra210-p3448-0002-p3449-0000-b00.dtb --chip 0x21 --applet nvtboot_recovery.bin --bct P3448_A00_lpddr4_204Mhz_P987.cfg --cfg flash.xml --odmdata 0xa4000 --cmd "erase DTB; sign; write DTB ./signed/kernel_tegra210-p3448-0002-p3449-0000-b00.dtb.encrypt; reboot" Welcome to Tegra Flash version 1.0.0 Type ? or help for help and q or quit to exit Use ! to execute system commands [ 0.0072 ] Generating RCM messages [ 0.0096 ] tegrarcm --listrcm rcm_list.xml --chip 0x21 0 --download rcm nvtboot_recovery.bin 0 0 [ 0.0105 ] RCM 0 is saved as rcm_0.rcm [ 0.0111 ] RCM 1 is saved as rcm_1.rcm [ 0.0111 ] List of rcm files are saved in rcm_list.xml [ 0.0111 ] [ 0.0111 ] Signing RCM messages [ 0.0133 ] tegrasign --key None --list rcm_list.xml --pubkeyhash pub_key.key [ 0.0142 ] Assuming zero filled SBK key [ 0.0212 ] [ 0.0212 ] Copying signature to RCM mesages [ 0.0235 ] tegrarcm --chip 0x21 0 --updatesig rcm_list_signed.xml [ 0.0251 ] [ 0.0251 ] Boot Rom communication [ 0.0272 ] tegrarcm --chip 0x21 0 --rcm rcm_list_signed.xml [ 0.0281 ] BR_CID: 0x32101001643c08482400000019fe8400 [ 0.0574 ] RCM version 0X210001 [ 0.1055 ] Boot Rom communication completed [ 1.1159 ] [ 1.1160 ] Parsing partition layout [ 1.1218 ] tegraparser --pt flash.xml.tmp [ 1.1281 ] [ 1.1282 ] Creating list of images to be signed [ 1.1341 ] tegrahost --chip 0x21 0 --partitionlayout flash.xml.bin --list images_list.xml [ 1.1519 ] [ 1.1520 ] Generating signatures [ 1.1550 ] tegrasign --key None --list images_list.xml --pubkeyhash pub_key.key [ 1.1562 ] Assuming zero filled SBK key [ 1.2298 ] [ 1.2299 ] Send BCT from Host [ 1.2299 ] Generating br-bct [ 1.2338 ] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.cfg --chip 0x21 0 [ 1.2410 ] [ 1.2411 ] Updating boot device parameters [ 1.2438 ] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updatedevparam flash.xml.bin [ 1.2448 ] Warning: No sdram params [ 1.2451 ] [ 1.2451 ] Updating bl info [ 1.2471 ] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updateblinfo flash.xml.bin --updatesig images_list_signed.xml [ 1.2489 ] [ 1.2489 ] Updating secondary storage information into bct [ 1.2510 ] tegraparser --pt flash.xml.bin --chip 0x21 0 --updatecustinfo P3448_A00_lpddr4_204Mhz_P987.bct [ 1.2524 ] [ 1.2524 ] Updating Odmdata [ 1.2547 ] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updatefields Odmdata =0xa4000 [ 1.2555 ] Warning: No sdram params [ 1.2557 ] [ 1.2558 ] Get Signed section of bct [ 1.2579 ] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.bct --chip 0x21 0 --listbct bct_list.xml [ 1.2592 ] [ 1.2592 ] Signing BCT [ 1.2637 ] tegrasign --key None --list bct_list.xml --pubkeyhash pub_key.key [ 1.2648 ] Assuming zero filled SBK key [ 1.2654 ] [ 1.2655 ] Updating BCT with signature [ 1.2676 ] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updatesig bct_list_signed.xml [ 1.2691 ] [ 1.2692 ] Updating BFS information on BCT [ 1.2714 ] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updatebfsinfo flash.xml.bin [ 1.2728 ] [ 1.2728 ] Sending BCTs [ 1.2749 ] tegrarcm --download bct P3448_A00_lpddr4_204Mhz_P987.bct [ 1.2759 ] Applet version 00.01.0000 [ 1.3557 ] Sending bct [ 1.3560 ] [................................................] 100% [ 1.5808 ] [ 1.5809 ] Sending bootloader and pre-requisite binaries [ 1.5853 ] tegrarcm --download ebt cboot.bin 0 0 --download rp1 kernel_tegra210-p3448-0002-p3449-0000-b00.dtb 0 [ 1.5882 ] Applet version 00.01.0000 [ 1.6196 ] Sending ebt [ 1.6205 ] [................................................] 100% [ 1.7326 ] Sending rp1 [ 1.7372 ] [................................................] 100% [ 1.7952 ] [ 1.7976 ] tegrarcm --boot recovery [ 1.7986 ] Applet version 00.01.0000 [ 1.8731 ] [ 1.8731 ] Writing partition [ 1.8766 ] tegradevflash --erase DTB [ 1.8775 ] Cboot version 00.01.0000 [ 2.5633 ] Erasing partition DTB ..^CTraceback (most recent call last): File "./tegraflash.py", line 1296, in tegraflash_run_commands() File "./tegraflash.py", line 1155, in tegraflash_run_commands interpreter.onecmd(command) File "/usr/lib/python3.8/cmd.py", line 217, in onecmd return func(arg) File "./tegraflash.py", line 563, in do_erase tegraflash_erase(exports, args[0]) File "/home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/tegraflash_internal.py", line 627, in tegraflash_erase tegraflash_erase_partition(partition_name) File "/home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/tegraflash_internal.py", line 2359, in tegraflash_erase_partition run_command(command) File "/home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/tegraflash_internal.py", line 202, in run_command log = print_process(process, enable_print) File "/home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/tegraflash_internal.py", line 161, in print_process output = process.stdout.read(1) KeyboardInterrupt ``` DTBを消去するところでひっかかったみたい。SSDを指定するつもりが、 ``` $ sudo ./flash.sh --no-systemimg -k DTB jetson-nano-qspi-sd mmcblk0p1 ``` と、eMMCを指定してしまっていた。ただし、これでも、問題なさそうには思うが。。ひとまず、通常モードでブートしてみると、前のように起動した。 特に変化なし。では、今度は、 ``` $ sudo ./flash.sh --no-systemimg -k DTB jetson-nano-qspi-sd nvme0n1 ``` とやってみるが、結局、同じところでひっかかった。ちょっとよくわからないため、、、 [Jetson Nanoのクロスビルド環境の構築](https://qiita.com/MakotoA67/items/7a31d45289315b66476d) に従って、一式を更新してみる。p3448-0000がp3448-0002に変わることに注意しつつ、一通りの作業を実施してみた。 ``` arioka@beelink-u59:~/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra$ sudo ./flash.sh jetson-nano-qspi-sd mmcblk0p1 ############################################################################### # L4T BSP Information: # R32 , REVISION: 7.2 ############################################################################### # Target Board Information: # Name: jetson-nano-qspi-sd, Board Family: t210ref, SoC: Tegra 210, # OpMode: production, Boot Authentication: , # Disk encryption: disabled , ############################################################################### ./tegraflash.py --chip 0x21 --applet "/home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/nvtboot_recovery.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.0506 ] Generating RCM messages [ 0.0537 ] tegrarcm --listrcm rcm_list.xml --chip 0x21 0 --download rcm /home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/nvtboot_recovery.bin 0 0 [ 0.0550 ] RCM 0 is saved as rcm_0.rcm [ 0.0565 ] RCM 1 is saved as rcm_1.rcm [ 0.0565 ] List of rcm files are saved in rcm_list.xml [ 0.0565 ] [ 0.0565 ] Signing RCM messages [ 0.0599 ] tegrasign --key None --list rcm_list.xml --pubkeyhash pub_key.key [ 0.0607 ] Assuming zero filled SBK key [ 0.0710 ] [ 0.0710 ] Copying signature to RCM mesages [ 0.0737 ] tegrarcm --chip 0x21 0 --updatesig rcm_list_signed.xml [ 0.0758 ] [ 0.0758 ] Boot Rom communication [ 0.0781 ] tegrarcm --chip 0x21 0 --rcm rcm_list_signed.xml --skipuid [ 0.0794 ] RCM version 0X210001 [ 0.1847 ] Boot Rom communication completed [ 1.1945 ] [ 1.1947 ] dump EEPROM info [ 1.1994 ] tegrarcm --oem platformdetails eeprom /home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/cvm.bin [ 1.2027 ] Applet version 00.01.0000 [ 1.2390 ] Saved platform info in /home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/cvm.bin [ 1.3173 ] [ 1.3229 ] tegrarcm --reboot recovery [ 1.3248 ] Applet version 00.01.0000 [ 1.3551 ] Board ID(3448) version(401) copying bctfile(/home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/t210ref/BCT/P3448_A00_lpddr4_204Mhz_P987.cfg)... done. copying bootloader(/home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/t210ref/cboot.bin)... done. copying initrd(/home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/l4t_initrd.img)... done. Making Boot image... done. Existing sosfile(/home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/nvtboot_recovery.bin) reused. copying tegraboot(/home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/t210ref/nvtboot.bin)... done. copying cpu_bootloader(/home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/t210ref/cboot.bin)... done. copying bpffile(/home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/t210ref/sc7entry-firmware.bin)... done. copying wb0boot(/home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/t210ref/warmboot.bin)... done. Existing tosfile(/home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/tos-mon-only.img) reused. Existing eksfile(/home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/eks.img) reused. copying dtbfile(/home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/kernel/dtb/tegra210-p3448-0002-p3449-0000-b00.dtb)... done. Copying nv_boot_control.conf to rootfs populating kernel to rootfs... done. populating initrd to rootfs... done. populating kernel_tegra210-p3448-0002-p3449-0000-b00.dtb to rootfs... done. Making system.img... populating rootfs from /home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/rootfs ... 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/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/nvtboot_cpu.bin) reused. copying tbcdtbfile(/home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/kernel/dtb/tegra210-p3448-0002-p3449-0000-b00.dtb)... done. copying cfgfile(/home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/t210ref/cfg/flash_l4t_t210_max-spi_sd_p3448.xml) to flash.xml... done. copying flasher(/home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/t210ref/cboot.bin)... done. Existing flashapp(/home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/tegraflash.py) reused. ./tegraflash.py --bl cboot.bin --bct P3448_A00_lpddr4_204Mhz_P987.cfg --odmdata 0xa4000 --bldtb kernel_tegra210-p3448-0002-p3449-0000-b00.dtb --applet nvtboot_recovery.bin --cmd "flash; reboot" --cfg flash.xml --chip 0x21 --bins "EBT cboot.bin; DTB tegra210-p3448-0002-p3449-0000-b00.dtb" saving flash command in /home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/flashcmd.txt saving Windows flash command to /home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/flash_win.bat assign_value: crc-flash.xml.bin 1 65520 1 printf '\x1' | dd of=crc-flash.xml.bin bs=1 seek=65520 count=1 conv=notrunc 1+0 レコード入力 1+0 レコード出力 1 byte copied, 9.1365e-05 s, 10.9 kB/s assign_value: crc-flash.xml.bin 0 65521 1 printf '\x0' | dd of=crc-flash.xml.bin bs=1 seek=65521 count=1 conv=notrunc 1+0 レコード入力 1+0 レコード出力 1 byte copied, 6.9701e-05 s, 14.3 kB/s assign_string: crc-flash.xml.bin PTHD 65528 4 echo PTHD | dd of=crc-flash.xml.bin bs=1 seek=65528 count=4 conv=notrunc 4+0 レコード入力 4+0 レコード出力 4 bytes copied, 5.3838e-05 s, 74.3 kB/s *** Flashing target device started. *** 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.0041 ] tegrasign --getmode mode.txt --key None [ 0.0054 ] Assuming zero filled SBK key [ 0.0086 ] [ 0.0088 ] Generating RCM messages [ 0.0124 ] tegrarcm --listrcm rcm_list.xml --chip 0x21 0 --download rcm nvtboot_recovery.bin 0 0 [ 0.0135 ] RCM 0 is saved as rcm_0.rcm [ 0.0592 ] RCM 1 is saved as rcm_1.rcm [ 0.0596 ] List of rcm files are saved in rcm_list.xml [ 0.0596 ] [ 0.0597 ] Signing RCM messages [ 0.0631 ] tegrasign --key None --list rcm_list.xml --pubkeyhash pub_key.key [ 0.0648 ] Assuming zero filled SBK key [ 0.0772 ] [ 0.0773 ] Copying signature to RCM mesages [ 0.0805 ] tegrarcm --chip 0x21 0 --updatesig rcm_list_signed.xml [ 0.0837 ] [ 0.0838 ] Parsing partition layout [ 0.0879 ] tegraparser --pt flash.xml.tmp [ 0.0928 ] [ 0.0932 ] Using default ramcode: 0 [ 0.0933 ] Disable BPMP dtb trim, using default dtb [ 0.0933 ] [ 0.0933 ] Creating list of images to be signed [ 0.0975 ] tegrahost --chip 0x21 0 --partitionlayout flash.xml.bin --list images_list.xml [ 0.1153 ] [ 0.1154 ] Generating signatures [ 0.1188 ] tegrasign --key None --list images_list.xml --pubkeyhash pub_key.key [ 0.1209 ] Assuming zero filled SBK key [ 0.1979 ] [ 0.1980 ] Generating br-bct [ 0.2019 ] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.cfg --chip 0x21 0 [ 0.2106 ] [ 0.2107 ] Updating boot device parameters [ 0.2132 ] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updatedevparam flash.xml.bin [ 0.2141 ] Warning: No sdram params [ 0.2145 ] [ 0.2145 ] Updating bl info [ 0.2165 ] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updateblinfo flash.xml.bin --updatesig images_list_signed.xml [ 0.2186 ] [ 0.2186 ] Updating secondary storage information into bct [ 0.2208 ] tegraparser --pt flash.xml.bin --chip 0x21 0 --updatecustinfo P3448_A00_lpddr4_204Mhz_P987.bct [ 0.2221 ] [ 0.2222 ] Updating Odmdata [ 0.2244 ] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updatefields Odmdata =0xa4000 [ 0.2253 ] Warning: No sdram params [ 0.2257 ] [ 0.2258 ] Get Signed section of bct [ 0.2281 ] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.bct --chip 0x21 0 --listbct bct_list.xml [ 0.2299 ] [ 0.2300 ] Signing BCT [ 0.2346 ] tegrasign --key None --list bct_list.xml --pubkeyhash pub_key.key [ 0.2361 ] Assuming zero filled SBK key [ 0.2368 ] [ 0.2368 ] Updating BCT with signature [ 0.2393 ] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updatesig bct_list_signed.xml [ 0.2408 ] [ 0.2408 ] Copying signatures [ 0.2430 ] tegrahost --chip 0x21 0 --partitionlayout flash.xml.bin --updatesig images_list_signed.xml [ 0.2518 ] [ 0.2518 ] Updating BFS information on BCT [ 0.2543 ] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updatebfsinfo flash.xml.bin [ 0.2559 ] [ 0.2559 ] Boot Rom communication [ 0.2583 ] tegrarcm --chip 0x21 0 --rcm rcm_list_signed.xml [ 0.2594 ] BR_CID: 0x32101001643c08482400000019fe8400 [ 0.2889 ] RCM version 0X210001 [ 0.3374 ] Boot Rom communication completed [ 1.3478 ] [ 1.3479 ] Sending BCTs [ 1.3526 ] tegrarcm --download bct P3448_A00_lpddr4_204Mhz_P987.bct [ 1.3552 ] Applet version 00.01.0000 [ 1.4321 ] Sending bct [ 1.4323 ] [................................................] 100% [ 1.6573 ] [ 1.6621 ] tegrahost --chip 0x21 --align cboot.bin [ 1.6651 ] [ 1.6691 ] tegrahost --magicid EBT --appendsigheader cboot.bin cboot.bin_blheader [ 1.6770 ] [ 1.6803 ] tegrasign --key None --list cboot.bin_list.xml [ 1.6816 ] Assuming zero filled SBK key [ 1.7001 ] [ 1.7032 ] tegrahost --updatesigheader cboot.bin_blheader.encrypt cboot.bin_blheader.hash zerosbk [ 1.7062 ] [ 1.7550 ] tegrahost --chip 0x21 --align tegra210-p3448-0002-p3449-0000-b00.dtb [ 1.7565 ] [ 1.7588 ] tegrahost --magicid DTB --appendsigheader tegra210-p3448-0002-p3449-0000-b00.dtb tegra210-p3448-0002-p3449-0000-b00.dtb_blheader [ 1.7608 ] [ 1.7634 ] tegrasign --key None --list tegra210-p3448-0002-p3449-0000-b00.dtb_list.xml [ 1.7643 ] Assuming zero filled SBK key [ 1.7727 ] [ 1.7752 ] tegrahost --updatesigheader tegra210-p3448-0002-p3449-0000-b00.dtb_blheader.encrypt tegra210-p3448-0002-p3449-0000-b00.dtb_blheader.hash zerosbk [ 1.7768 ] [ 1.7772 ] Sending bootloader and pre-requisite binaries [ 1.7796 ] tegrarcm --download ebt cboot.bin.encrypt 0 0 --download rp1 tegra210-p3448-0002-p3449-0000-b00.dtb.encrypt 0 [ 1.7807 ] Applet version 00.01.0000 [ 1.8557 ] Sending ebt [ 1.8565 ] [................................................] 100% [ 1.9689 ] Sending rp1 [ 1.9738 ] [................................................] 100% [ 2.0312 ] [ 2.0336 ] tegrarcm --boot recovery [ 2.0344 ] Applet version 00.01.0000 [ 2.0651 ] [ 2.0652 ] Retrieving storage infomation [ 2.0699 ] tegrarcm --oem platformdetails storage storage_info.bin [ 2.0758 ] Applet is not running on device. Continue with Bootloader [ 2.7520 ] [ 2.7617 ] tegradevflash --oem platformdetails storage storage_info.bin [ 2.7652 ] Cboot version 00.01.0000 [ 2.7954 ] Saved platform info in storage_info.bin ^CTraceback (most recent call last): File "/home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/tegraflash_internal.py", line 2502, in tegraflash_get_storage_info run_command(command) File "/home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/tegraflash_internal.py", line 206, in run_command raise tegraflash_exception('Return value ' + str(return_code) + tegraflash_internal.tegraflash_exception: 'Return value 8\nCommand tegrarcm --oem platformdetails storage storage_info.bin' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "./tegraflash.py", line 1296, in tegraflash_run_commands() File "./tegraflash.py", line 1155, in tegraflash_run_commands interpreter.onecmd(command) File "/usr/lib/python3.8/cmd.py", line 217, in onecmd return func(arg) File "./tegraflash.py", line 216, in do_flash tegraflash_flash(exports) File "/home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/tegraflash_internal.py", line 274, in tegraflash_flash tegraflash_get_storage_info() File "/home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/tegraflash_internal.py", line 2506, in tegraflash_get_storage_info run_command(command) File "/home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/tegraflash_internal.py", line 202, in run_command log = print_process(process, enable_print) File "/home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/tegraflash_internal.py", line 161, in print_process output = process.stdout.read(1) KeyboardInterrupt arioka@beelink-u59:~/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra$ ``` ひっかかってしまったのでCtrl+Cで抜けた。もう一度、Jetsonを再起動した上で、flash.shを再実行してみたが。。。 ``` arioka@beelink-u59:~/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra$ sudo ./flash.sh jetson-nano-qspi-sd mmcblk0p1 ############################################################################### # L4T BSP Information: # R32 , REVISION: 7.2 ############################################################################### # Target Board Information: # Name: jetson-nano-qspi-sd, Board Family: t210ref, SoC: Tegra 210, # OpMode: production, Boot Authentication: , # Disk encryption: disabled , ############################################################################### ./tegraflash.py --chip 0x21 --applet "/home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/nvtboot_recovery.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.0206 ] Generating RCM messages [ 0.0229 ] tegrarcm --listrcm rcm_list.xml --chip 0x21 0 --download rcm /home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/nvtboot_recovery.bin 0 0 [ 0.0239 ] RCM 0 is saved as rcm_0.rcm [ 0.0245 ] RCM 1 is saved as rcm_1.rcm [ 0.0245 ] List of rcm files are saved in rcm_list.xml [ 0.0245 ] [ 0.0246 ] Signing RCM messages [ 0.0267 ] tegrasign --key None --list rcm_list.xml --pubkeyhash pub_key.key [ 0.0277 ] Assuming zero filled SBK key [ 0.0348 ] [ 0.0349 ] Copying signature to RCM mesages [ 0.0372 ] tegrarcm --chip 0x21 0 --updatesig rcm_list_signed.xml [ 0.0393 ] [ 0.0394 ] Boot Rom communication [ 0.0420 ] tegrarcm --chip 0x21 0 --rcm rcm_list_signed.xml --skipuid [ 0.0430 ] RCM version 0X210001 [ 0.1441 ] Boot Rom communication completed [ 1.1537 ] [ 1.1538 ] dump EEPROM info [ 1.1586 ] tegrarcm --oem platformdetails eeprom /home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/cvm.bin [ 1.1615 ] Applet version 00.01.0000 [ 1.1938 ] Saved platform info in /home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/cvm.bin [ 1.2717 ] [ 1.2747 ] tegrarcm --reboot recovery [ 1.2759 ] Applet version 00.01.0000 [ 1.3065 ] Board ID(3448) version(401) copying bctfile(/home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/t210ref/BCT/P3448_A00_lpddr4_204Mhz_P987.cfg)... done. copying bootloader(/home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/t210ref/cboot.bin)... done. copying initrd(/home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/l4t_initrd.img)... done. Making Boot image... done. Existing sosfile(/home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/nvtboot_recovery.bin) reused. copying tegraboot(/home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/t210ref/nvtboot.bin)... done. copying cpu_bootloader(/home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/t210ref/cboot.bin)... done. copying bpffile(/home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/t210ref/sc7entry-firmware.bin)... done. copying wb0boot(/home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/t210ref/warmboot.bin)... done. Existing tosfile(/home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/tos-mon-only.img) reused. Existing eksfile(/home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/eks.img) reused. copying dtbfile(/home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/kernel/dtb/tegra210-p3448-0002-p3449-0000-b00.dtb)... done. Copying nv_boot_control.conf to rootfs populating kernel to rootfs... done. populating initrd to rootfs... done. populating kernel_tegra210-p3448-0002-p3449-0000-b00.dtb to rootfs... done. Making system.img... populating rootfs from /home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/rootfs ... 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/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/nvtboot_cpu.bin) reused. copying tbcdtbfile(/home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/kernel/dtb/tegra210-p3448-0002-p3449-0000-b00.dtb)... done. copying cfgfile(/home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/t210ref/cfg/flash_l4t_t210_max-spi_sd_p3448.xml) to flash.xml... done. copying flasher(/home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/t210ref/cboot.bin)... done. Existing flashapp(/home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/tegraflash.py) reused. ./tegraflash.py --bl cboot.bin --bct P3448_A00_lpddr4_204Mhz_P987.cfg --odmdata 0xa4000 --bldtb kernel_tegra210-p3448-0002-p3449-0000-b00.dtb --applet nvtboot_recovery.bin --cmd "flash; reboot" --cfg flash.xml --chip 0x21 --bins "EBT cboot.bin; DTB tegra210-p3448-0002-p3449-0000-b00.dtb" saving flash command in /home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/flashcmd.txt saving Windows flash command to /home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/flash_win.bat assign_value: crc-flash.xml.bin 1 65520 1 printf '\x1' | dd of=crc-flash.xml.bin bs=1 seek=65520 count=1 conv=notrunc 1+0 レコード入力 1+0 レコード出力 1 byte copied, 0.000150955 s, 6.6 kB/s assign_value: crc-flash.xml.bin 0 65521 1 printf '\x0' | dd of=crc-flash.xml.bin bs=1 seek=65521 count=1 conv=notrunc 1+0 レコード入力 1+0 レコード出力 1 byte copied, 0.000174158 s, 5.7 kB/s assign_string: crc-flash.xml.bin PTHD 65528 4 echo PTHD | dd of=crc-flash.xml.bin bs=1 seek=65528 count=4 conv=notrunc 4+0 レコード入力 4+0 レコード出力 4 bytes copied, 0.000124407 s, 32.2 kB/s *** Flashing target device started. *** 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.0047 ] tegrasign --getmode mode.txt --key None [ 0.0056 ] Assuming zero filled SBK key [ 0.0084 ] [ 0.0086 ] Generating RCM messages [ 0.0121 ] tegrarcm --listrcm rcm_list.xml --chip 0x21 0 --download rcm nvtboot_recovery.bin 0 0 [ 0.0133 ] RCM 0 is saved as rcm_0.rcm [ 0.0163 ] RCM 1 is saved as rcm_1.rcm [ 0.0165 ] List of rcm files are saved in rcm_list.xml [ 0.0532 ] [ 0.0533 ] Signing RCM messages [ 0.0565 ] tegrasign --key None --list rcm_list.xml --pubkeyhash pub_key.key [ 0.0581 ] Assuming zero filled SBK key [ 0.0667 ] [ 0.0668 ] Copying signature to RCM mesages [ 0.0694 ] tegrarcm --chip 0x21 0 --updatesig rcm_list_signed.xml [ 0.0718 ] [ 0.0718 ] Parsing partition layout [ 0.0741 ] tegraparser --pt flash.xml.tmp [ 0.0754 ] [ 0.0756 ] Using default ramcode: 0 [ 0.0756 ] Disable BPMP dtb trim, using default dtb [ 0.0756 ] [ 0.0756 ] Creating list of images to be signed [ 0.0781 ] tegrahost --chip 0x21 0 --partitionlayout flash.xml.bin --list images_list.xml [ 0.0906 ] [ 0.0907 ] Generating signatures [ 0.0924 ] tegrasign --key None --list images_list.xml --pubkeyhash pub_key.key [ 0.0938 ] Assuming zero filled SBK key [ 0.1686 ] [ 0.1686 ] Generating br-bct [ 0.1727 ] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.cfg --chip 0x21 0 [ 0.1812 ] [ 0.1812 ] Updating boot device parameters [ 0.1837 ] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updatedevparam flash.xml.bin [ 0.1853 ] Warning: No sdram params [ 0.1856 ] [ 0.1856 ] Updating bl info [ 0.1877 ] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updateblinfo flash.xml.bin --updatesig images_list_signed.xml [ 0.1894 ] [ 0.1895 ] Updating secondary storage information into bct [ 0.1915 ] tegraparser --pt flash.xml.bin --chip 0x21 0 --updatecustinfo P3448_A00_lpddr4_204Mhz_P987.bct [ 0.1927 ] [ 0.1927 ] Updating Odmdata [ 0.1951 ] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updatefields Odmdata =0xa4000 [ 0.1962 ] Warning: No sdram params [ 0.1965 ] [ 0.1966 ] Get Signed section of bct [ 0.1989 ] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.bct --chip 0x21 0 --listbct bct_list.xml [ 0.2005 ] [ 0.2006 ] Signing BCT [ 0.2055 ] tegrasign --key None --list bct_list.xml --pubkeyhash pub_key.key [ 0.2064 ] Assuming zero filled SBK key [ 0.2070 ] [ 0.2070 ] Updating BCT with signature [ 0.2092 ] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updatesig bct_list_signed.xml [ 0.2107 ] [ 0.2107 ] Copying signatures [ 0.2131 ] tegrahost --chip 0x21 0 --partitionlayout flash.xml.bin --updatesig images_list_signed.xml [ 0.2564 ] [ 0.2565 ] Updating BFS information on BCT [ 0.2602 ] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updatebfsinfo flash.xml.bin [ 0.2642 ] [ 0.2643 ] Boot Rom communication [ 0.2686 ] tegrarcm --chip 0x21 0 --rcm rcm_list_signed.xml [ 0.2716 ] BR_CID: 0x32101001643c08482400000019fe8400 [ 0.3014 ] RCM version 0X210001 [ 0.3450 ] Boot Rom communication completed [ 1.3554 ] [ 1.3555 ] Sending BCTs [ 1.3601 ] tegrarcm --download bct P3448_A00_lpddr4_204Mhz_P987.bct [ 1.3631 ] Applet version 00.01.0000 [ 1.3950 ] Sending bct [ 1.3954 ] [................................................] 100% [ 1.6214 ] [ 1.6261 ] tegrahost --chip 0x21 --align cboot.bin [ 1.6298 ] [ 1.6343 ] tegrahost --magicid EBT --appendsigheader cboot.bin cboot.bin_blheader [ 1.6399 ] [ 1.6434 ] tegrasign --key None --list cboot.bin_list.xml [ 1.6452 ] Assuming zero filled SBK key [ 1.6624 ] [ 1.6650 ] tegrahost --updatesigheader cboot.bin_blheader.encrypt cboot.bin_blheader.hash zerosbk [ 1.6674 ] [ 1.7421 ] tegrahost --chip 0x21 --align tegra210-p3448-0002-p3449-0000-b00.dtb [ 1.8757 ] [ 1.8808 ] tegrahost --magicid DTB --appendsigheader tegra210-p3448-0002-p3449-0000-b00.dtb tegra210-p3448-0002-p3449-0000-b00.dtb_blheader [ 1.9204 ] [ 1.9234 ] tegrasign --key None --list tegra210-p3448-0002-p3449-0000-b00.dtb_list.xml [ 1.9246 ] Assuming zero filled SBK key [ 1.9346 ] [ 1.9384 ] tegrahost --updatesigheader tegra210-p3448-0002-p3449-0000-b00.dtb_blheader.encrypt tegra210-p3448-0002-p3449-0000-b00.dtb_blheader.hash zerosbk [ 2.0940 ] [ 2.0945 ] Sending bootloader and pre-requisite binaries [ 2.0968 ] tegrarcm --download ebt cboot.bin.encrypt 0 0 --download rp1 tegra210-p3448-0002-p3449-0000-b00.dtb.encrypt 0 [ 2.0977 ] Applet version 00.01.0000 [ 2.1311 ] Sending ebt [ 2.1322 ] [................................................] 100% [ 2.2441 ] Sending rp1 [ 2.2485 ] [................................................] 100% [ 2.3055 ] [ 2.3098 ] tegrarcm --boot recovery [ 2.3135 ] Applet version 00.01.0000 [ 2.3926 ] [ 2.3927 ] Retrieving storage infomation [ 2.3954 ] tegrarcm --oem platformdetails storage storage_info.bin [ 2.3964 ] Applet is not running on device. Continue with Bootloader [ 3.1057 ] [ 3.1154 ] tegradevflash --oem platformdetails storage storage_info.bin [ 3.1181 ] Cboot version 00.01.0000 [ 3.1508 ] Saved platform info in storage_info.bin ^CTraceback (most recent call last): File "/home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/tegraflash_internal.py", line 2502, in tegraflash_get_storage_info run_command(command) File "/home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/tegraflash_internal.py", line 206, in run_command raise tegraflash_exception('Return value ' + str(return_code) + tegraflash_internal.tegraflash_exception: 'Return value 8\nCommand tegrarcm --oem platformdetails storage storage_info.bin' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "./tegraflash.py", line 1296, in tegraflash_run_commands() File "./tegraflash.py", line 1155, in tegraflash_run_commands interpreter.onecmd(command) File "/usr/lib/python3.8/cmd.py", line 217, in onecmd return func(arg) File "./tegraflash.py", line 216, in do_flash tegraflash_flash(exports) File "/home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/tegraflash_internal.py", line 274, in tegraflash_flash tegraflash_get_storage_info() File "/home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/tegraflash_internal.py", line 2506, in tegraflash_get_storage_info run_command(command) File "/home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/tegraflash_internal.py", line 202, in run_command log = print_process(process, enable_print) File "/home/arioka/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/bootloader/tegraflash_internal.py", line 161, in print_process output = process.stdout.read(1) KeyboardInterrupt arioka@beelink-u59:~/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra$ ``` と、やはり同じ状況。仕方がないので、SDK Managerを用いて一式を書き込む、というやり方を実施する。書き込まれるイメージは、上のflash.shを用いた方法と同じものが使用されるはずなので、STEP01でJetson Nano Modules (P3448-0002)を指定して、STEP02でJetson SDK Componentsのチェックを外して、I accept the terms and conditions of the license agreements のチェックを入れて、CONTINUE TO STEP03を押す。 STEP03で、Auto setupはやはり無理で、初期化されてしまうが、Manual setupにて実施。これで完了後にJetsonが起動されたあとで確認すると、ちゃんとTC358748のドライバが組み込めたようで、起動時のprobe処理にてI2Cの通信でエラーとなるログが確認できた。 また、 ``` $ dtc -I fs -O dts -o extracted.dts /proc/device-tree ``` で、現在のDevice Tree情報を確認してみても、TC358748関連のカスタマイズの跡が確認できた。 次に、/opt/nvidia/jetson-io/netson-io.pyを実行してみたところ、ヘッダー40ピンのカスタマイズのメニューが現れない。キャリーボードが開発者キットと違うからだろう。 ただし、すでに、クロス環境にてspidevは有効にしたので、それが生きているようで、/dev/spidev*が存在している。 長くなってきたのでページを分ける。 [[sec_ret:SSDからの起動2]]