Uboot not loading from SDCard

Hello, i’m having trouble booting a custom image on a Jetson Nano Dev Kit 4 gig from the SD Card.

What i know so far:

  • i can boot the default SDCard Image without issues
  • i can boot my custom image on a 2gig Jetson Nano
  • i don’t really have any useful error messages on the console
  • i can see files on the sdcard from Uboot

What i’ve tried:

  • flashing the latest bsp package
  • different power
  • different sdcards

My current working theory is that my issue has something to do with the SPIFlash. 2gig device doesn’t try to use spiflash at all. my goal is to load the environment script from the SDCard.

Below is a log of the failing boot:

[0003.896] 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 earlypri
ntk=uart8250-32bit,0x70006000 maxcpus=4 usbcore.old_scheme_first=1 lp0_vec=0x1000@0xff780000 core_edp_mv=1125 core_edp_ma=4000
 gpt
[0003.930] DTB cmdline: earlycon=uart8250,mmio32,0x70006000
[0003.936] boot image cmdline: root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0
 net.ifnames=0
[0003.949] Updated bootarg info to DTB
[0003.953] Adding uuid 00000001642e12c02000000016038040 to DT
[0003.959] Adding eks info 0 to DT
[0003.964] WARNING: Failed to pass NS DRAM ranges to TOS, err: -7
[0003.970] Updated memory info to DTB
[0003.978] set vdd_core voltage to 1125 mv
[0003.982] setting 'vdd-core' regulator to 1125000 micro volts
[0003.988] Found secure-pmc; disable BPMP


U-Boot 2020.04-g6b630d64fd (Jul 09 2021 - 08:53:46 -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 SPI Flash... SF: Detected mx25u3235f with page size 256 Bytes, erase size 4 KiB, total 4 MiB
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   No ethernet found.
Hit any key to stop autoboot:  0
switch to partitions #0, OK
mmc1 is current device  
** Unrecognized filesystem type **
Card did not respond to voltage select!
starting USB...
Bus usb@7d000000: tegrausb: Invalid dr_mode 2 for host mode
probe failed, error -1  
Bus xusb@70090000:
Firmware size 124416
Firmware timestamp: 0x5da88fc3, Version: 50.25 release

Register HCSParams1: 9000124 NbrPorts: 9
Starting the controller 
USB XHCI 1.00
scanning bus xusb@70090000 for devices... 3 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found

Device 0: unknown device

Device 0: unknown device

Warning: eth_rtl8169 using MAC address from ROM
BOOTP broadcast 1
BOOTP broadcast 2
BOOTP broadcast 3
BOOTP broadcast 4
BOOTP broadcast 5

Abort

Latest release 32.5.1 moves the uboot to the QSPI and the parameters are also on the QSIP too.

Please try to learn how to use our driver package to put your customized uboot to QSPI if you want to use rel-32.5.1 bsp.

Thanks for the reply. I’ve read this document on using my custom kernel, but it always ends up flashing the original (not my custom one) uboot image.
below is a screenshot of the command i’m using. I copied my custom Uboot via this command that’s in the docs

cp <uboot_src_dir>/u-boot{,.bin,.dtb,-dtb.bin} \
<your_L4T_root>/Linux_for_Tegra/bootloader/<platform>/<board_and_rev>

Sorry for the double post, but i expect this will be a better read for anyone in the future than

RTFM

if anyone finds this in the future, that document linked above is wrong as of right now.
Screenshot from 2021-07-27 08-45-38

This screenshot indicates that you should place the new uboot image in a folder called

bootloader/jetson-nano-devkig/p3450-porg

which is just completely wrong. the real folder name should be

bootloader/t210ref/p3450-0000

which does not exist in the documentation anywhere.
Solved

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