Hello, we want jetson nano production module (b01) booting from external device.(microSD card, USB)
I’m trying to boot my Jetson Nano production module with the external device. if external device is not connected then boot from emmc of the production module.
we have done below modification of the /boot/extlinux/extlinux.conf file for boot from external device.
TIMEOUT 30
MENU TITLE L4T boot options
LABEL sdcard
MENU LABEL sdcard kernel
LINUX /boot/Image
INITRD /boot/initrd
APPEND ${cbootargs} quiet root=/dev/XXXX(external device node) rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 sdhci_tegra.en_boot_part_access=1
we made above modification and successfully boot from external device. when external device is unplug (disconnected) then not fallback to emmc. jetson nano not boot up.
we take the debug port access (u-boot access )and give input 0 or 1 then boot is working fine. but we need to solve this issue without using the access of the debug port.
Just in case you didn’t realize. You are not really booting from usb drive (or whatever that external device it is).
All your booting is actually from emmc. The “boot from” means where to load the extlinux.conf. In both of your cases, your extlinux.conf is read from emmc.
if we have remove the external device then did not fall back to emmc.
pls help to us for the how to overcome this issue without modification in kernel and u-boot bootloader.
actually i am booting from USB it’s going in a right way, when i remove the USB the actual booting supposed to be happens from eMMC but it’s not doing that .
our main concern is if external device is not connected that time it should fall back to emmc and boot from eMMC.
The actual thing you need to do is change the uboot boot target as the document mentioned. Below is the screenshot. Change the nvme to the usb0 as you want to boot from usb drive.
In case you really cannot understand what I am talking about…
This is from your “External_device_connected.txt”… You can see uboot tries to boot “mmc0”. It is your emmc. Not external drive…
This is from your “Remove_external_device.txt”. It is also from the emmc.
Thus, no matter what situation it is, you are actually loading extlinux.conf and kernel from your emmc… When external drive is removed, uboot does not care about it because you didn’t change the boot target… The boot target is always from emmc.
What you need to focus on is try to make uboot load extlinux.conf from external drive first… And when uboot notices external drive is missing, it will load the extlinux.conf from emmc… That is what you want…
Sorry to further confuse you here. This procedure I want to be done automatically.
If my primary rootfs (mmcblk1p1, sd card) is not available then my jetson nano must be able to boot from emmc image (mmcblk0p1).
please show me the way here; I tried to set primary and secondary rootfs in extlinux.conf but couldn’t succeeded