I successed the default SD boot with the rootfs mounted on both SD and NFS, no problem at all.
I tried the PXE opion with respect to the doc
---------------------------------------------------------------------------https://docs.nvidia.com/jetson/l4t/index.html#page/Tegra%20Linux%20Driver%20Package%20Development%20Guide/flashing.html#wwpID0E0SG0HA
It seems everything is fine with PXE setting, TFTP, NFS, but it failed booting, always stuck at:
[ 64.635187] tegra-xusb 70090000.xusb: cannot find firmware…retry after 1 second
[ 65.659160] tegra-xusb 70090000.xusb: Direct firmware load for tegra21x_xusb_firmware failed with error -2
[ 65.668816] tegra-xusb 70090000.xusb: Falling back to user helper
[ 107.651004] VFS: Unable to mount root fs via NFS, trying floppy.
[ 107.657280] VFS: Cannot open root device “nfs” or unknown-block(2,0): error -6
[ 107.664504] Please append a correct “root=” boot option; here are the available partitions:
[ 107.672853] 0100 8192 ram0 [ 107.676427] (driver?)
[ 107.678783] 0101 8192 ram1 [ 107.682356] (driver?)
[ 107.684720] 0102 8192 ram2 [ 107.688293] (driver?)
[ 107.690649] 0103 8192 ram3 [ 107.694220] (driver?)
[ 107.696585] 0104 8192 ram4 [ 107.700156] (driver?)
[ 107.702510] 0105 8192 ram5 [ 107.706083] (driver?)
[ 107.708444] 0106 8192 ram6 [ 107.712015] (driver?)
[ 107.714371] 0107 8192 ram7 [ 107.717941] (driver?)
[ 107.720303] 0108 8192 ram8 [ 107.723872] (driver?)
[ 107.726228] 0109 8192 ram9 [ 107.729797] (driver?)
[ 107.732159] 010a 8192 ram10 [ 107.735815] (driver?)
[ 107.738169] 010b 8192 ram11 [ 107.741827] (driver?)
[ 107.744187] 010c 8192 ram12 [ 107.747843] (driver?)
[ 107.750200] 010d 8192 ram13 [ 107.753857] (driver?)
[ 107.756219] 010e 8192 ram14 [ 107.759876] (driver?)
[ 107.762230] 010f 8192 ram15 [ 107.765888] (driver?)
[ 107.768253] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)
[ 107.776502] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 4.9.253-tegra #1
[ 107.783015] Hardware name: NVIDIA Jetson Nano Developer Kit (DT)
[ 107.789007] Call trace:
[ 107.791451] [] dump_backtrace+0x0/0x198
[ 107.796838] [] show_stack+0x24/0x30
[ 107.801879] [] dump_stack+0xa0/0xc4
[ 107.806921] [] panic+0x12c/0x2a8
[ 107.811701] [] mount_block_root+0x19c/0x2a0
[ 107.817434] [] mount_root+0x11c/0x134
[ 107.822647] [] prepare_namespace+0x170/0x1b8
[ 107.828467] [] kernel_init_freeable+0x220/0x244
[ 107.834548] [] kernel_init+0x18/0x108
[ 107.839761] [] ret_from_fork+0x10/0x30
[ 107.845062] SMP: stopping secondary CPUs
[ 107.849027] Kernel Offset: disabled
[ 107.852507] Memory Limit: none
[ 107.860873] Rebooting in 5 seconds…
My PXE setting is:
PROMPT 0
TIMEOUT 30
DEFAULT primary
MENU TITLE PXELinux boot options
LABEL primary
MENU LABEL primary kernel on TFTP
LINUX Image
FDT tegra210-p3448-0002-p3449-0000-b00.dtb
APPEND ${cbootargs} root=/dev/nfs nfsroot=10.42.0.1:/home/ning/jetson/Linux_for_Tegra/rootfs,tcp ip=dhcp nfsrootdebug booted-via-pxe=true
It seems NFS is not right, but the NFS booting is normal when I not using the PXE.
I then changed the PXE boot device to root=/dev/mmcblk0p1, it failed at
[ 64.635187] tegra-xusb 70090000.xusb: cannot find firmware…retry after 1 second
[ 65.659160] tegra-xusb 70090000.xusb: Direct firmware load for tegra21x_xusb_firmware failed with error -2
I just can’t figure out what’s the problem, can anyone give me a hint?
Thanks!