About Flashing to a USB Drive

Hello, @WayneWWW


1, Can you tell me the path before include?
2. Does the document even introduce how to apply uboot after building it?

Thank you.

Please download the uboot source from the website.

1 Like

Hello, @kayccc @WayneWWW

Do I need to get the uboot source provided by nvidia? Do I need to get a normal uboot source?

Thank you.

Uboot source also provided in the L4T webstie.

1 Like

Hello, @WayneWWW @kayccc

Here is the l4t 32.6.1 page.
Where can I find the uboot source?

Thank you.

Same tarball file as where you downloaded the kernel source.

1 Like

Hello, @WayneWWW

Can I modify it as follows to boot from usb?

if right
How to apply uboot rebuild to jetson?

#ifndef CONFIG_SPL_BUILD
#ifndef BOOT_TARGET_DEVICES
#define BOOT_TARGET_DEVICES(func) \
	func(MMC, mmc, 1) \
	func(MMC, mmc, 0) \
	func(USB, usb, 0) \
	func(PXE, pxe, na) \
	func(DHCP, dhcp, na)
#endif

change boot sequence

#define BOOT_TARGET_DEVICES(func) \
	func(USB, usb, 0) \
	func(MMC, mmc, 1) \
	func(MMC, mmc, 0) \
	func(PXE, pxe, na) \
	func(DHCP, dhcp, na)
#endif

Thank you.

You can search uboot.bin under your BSP/bootloader and replace the old uboot file.

1 Like

Hello, @WayneWWW

Could not find uboot.bin under bootloader directory.

  1. How to build uboot
  2. How to apply the built uboot

can you guide me about

or_Tegra/bootloader$ ls
bmp.blob mksparse
boot.img mnt
boot.img.sb nv_boot_control.conf
BUP_generator.py nvidia-l4t-bootloader_32.7.1-20220219090432_arm64.deb
cboot.bin NVIDIA_Trademark_License_Addendum_SW.pdf
chkbdinfo nvtboot.bin
crc-flash.xml.bin nvtboot_cpu.bin
crc-flash.xml.tmp nvtboot_cpu_rb.bin
cvm.bin nvtboot_recovery.bin
eks.img nvtboot_recovery_cpu.bin
emmc_bootblob_ver.txt P3448_A00_lpddr4_204Mhz_P987.cfg
extlinux.conf pycache
flashcmd.txt rp4.blob
flash_parameters.txt sc7entry-firmware.bin
flash_win.bat signed
flash.xml system.img
flash.xml.sb system.img.raw
initrd t210ref
kernel_tegra210-p3448-0002-p3449-0000-b00.dtb tegra210-p3448-0002-p3449-0000-b00.dtb
kernel_tegra210-p3448-0002-p3449-0000-b00.dtb.sb tegrabct
l4t_bup_gen.func tegradevflash
l4t_initrd.img tegraflash_internal.py
LICENSE tegraflash.py
LICENSE.chkbdinfo tegrahost
LICENSE.mkbctpart tegraopenssl
LICENSE.mkbootimg tegraparser
LICENSE.mkgpt tegrarcm
LICENSE.mksparse tegrasign
LICENSE.tegraopenssl tegrasign_v3_internal.py
LICENSE.tos-mon-only.img.arm-trusted-firmware tegrasign_v3.py
LICENSE.u-boot tegrasign_v3_util.py
mkbctpart tos.img
mkbootimg tos-mon-only.img
mkgpt warmboot.bin

Thank you.

Hello, @WayneWWW

Can I refer to the article below document?
https://docs.nvidia.com/jetson/archives/l4t-archived/l4t-3261/index.html#page/Tegra%20Linux%20Driver%20Package%20Development%20Guide/uboot_guide.html#wwpID0E0GJ0HA

Thank you.

You can follow that. But you still need to put the new uboot binary to the path.

Search file name with “u-boot” in your BSP.

1 Like

Hello, @WayneWWW

As mentioned above, there is no uboot.bin under the Linux_for_tegra/bootloader folder.
Can I just copy the newly built uboot.bin under the bootloader?

Thank you.

Honestly, I don’t want to be a babysitter here to keep teaching you some basics.

Can’t you just use find command for any file contains “u-boot” in your bootloader folder?

1 Like

Hello,

Linux_for_Tegra/bootloader/t210ref/p3450-0000$ ls
u-boot.bin

Thank you.

Yes, good. Smart guy.

1 Like

I’m sorry for the basic question.

Hello,

But still, when I check boot_targets with printenv, mmc1 comes out first.

Is the source edit not reflected well?

[ 2.9182 ] tegradevflash --write BCT P3448_A00_lpddr4_204Mhz_P987.bct
[ 2.9194 ] Cboot version 00.01.0000
[ 2.9214 ] Writing partition BCT with P3448_A00_lpddr4_204Mhz_P987.bct
[ 2.9220 ] […] 100%
[ 3.3209 ]
[ 3.3211 ] Coldbooting the device
[ 3.3237 ] tegradevflash --reboot coldboot
[ 3.3251 ] Cboot version 00.01.0000
[ 3.3276 ]
*** The [LNX] has been updated successfully. **

In: serial
Out: serial
Err: serial
Net: No ethernet found.
Hit any key to stop autoboot: 0
Tegra210 (P3450-0000) # printenv boot_targets
boot_targets=mmc1 mmc0 usb0 nvme0 pxe dhcp

Thank you.

Hello, @WayneWWW

I simply changed the boot order in the uboot/include/config/tegra-common-post.h file as follows and replaced the old uboot binary after building uboot.

After that, even after flashing with the following command, it does not boot from USB. Am I missing something?
sudo ./flash.sh -k LNX mmcblk0p1

#define BOOT_TARGET_DEVICES(func) \
	func(USB, usb, 0) \
	func(MMC, mmc, 1) \
	func(MMC, mmc, 0) \
	func(PXE, pxe, na) \
	func(DHCP, dhcp, na)
#endif

Thank you.

Any log to share?

1 Like

Hello, @WayneWWW

I have attached log file.
teraterm__usb_boot.log (23.7 KB)

Thank you.