Remove your usb drive and your system shall back to work…
Your kernel version and your rootfs is not matched. In brief, your system is booting from part of internal emmc, and part of usb.
Remove your usb drive and your system shall back to work…
Your kernel version and your rootfs is not matched. In brief, your system is booting from part of internal emmc, and part of usb.
But that USB is what I need to login from. It should boot from this 120GB pendrive like it did before
I can login with another pendrive but this 128GB pendrive is where my all work and supported packages are installed
The following are my guess
From the beginning, you don’t know the exact boot flow so actually your boot is always part of from emmc and part of from usb drive.
Sometimes you are lucky that both the version of the usb drive and emmc are using same jetpack version. In that case, you can boot up.
And the reason you filed this issue is the unlucky situation. Your emmc has a older version that does not match this usb drive…
Please adjust boot target in the uboot in the serial console when boot up process.
1. To set USB drive to boot first with a plain boot command, change the U‑Boot variable boot_targets to "usb0 mmc1 mmc0 pxe dhcp", then enter the U‑Boot command run boot.
2. To make the change permanent, run saveenv in U-Boot after changing boot_targets but before booting
Yeah understood, when i expanded memory from emmc to usb i just copied root file system from emmc and pasted in USB, so both are matched. And when i upgraded recently only USB root file system upgraded and created all this mess. But i still dont understand why it is booting from both emmc and USB, is it the actual process or this mismatch triggering emmc intervention?
And could you please elaborate this process in a bit more detail? i’m afraid i’d lose it permanently
When you see this part in your serial console. This is uboot.
U-Boot 2020.04-g4335beb (Jun 08 2023 - 21:16:44 -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 MMC... *** Warning - bad CRC, using default environment
In: serial
Out: serial
Err: serial
Press esc in this stage and you will enter uboot console and you can do what I said in previous comment.
Uboot is a public open source bootloader that you can find the usage over the Internet.
The issue here is you never adjusted the boot target in uboot. So it always read the kernel from your emmc.
What command should I enter to change U‑Boot variable? I pressed esc and i entered ‘help’ and i got this.
U-Boot 2020.04-g4335beb (Jun 08 2023 - 21:16:44 -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 MMC... *** Warning - bad CRC, using default environment
In: serial
Out: serial
Err: serial
Net: No ethernet found.
Hit any key to stop autoboot: 0
Tegra210 (P3450-0000) #
Tegra210 (P3450-0000) # boot_targets
Unknown command 'boot_targets' - try 'help'
Tegra210 (P3450-0000) # help
? - alias for 'help'
base - print or set address offset
bdinfo - print Board Info structure
blkcache - block cache diagnostics and control
boot - boot default, i.e., run 'bootcmd'
bootd - boot default, i.e., run 'bootcmd'
bootefi - Boots an EFI payload from memory
bootelf - Boot from an ELF image in memory
booti - boot Linux kernel 'Image' format from memory
bootm - boot application image from memory
bootp - boot image via network using BOOTP/TFTP protocol
bootvx - Boot vxWorks from an ELF image
cmp - memory compare
coninfo - print console devices and information
cp - memory copy
crc32 - checksum calculation
dcache - enable or disable data cache
dfu - Device Firmware Upgrade
dhcp - boot image via network using DHCP/TFTP protocol
dm - Driver model low level access
echo - echo args to console
editenv - edit environment variable
enterrcm - reset Tegra and enter USB Recovery Mode
env - environment handling commands
exit - exit script
ext2load - load binary file from a Ext2 filesystem
ext2ls - list files in a directory (default /)
ext4load - load binary file from a Ext4 filesystem
ext4ls - list files in a directory (default /)
ext4size - determine a file's size
ext4write - create a file in the root directory
false - do nothing, unsuccessfully
fatinfo - print information about filesystem
fatload - load binary file from a dos filesystem
fatls - list files in a directory (default /)
fatmkdir - create a directory
fatrm - delete a file
fatsize - determine a file's size
fatwrite - write file into a dos filesystem
fdt - flattened device tree utility commands
fstype - Look up a filesystem type
go - start application at address 'addr'
gpio - query and control gpio pins
gzwrite - unzip and write memory to block device
help - print command description/usage
i2c - I2C sub-system
icache - enable or disable instruction cache
imxtract - extract a part of a multi-image
itest - return true/false on integer compare
ln - Create a symbolic link
load - load binary file from a filesystem
loadb - load binary file over serial line (kermit mode)
loads - load S-Record file over serial line
loadx - load binary file over serial line (xmodem mode)
loady - load binary file over serial line (ymodem mode)
loop - infinite loop on address range
ls - list files in a directory (default /)
lzmadec - lzma uncompress a memory region
md - memory display
mii - MII utility commands
mm - memory modify (auto-incrementing address)
mmc - MMC sub system
mmcinfo - display MMC info
mw - memory write (fill)
nm - memory modify (constant address)
nvme - NVM Express sub-system
part - disk partition related commands
pci - list and access PCI Configuration Space
ping - send ICMP ECHO_REQUEST to network host
printenv - print environment variables
pxe - commands to get and boot from pxe files
reset - Perform RESET of the CPU
run - run commands in an environment variable
save - save file to a filesystem
saveenv - save environment variables to persistent storage
setenv - set environment variables
sf - SPI flash sub-system
showvar - print local hushshell variables
size - determine a file's size
sleep - delay execution for some time
source - run script from memory
sspi - SPI utility command
sysboot - command to get and boot from syslinux files
test - minimal test like /bin/sh
tftpboot - boot image via network using TFTP protocol
true - do nothing, successfully
ums - Use the UMS [USB Mass Storage]
unzip - unzip a memory region
usb - USB sub-system
usbboot - boot from USB device
version - print monitor, compiler and linker version
Tegra210 (P3450-0000) #
Finally, I can login into Jetson. Thank you so much WayneWWW. For those who have similar problem, follow the bellow commands in the serial console terminal:
U-Boot 2020.04-g4335beb (Jun 08 2023 - 21:16:44 -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 MMC... *** Warning - bad CRC, using default environment
In: serial
Out: serial
Err: serial
editenv boot_targets
commandusb0 mmc1 mmc0 pxe dhcp
saveenv
command to save your boot target variableboot
command to continue booting from the updated targetThanks again WayneWWE
This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.