RAM boot to NFS not working

According to the latest version of the NVIDIA Tegra Linux Driver Package (32.2) here https://docs.nvidia.com/jetson/l4t/Tegra%20Linux%20Driver%20Package%20Development%20Guide/flashing.html#wwpID0E0IF0HA there is support to “RAM boot to NFS”.

However, when I execute the command as described

sudo ./flash.sh -N <ip-addr-of-linux-host>:/<path-to-NFS-rootfs> --rcm-boot <platform> eth0

substituting

sudo ./flash.sh -N 172.16.1.100:/targetnfs --rcm-boot jetson-tx2 eth0

I get an error in TBoot-BPMP on my serial console as follows (every time):

[0021.837] I> Welcome to MB2(TBoot-BPMP) Recovery(version: 01.00.160913-t186-M-00.00-mobile-bc98f182)
[0021.846] I> bit @ 0xd480000
[0021.849] I> pmic: reset reason (nverc)	: 0x80
[0021.857] I> Binary(16) of size 533504 is loaded @ 0xd7800000
[0021.865] I> Binary(17) of size 465840 is loaded @ 0xd798e440
[0022.043] I> Loading SCE-FW ...
[0022.047] I> Binary(12) of size 125168 is loaded @ 0xd7300000
[0022.053] I> Init SCE
[0022.055] I> Loading APE-FW ...
[0022.058] E> Failed to find image (23) in blob
[0022.062] I> Binary(11) of size 0 is loaded @ 0xd7400000
[0022.068] C> Error loading APE-FW
[0022.071] E> Top caller module: APE, error module: LOADER, reason: 0x0d, aux_info: 0x00
[0022.079] C> Hang

Is the RAM boot option supported on Jetson TX2?

Has anyone else gotten this to work properly?

It looks like the APE-FW firmware is not being included properly in the transfered blob. How can I fix my scripts/system to make the “RAM boot” using the --rcm-boot work properly?

Hi JDSchroeder,

Please following below steps to NFS boot:

sudo apt-get install nfs-kernel-server
Add rootfs path in "/etc/exports":
  example: /home/username/nvidia/nvidia_sdk/JetPack_4.2.2_Linux_GA_P3310/Linux_for_Tegra/rootfs/
sudo /etc/init.d/nfs-kernel-server restart
sudo ./flash.sh -N 172.16.1.100:/home/username/nvidia/nvidia_sdk/JetPack_4.2.2_Linux_GA_P3310/Linux_for_Tegra/rootfs/ --rcm-boot jetson-tx2 eth0

I followed those instructions and that does not help. The problem is on the embedded side, not the host PC side. You can see that TBoot-BPMP fails to boot properly as it is looking for the APE-FW.

Update:
I found a fix in the image building process that was able to get the RAM boot process further. I added the following lines to flash.sh:

if [ ${rcm_boot} -ne 0 ]; then
        BINSARGS+="adsp_fw adsp-fw.bin; "
fi;

This causes the binary blob that is built to include the blob_adsp-fw_sigheader.bin.encrypt into the blob.bin that gets downloaded. This allows TBoot-BPMP to get further, but now TBoot-CPU gets stuck loading the kernel. I was also able to fix the initial issue by modifying the configuration file t186ref/BCT/tegra186-mb1-bct-misc-si-l4t.cfg:

mb2_params.feature_fields.enable_ape = 1;
mb2_params.feature_fields.enable_ape = 0;

However, now there is a new problem. Here is the new log from the RAM boot process:

[0018.796] I> Welcome to MB2(TBoot-BPMP) Recovery(version: 01.00.160913-t186-M-00.00-mobile-bc98f182)
[0018.806] I> bit @ 0xd480000
[0018.809] I> pmic: reset reason (nverc)	: 0x80
[0018.817] I> Binary(16) of size 533504 is loaded @ 0xd7800000
[0018.825] I> Binary(17) of size 465840 is loaded @ 0xd798e440
[0019.003] I> Loading SCE-FW ...
[0019.007] I> Binary(12) of size 125168 is loaded @ 0xd7300000
[0019.012] I> Init SCE
[0019.015] I> Loading APE-FW ...
[0019.019] I> Binary(11) of size 107808 is loaded @ 0xd7400000
[0019.025] I> Copy BTCM section
[0019.029] I> Binary(13) of size 202912 is loaded @ 0x96000000
[0019.037] I> Binary(20) of size 344112 is loaded @ 0x85200200
[0019.044] I> Binary(14) of size 312752 is loaded @ 0x85300400
[0019.052] I> TOS boot-params @ 0x85000000
[0019.056] I> TOS params prepared
[0019.059] I> Loading EKS ...
[0019.062] I> Binary(15) of size 1040 is loaded @ 0x85900600
[0019.067] I> EKB detected (length: 0x400) @ 0x85900600
[0019.072] I> Copied encrypted keys
[0019.076] I> boot profiler @ 0x275844000
[0019.080] I> boot profiler for TOS @ 0x275844000
[0019.085] I> Unhalting SCE
[0019.087] I> Primary Memory Start:80000000 Size:70000000
[0019.093] I> Extended Memory Start:f0110000 Size:1856f0000
[0019.099] I> MB2(TBoot-BPMP) Recovery done

NOTICE:  BL31: v1.3(release):a28d87f09
NOTICE:  BL31: Built : 21:15:42, Aug 12 2019
ipc-unittest-main: 1519: Welcome to IPC unittest!!!
ipc-unittest-main: 1531: waiting forever
ipc-unittest-srv: 329: Init unittest services!!!
keystore-demo: 141: Hello world from keystore-demo app
keystore-demo: 207: main: EKB contents match expected value
exit called, thread 0xffffffffea87ad58, name trusty_app_2_7d18fc60-e9fc-11e8
platform_bootstrap_epilog: trusty bootstrap complete
[0019.460] I> Welcome to TBoot-CPU Recovery(version: 01.00.160913-t186-M-00.00-mobile-b6c9c72e)
[0019.468] I> gpio framework initialized
[0019.472] I> tegrabl_gpio_driver_register: register 'nvidia,tegra186-gpio' driver
[0019.479] I> tegrabl_gpio_driver_register: register 'nvidia,tegra186-gpio-aon' driver
[0019.487] I> tegrabl_tca9539_init: i2c bus: 0, slave addr: 0xee
[0019.496] I> tegrabl_gpio_driver_register: register 'tca9539_gpio_driver' driver
[0019.503] I> tegrabl_tca9539_init: i2c bus: 0, slave addr: 0xe8
[0019.511] I> tegrabl_gpio_driver_register: register 'tca9539_gpio_driver' driver
[0019.519] I> CPU: ARM Cortex A57
[0019.522] I> CPU: MIDR: 0x411fd073, MPIDR: 0x80000100
[0019.526] I> L2 ECC enabled : yes
[0019.530] I> CPU-BL Params @ 0x275800000
[0019.533] I>  0) Base:0x00000000 Size:0x00000000
[0019.538] I>  1) Base:0x277f00000 Size:0x00100000
[0019.542] I>  2) Base:0x277e00000 Size:0x00100000
[0019.547] I>  3) Base:0x277d00000 Size:0x00100000
[0019.551] I>  4) Base:0x277c00000 Size:0x00100000
[0019.556] I>  5) Base:0x277b00000 Size:0x00100000
[0019.560] I>  6) Base:0x277800000 Size:0x00200000
[0019.565] I>  7) Base:0x277400000 Size:0x00400000
[0019.569] I>  8) Base:0x277a00000 Size:0x00100000
[0019.574] I>  9) Base:0x277300000 Size:0x00100000
[0019.578] I> 10) Base:0x276800000 Size:0x00800000
[0019.583] I> 11) Base:0x30000000 Size:0x00040000
[0019.587] I> 12) Base:0xf0000000 Size:0x00100000
[0019.592] I> 13) Base:0x30040000 Size:0x00001000
[0019.596] I> 14) Base:0x30048000 Size:0x00001000
[0019.601] I> 15) Base:0x30049000 Size:0x00001000
[0019.605] I> 16) Base:0x3004a000 Size:0x00001000
[0019.610] I> 17) Base:0x3004b000 Size:0x00001000
[0019.614] I> 18) Base:0x3004c000 Size:0x00001000
[0019.618] I> 19) Base:0x3004d000 Size:0x00001000
[0019.623] I> 20) Base:0x3004e000 Size:0x00001000
[0019.627] I> 21) Base:0x3004f000 Size:0x00001000
[0019.632] I> 22) Base:0x00000000 Size:0x00000000
[0019.636] I> 23) Base:0xf0100000 Size:0x00010000
[0019.641] I> 24) Base:0x00000000 Size:0x00000000
[0019.645] I> 25) Base:0x00000000 Size:0x00000000
[0019.649] I> 26) Base:0x00000000 Size:0x00000000
[0019.654] I> 27) Base:0x00000000 Size:0x00000000
[0019.658] I> 28) Base:0x84400000 Size:0x00400000
[0019.663] I> 29) Base:0x30000000 Size:0x00010000
[0019.667] I> 30) Base:0x278000000 Size:0x08000000
[0019.672] I> 31) Base:0x00000000 Size:0x00000000
[0019.676] I> 32) Base:0x276000000 Size:0x00600000
[0019.681] I> 33) Base:0x80000000 Size:0x70000000
[0019.685] I> 34) Base:0xf0110000 Size:0x1856f0000
[0019.690] I> 35) Base:0x00000000 Size:0x00000000
[0019.694] I> 36) Base:0x00000000 Size:0x00000000
[0019.699] I> 37) Base:0x2772e0000 Size:0x00020000
[0019.703] I> 38) Base:0x84000000 Size:0x00400000
[0019.707] I> 39) Base:0x96000000 Size:0x02000000
[0019.712] I> 40) Base:0x85000000 Size:0x01200000
[0019.716] I> 41) Base:0x275800000 Size:0x00500000
[0019.721] I> 42) Base:0x00000000 Size:0x00000000
[0019.725] I> 43) Base:0x00000000 Size:0x00000000
[0019.730] I> bl dtb load address = @0x85200200
[0019.734] I> Recovery boot_type: 1
[0019.741] I> fixed regulator driver initialized
[0019.781] I> register 'maxim' power off handle
[0019.788] I> virtual i2c enabled
[0019.791] I> registered 'maxim,max77620' pmic
[0019.795] I> tegrabl_gpio_driver_register: register 'max77620-gpio' driver
[0019.802] I> Blob header @ 0x84800000
[0019.805] I> Loading kernel from partition ...
[0019.810] E> Failed to find image (0) in blob
[0019.814] E> Error (488439821) builtin kernel/dtb load failed
[0019.819] C> kernel boot failed
[0019.822] E> Top caller module: LOADER, error module: LOADER, reason: 0x0d, aux_info: 0x00
[0019.831] I> TBoot-CPU Recovery hang

You can see that it is getting an error while trying to load the kernel/dtb (“Failed to find image (0) in blob”). According to the flash.sh build log output, the blob_boot.img is being added to the blob.bin image that is downloaded over RCM. TBoot-CPU is just not able to recognize or properly load it from the correct RAM location.

My questions remain basically the same from my initial post in #1:
Is the RAM boot option supported on Jetson TX2?

Has anyone else gotten this to work properly?

It looks like the TBoot-CPU is not loading the kernel/dtb or boot.img properly. How can I fix my scripts/system to make the “RAM boot” using the --rcm-boot work properly?

It looks like the support was broken in the NVIDIA release from L4T R28.3.1 to R32.1.0.

Here is the console output with it working properly from L4T R28.3.1:

[0007.981] I> Welcome to MB2(TBoot-BPMP) Recovery(version: 01.00.160913-t186-M-00.00-mobile-fd98427e)
[0007.990] I> Default Heap @ [0xd486400 - 0xd488400]
[0007.995] I> DMA Heap @ [0x85200000 - 0x86200000]
[0007.999] I> bit @ 0xd480000
[0008.002] I> BR-BCT relocated to 0xd7020000
[0008.007] I> pmic: reset reason (nverc)	: 0x80
[0008.014] I> Binary(16) of size 532656 is loaded @ 0xd7800000
[0008.022] I> Binary(17) of size 465760 is loaded @ 0xd798e4a0
[0008.200] I> BPMP-FW load address = 0xd7800000
[0008.204] I> BPMP-FW DTB load address = 0x5018e4a0
[0008.209] I> Loading SCE-FW ...
[0008.213] I> Binary(12) of size 76592 is loaded @ 0xd7300000
[0008.219] I> Init SCE
[0008.221] I> Copy BTCM section
[0008.225] I> Binary(13) of size 190592 is loaded @ 0x96000000
[0008.232] I> Binary(20) of size 280336 is loaded @ 0x85200200
[0008.238] I> MB2-params(VA) @ 0xd7000000
[0008.242] I> CPUBL-params(VA) @ 0xd7000000
[0008.246] I> CPUBL-params(PA) @ 0x277000000
[0008.250] I> CPU-BL loaded @ PA 0x96000000
[0008.254] I> Loading TOS ...
[0008.257] I> Binary(14) of size 62688 is loaded @ 0x85300400
[0008.263] I> Copying Monitor (length: 0xf2e0) from 0x85300600 to 0x40000000
[0008.270] I> Erasing Monitor @ 0x85300600
[0008.274] I> Unhalting SCE
[0008.277] I> Primary Memory Start:80000000 Size:70000000
[0008.282] I> Extended Memory Start:f0110000 Size:185ef0000
[0008.289] I> Waypoint2-ACK: 0x5200f1bc
[0008.293] I> MB2(TBoot-BPMP) Recovery done

NOTICE:  BL31: v1.2(release):27881aa0a
NOTICE:  BL31: Built : 03:58:47, Jul 25 2019
NOTICE:  Trusty image missing.
ERROR:   Error initializing runtime service trusty_fast
[0008.651] I> Welcome to TBoot-CPU Recovery(version: 01.00.160913-t186-M-00.00-mobile-2516e60f)
[0008.660] I> gpio framework initialized
[0008.663] I> tegrabl_gpio_driver_register: register 'tegra_gpio_main_driver' driver
[0008.671] I> tegrabl_gpio_driver_register: register 'tegra_gpio_aon_driver' driver
[0008.678] I> tegrabl_tca9539_init: i2c bus: 0, slave addr: 0xee
[0008.687] I> tegrabl_gpio_driver_register: register 'tca9539_gpio_driver' driver
[0008.695] I> tegrabl_tca9539_init: i2c bus: 0, slave addr: 0xe8
[0008.703] I> tegrabl_gpio_driver_register: register 'tca9539_gpio_driver' driver
[0008.710] I> tegrabl_tca9539_init: i2c bus: 0, slave addr: 0xec
[0008.716] E> i2c dev write failed
[0008.719] E> tca9539_device_init: failed to write polar reg
[0008.725] E> tegrabl_tca9539_init: failed to init device!
[0008.730] E> GPIO TCA9539 driver init failed
[0008.734] I> CPU: ARM Cortex A57
[0008.737] I> CPU: MIDR: 0x411fd073, MPIDR: 0x80000100
[0008.742] I> L2 ECC enabled : yes
[0008.745] I> CPU-BL Params @ 0x277000000
[0008.749] I>  0) Base:0x00000000 Size:0x00000000
[0008.753] I>  1) Base:0x277f00000 Size:0x00100000
[0008.758] I>  2) Base:0x277e00000 Size:0x00100000
[0008.762] I>  3) Base:0x277d00000 Size:0x00100000
[0008.767] I>  4) Base:0x277c00000 Size:0x00100000
[0008.771] I>  5) Base:0x277b00000 Size:0x00100000
[0008.776] I>  6) Base:0x277800000 Size:0x00200000
[0008.780] I>  7) Base:0x277400000 Size:0x00400000
[0008.785] I>  8) Base:0x277a00000 Size:0x00100000
[0008.789] I>  9) Base:0x277300000 Size:0x00100000
[0008.794] I> 10) Base:0x276800000 Size:0x00800000
[0008.798] I> 11) Base:0x30000000 Size:0x00040000
[0008.803] I> 12) Base:0xf0000000 Size:0x00100000
[0008.807] I> 13) Base:0x30040000 Size:0x00001000
[0008.812] I> 14) Base:0x30048000 Size:0x00001000
[0008.816] I> 15) Base:0x30049000 Size:0x00001000
[0008.821] I> 16) Base:0x3004a000 Size:0x00001000
[0008.825] I> 17) Base:0x3004b000 Size:0x00001000
[0008.829] I> 18) Base:0x3004c000 Size:0x00001000
[0008.834] I> 19) Base:0x3004d000 Size:0x00001000
[0008.838] I> 20) Base:0x3004e000 Size:0x00001000
[0008.843] I> 21) Base:0x3004f000 Size:0x00001000
[0008.847] I> 22) Base:0x00000000 Size:0x00000000
[0008.852] I> 23) Base:0xf0100000 Size:0x00010000
[0008.856] I> 24) Base:0x00000000 Size:0x00000000
[0008.861] I> 25) Base:0x00000000 Size:0x00000000
[0008.865] I> 26) Base:0x00000000 Size:0x00000000
[0008.869] I> 27) Base:0x00000000 Size:0x00000000
[0008.874] I> 28) Base:0x84400000 Size:0x00400000
[0008.878] I> 29) Base:0x30000000 Size:0x00010000
[0008.883] I> 30) Base:0x278000000 Size:0x08000000
[0008.887] I> 31) Base:0x00000000 Size:0x00000000
[0008.892] I> 32) Base:0x276000000 Size:0x00600000
[0008.896] I> 33) Base:0x80000000 Size:0x70000000
[0008.901] I> 34) Base:0xf0110000 Size:0x185ef0000
[0008.905] I> 35) Base:0x00000000 Size:0x00000000
[0008.910] I> 36) Base:0x00000000 Size:0x00000000
[0008.914] I> 37) Base:0x2772e0000 Size:0x00020000
[0008.919] I> 38) Base:0x84000000 Size:0x00400000
[0008.923] I> 39) Base:0x96000000 Size:0x02400000
[0008.927] I> 40) Base:0x85000000 Size:0x01200000
[0008.932] I> 41) Base:0x277000000 Size:0x00280000
[0008.936] I> 42) Base:0x00000000 Size:0x00000000
[0008.941] I> 43) Base:0x00000000 Size:0x00000000
[0008.945] I> bl dtb load address = @0x85200200
[0008.949] I> Recovery boot_type: 1
[0008.956] I> fixed regulator driver initialized
[0008.991] I> register 'maxim' power off handle
[0008.997] I> virtual i2c enabled
[0009.000] I> registered 'maxim,max77620' pmic
[0009.005] I> tegrabl_gpio_driver_register: register 'max77620-gpio' driver
[0009.011] I> Blob header @ 0x86200000
[0009.015] I> Loading kernel/boot.img from storage ...
[0009.020] I> Found imgtype:20 in blob @ idx:8, offset:3479976, size: 6739968
[0009.026] I> Load address: 0x865519a8
[0009.030] I> Found imgtype:21 in blob @ idx:9, offset:10219944, size: 280336
[0009.037] I> Load address: 0x92000000
[0009.040] I> Kernel DTB @ 0x92000000
[0009.044] I> Checking boot.img header magic ... [0009.048] I> [OK]
[0009.050] I> Valid boot.img @ 0x865519a8
[0009.054] I> decompressor handler not found
[0009.058] I> Copying kernel image (488506 bytes) from 0x865521a8 to 0x80080000 ... [0009.065] I> Done
[0009.067] I> Move ramdisk (len: 6248399) from 0x865c99a8 to 0x9d000000
[0009.076] I> Updated bpmp info to DTB
[0009.082] I> Ramdisk: Base: 0x9d000000; Size: 0x5f57cf
[0009.087] I> Updated initrd info to DTB
[0009.091] I> disabled_core_mask: 0xffffff0c
[0009.095] I> Kernel type = Normal
[0009.104] I> Find /i2c@c250000's alias i2c7
[0009.108] I> Reading eeprom i2c=7 address=0x50
[0009.138] I> Device at /i2c@c250000:0x50
[0009.142] I> Reading eeprom i2c=7 address=0x57
[0009.172] I> Device at /i2c@c250000:0x57
[0009.176] I> Find /i2c@c240000's alias i2c1
[0009.180] I> Reading eeprom i2c=1 address=0x51
[0009.186] E> i2c dev read failed
[0009.189] E> eeprom: Retry to read I2C slave device.
[0009.194] E> i2c dev read failed
[0009.197] E> eeprom: Failed to read I2C slave device
[0009.202] I> Eeprom read failed 0x1a89800d
[0009.206] I> Find /i2c@3160000's alias i2c0
[0009.210] I> Reading eeprom i2c=0 address=0x50
[0009.215] E> i2c dev read failed
[0009.218] E> eeprom: Failed to read I2C slave device
[0009.223] I> Eeprom read failed 0x1a89800d
[0009.228] I> Find /i2c@3180000's alias i2c2
[0009.232] I> Reading eeprom i2c=2 address=0x54
[0009.236] I> Enabling gpio chip_id = 2, gpio pin = 9
[0009.243] E> i2c dev read failed
[0009.246] E> eeprom: Failed to read I2C slave device
[0009.251] I> Disabling gpio chip_id = 2, gpio pin = 9
[0009.256] I> Eeprom read failed 0x00000000
[0009.260] I> add_serialno: Serial Num = 0420119074122
[0009.265] I> Linux Cmdline: root=/dev/nfs rw netdevwait ip=:::::eth0:on nfsroot=172.16.1.100:/home/schroede/nvidia/Linux_for_Tegra/rootfs console=ttyS0,115200n8 console=tty0 OS=l4t fbcon=map:0 net.ifnames=0 memtype=0 video=tegrafb no_console_suspend=1 earlycon=uart8250,mmio32,0x03100000 nvdumper_reserved=0x2772e0000 gpt androidboot.secureos=none tegraid=18.1.2.0.0 tegra_keep_boot_clocks maxcpus=6 android.kerneltype=normal androidboot.security=non-secure androidboot.serialno=0420119074122 bl_prof_dataptr=0x10000@0x277040000 sdhci_tegra.en_boot_part_access=1 
[0009.314] I> Updated bootarg info to DTB
[0009.317] E> "plugin-manager" doesn't exist, creating
[0009.322] E> "odm-data" doesn't exist, creating
[0009.328] E> tegrabl_nct_read_item: Error: NCT has not been initialized
[0009.335] E> Failed to get spec from NCT, err:563134503
[0009.340] W> WARNING: Getting spec not successful, skip...
[0009.345] I> eeprom_get_mac_addr: MAC (type: 0): 00:04:4b:c7:2f:77
[0009.351] I> eeprom_get_mac_addr: MAC (type: 1): 00:04:4b:c7:2f:78
[0009.357] I> eeprom_get_mac_addr: MAC (type: 2): 00:04:4b:c7:2f:79
[0009.363] E> "ids" doesn't exist, creating
[0009.367] E> "connection" doesn't exist, creating
[0009.372] E> "configs" doesn't exist, creating
[0009.376] I> create_pm_ids: id: 3310-1000-D00-E, len: 15
[0009.381] I> config: mem-type:00,power-config:00,misc-config:00,modem-config:00,touch-config:00,display-config:00,, len: 93
[0009.392] I> create_pm_ids: id: 2597-0000-900-C, len: 15
[0009.397] I> config: mem-type:00,power-config:00,misc-config:00,modem-config:00,touch-config:00,display-config:00,, len: 93
[0009.408] I> Adding plugin-manager/ids/3310-1000-D00=/i2c@c250000:module@0x50
[0009.415] E> "i2c@c250000" doesn't exist, creating
[0009.420] E> "module@0x50" doesn't exist, creating
[0009.425] I> Adding plugin-manager/ids/2597-0000-900=/i2c@c250000:module@0x57
[0009.432] E> "module@0x57" doesn't exist, creating
[0009.439] I> Adding plugin-manager/ids/3310-1000-D00-E
[0009.446] I> Adding plugin-manager/configs/3310-mem-type 00
[0009.451] I> Adding plugin-manager/configs/3310-power-config 00
[0009.457] I> Adding plugin-manager/configs/3310-misc-config 00
[0009.463] I> Adding plugin-manager/configs/3310-modem-config 00
[0009.469] I> Adding plugin-manager/configs/3310-touch-config 00
[0009.474] I> Adding plugin-manager/configs/3310-display-config 00
[0009.480] E> "chip-id" doesn't exist, creating
[0009.485] I> Adding plugin-manager/chip-id/A02P
[0009.491] I> added [base:0x80000000, size:0x70000000] to /memory
[0009.497] I> added [base:0xf0200000, size:0x185e00000] to /memory
[0009.503] I> added [base:0x276600000, size:0x200000] to /memory
[0009.509] E> WARNING: Failed to pass NS DRAM ranges to TOS
[0009.514] I> Updated memory info to DTB
[0009.520] E> "reset" doesn't exist, creating
[0009.524] E> "pmc-reset-reason" doesn't exist, creating
[0009.529] E> "pmic-reset-reason" doesn't exist, creating
[0009.535] I> disabled_core_mask: 0xffffff0c
[0009.546] I> Add serial number as DT property
[0009.551] I> tegrabl_load_kernel_and_dtb: Done
[0009.555] I> Filling _next_stage_param: ep: 0x80080000, dtb: 0x92000000
[0009.562] I> TBoot-CPU Recovery done



U-Boot 2016.07-geb5c15bec5 (Jul 25 2019 - 03:58:50 -0700)

TEGRA186
Model: NVIDIA P2771-0000-500
DRAM:  7.8 GiB
MC:   Tegra SD/MMC: 0, Tegra SD/MMC: 1
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   eth0: ethernet@2490000
Hit any key to stop autoboot:  0 
Tegra186 (P2771-0000-500) #

It is interesting that in the latest L4T release TBoot-CPU (v1.3) says, “Loading kernel from partition …” and in the R28.3.1 TBoot-CPU (v1.2) says, “Loading kernel/boot.img from storage …”

Hi JDSchroeder,

We will investigate this issue and update result to you.

I met the same problem when using NFS Root on the Linux Host,how to fix this problem, looking forward to your reply.

Hi .
I also want to try the network boot with TX2.
Is there any follow up on this?

This issue is fixed in next release. If you only want to use NFS boot, it is not necessary to enable rcm-boot.

To be clear:
The desire is to completely boot a system over RCM in RAM without any prior programming. This is useful for production programming of the module where an alternative mechanism is used to program the eMMC. Are you removing rcm-boot support or just fixing it?

Are you removing rcm-boot support or just fixing it?

We fix it. But it is inside the bootloader and no source code released. Better waiting for next release.