TEGRABOOT=“bootloader/t186ref/nvtboot.bin”;
WB0BOOT=“bootloader/t186ref/warmboot.bin”;
FLASHAPP=“bootloader/tegraflash.py”;
FLASHER=“bootloader/nvtboot_recovery_cpu.bin”;
BOOTLOADER=“bootloader/nvtboot_cpu.bin”;
INITRD=“bootloader/l4t_initrd.img”;
TBCFILE=“bootloader/cboot.bin”;
BPFFILE=“bootloader/bpmp.bin”;
TOSFILE=“bootloader/tos.img”;
EKSFILE=“bootloader/eks.img”;
MTSPREBOOT=“bootloader/preboot_d15_prod_cr.bin”;
MTS=“bootloader/mce_mts_d15_prod_cr.bin”;
MB1FILE=“bootloader/mb1_prod.bin”;
SOSFILE=“bootloader/mb1_recovery_prod.bin”;
MB2BLFILE=“bootloader/nvtboot_recovery.bin”;
" ------------------------------------------from p2771-0000.conf.common.sh
Requirement:
We want to changed the u-boot or nvtboot.
Trouble:
We have tried to changed bootloader,but I can’t find the src of nvtboot.
Also I downloaded the src of u-boot ,but I can’t find the code for burning.
Can you please help? thank you
At some point in time flashing U-Boot on a TX2 was this, but I don’t know if this is valid with all releases:
sudo ./flash.sh -r -k cpu-bootloader jetson-tx2 mmcblk0p1
I don’t know about the code for nvtboot.
We didn’t release the code of nvtboot. What you can change is the cboot or uboot.
Thank you very much for your info.
Nvtboot:
We want to change the freq of CPU or DDR,initial state,etc…
U-boot:
We want to change “(2) delay in seconds before automatically booting” of menuconfig u-boot,but type info Information stopped when “Boot logo display failed…” appears.
Could you please offer me the “config.mk” of U-boot in Jetpet3.3 ?
Could you try to set his in uboot console?
setenv bootdelay 0
saveenv
I’m truly grateful for your help.
Could you please list the menu of setenv?
Hi wangxin,
uboot is 3rdparty source and you could refer to the code.
You could refer to u-boot/cmd and u-boot/doc
What do you mean by menu? When you enter the U-Boot command prompt (hit any key when it offers…if you’ve disabled delay then you won’t get that chance):
Tegra186 (P2771-0000-500) # <b>help</b> setenv
setenv - set environment variables
Usage:
setenv [-f] name value ...
- [forcibly] set environment variable 'name' to 'value ...'
setenv [-f] name
- [forcibly] delete environment variable 'name'
Here is an R28.2 environment printed for reference from the U-Boot command prompt:
Tegra186 (P2771-0000-500) # <b>printenv</b>
arch=arm
baudrate=115200
board=p2771-0000
board_name=p2771-0000
boot_a_script=load ${devtype} ${devnum}:${distro_bootpart} ${scriptaddr} ${prefix}${script}; source ${scriptaddr}
boot_efi_binary=load ${devtype} ${devnum}:${distro_bootpart} ${kernel_addr_r} efi/boot/bootaa64.efi; if fdt addr ${fdt_addr_r}; then bootefi ${kernel_addr_r} ${fdt_addr_r};else boot
efi ${kernel_addr_r} ${fdtcontroladdr};fi
boot_extlinux=sysboot ${devtype} ${devnum}:${distro_bootpart} any ${scriptaddr} ${prefix}extlinux/extlinux.conf
boot_net_pci_enum=pci enum
boot_net_usb_start=usb start
boot_prefixes=/ /boot/
boot_script_dhcp=boot.scr.uimg
boot_scripts=boot.scr.uimg boot.scr
<b>boot_targets=mmc1 mmc0 usb0 pxe dhcp</b>
<b>bootcmd=run distro_bootcmd</b>
bootcmd_dhcp=run boot_net_usb_start; run boot_net_pci_enum; if dhcp ${scriptaddr} ${boot_script_dhcp}; then source ${scriptaddr}; fi;setenv efi_fdtfile ${fdtfile}; setenv efi_old_vc
i ${bootp_vci};setenv efi_old_arch ${bootp_arch};setenv bootp_vci PXEClient:Arch:00011:UNDI:003000;setenv bootp_arch 0xb;if dhcp ${kernel_addr_r}; then tftpboot ${fdt_addr_r} dtb/${
efi_fdtfile};if fdt addr ${fdt_addr_r}; then bootefi ${kernel_addr_r} ${fdt_addr_r}; else bootefi ${kernel_addr_r} ${fdtcontroladdr};fi;fi;setenv bootp_vci ${efi_old_vci};setenv boo
tp_arch ${efi_old_arch};setenv efi_fdtfile;setenv efi_old_arch;setenv efi_old_vci;
<b>bootcmd_mmc0=setenv devnum 0; run mmc_boot</b>
bootcmd_mmc1=setenv devnum 1; run mmc_boot
bootcmd_pxe=run boot_net_usb_start; run boot_net_pci_enum; dhcp; if pxe get; then pxe boot; fi
bootcmd_usb0=setenv devnum 0; run usb_boot
<b>bootdelay=2</b>
calculated_vars=kernel_addr_r fdt_addr_r scriptaddr pxefile_addr_r ramdisk_addr_r
cbootargs=root=/dev/mmcblk0p1 rw rootwait 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 tegra_fbmem2=0x140000@0x969ec000 lut_mem2=0x2008@0x969e9000 tegraid=18.1.2.0.0 tegra_keep_boot_clocks maxcpus=6 boot.slot_suffix= boot.ratchetvalues=0.1.1 androidboot.serialno=0334916010131 bl_prof_dataptr=0x10000@0x277040000 sdhci_tegra.en_boot_part_access=1
cpu=armv8
defaultdevplist=1
<b>distro_bootcmd=for target in ${boot_targets}; do run bootcmd_${target}; done</b>
efi_dtb_prefixes=/ /dtb/ /dtb/current/
ethaddr=00:04:4b:80:e5:6b
fdt_addr=92000000
fdt_addr_r=82200000
fdt_addr_r_align=00200000
fdt_addr_r_offset=00000000
fdt_addr_r_size=00200000
fdt_high=ffffffffffffffff
fdtcontroladdr=ffb2b220
initrd_high=ffffffffffffffff
kernel_addr_r=80080000
kernel_addr_r_aliases=loadaddr
kernel_addr_r_align=00200000
fdt_addr_r_offset=00000000
fdt_addr_r_size=00200000
fdt_high=ffffffffffffffff
fdtcontroladdr=ffb2b220
initrd_high=ffffffffffffffff
kernel_addr_r=80080000
kernel_addr_r_aliases=loadaddr
kernel_addr_r_align=00200000
kernel_addr_r_offset=00080000
kernel_addr_r_size=02000000
load_efi_dtb=load ${devtype} ${devnum}:${distro_bootpart} ${fdt_addr_r} ${prefix}${efi_fdtfile}
loadaddr=80080000
<b>mmc_boot=if mmc dev ${devnum}; then setenv devtype mmc; run scan_dev_for_boot_part; fi</b>
pxefile_addr_r=82600000
pxefile_addr_r_align=00200000
pxefile_addr_r_offset=00000000
pxefile_addr_r_size=00200000
ramdisk_addr_r=82800000
ramdisk_addr_r_align=00200000
ramdisk_addr_r_offset=00000000
ramdisk_addr_r_size=02000000
scan_dev_for_boot=echo Scanning ${devtype} ${devnum}:${distro_bootpart}...; for prefix in ${boot_prefixes}; do run scan_dev_for_extlinux; run scan_dev_for_scripts; done;run scan_dev_for_efi;
<b>scan_dev_for_boot_part=part list ${devtype} ${devnum} -bootable devplist; env exists devplist || setenv devplist $defaultdevplist; for distro_bootpart in ${devplist}; do if fstype ${devtype} ${devnum}:${distro_bootpart} bootfstype; then run scan_dev_for_boot; fi; done</b>
scan_dev_for_efi=setenv efi_fdtfile ${fdtfile}; for prefix in ${efi_dtb_prefixes}; do if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${efi_fdtfile}; then run load_efi_dtb; fi;done;if test -e ${devtype} ${devnum}:${distro_bootpart} efi/boot/bootaa64.efi; then echo Found EFI removable media binary efi/boot/bootaa64.efi; run boot_efi_binary; echo EFI LOAD FAILED: continuing...; fi; setenv efi_fdtfile
scan_dev_for_extlinux=if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}extlinux/extlinux.conf; then echo Found ${prefix}extlinux/extlinux.conf; run boot_extlinux; echo SCRIPT FAILED: continuing...; fi
scan_dev_for_scripts=for script in ${boot_scripts}; do if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${script}; then echo Found U-Boot script ${prefix}${script}; run boot_a_script; echo SCRIPT FAILED: continuing...; fi; done
scriptaddr=82400000
scriptaddr_align=00200000
scriptaddr_offset=00000000
scriptaddr_size=00200000
soc=tegra186
stderr=serial
stdin=serial
stdout=serial
usb_boot=usb start; if usb dev ${devnum}; then setenv devtype usb; run scan_dev_for_boot_part; fi
vendor=nvidia
Environment size: 4811/8188 bytes
With regard to how fast the system boots some lines are in boldface. The one you are specifically asking about is “bootdelay=2”.
FYI, the values of environment are set up, and then “bootcmd” is run. In the above “bootcmd” expands" distro_bootcmd". On the assumption that the first target it finds with a valid partition is mmc0 (the eMMC), then it would execute “bootcmd_mmc0”, and so on. You can edit any of those to do things like remove scan of the SD card slot (or other scans for devices) to shorten the boot slightly. These all occur after the U-Boot prompt detect…after that brief moment when U-Boot pauses before allowing you to enter the prompt. Once these run the list of kernels is presented.
Here is a useful URL on U-Boot environment:
https://www.denx.de/wiki/DULG/UBootEnvVariables
Do note that when there is no bootdelay you can never again enter the U-Boot prompt without flashing. There is a README at the top directory of the U-Boot source with information on bootdelay.