I move a system.img file from one PC to another PC with new L4T installed, and flash Nano (eMMC), but the board stays in the middle of the boot process and do not print any error to use what is happening. Does system.img include all bootloaders, kernels, file systems, and dtb?If I want to create a clone in first PC, it only clones a partition called app, but I need all the partitions.
In general, if I want to give a file to another person, and he flash his board and have all my bootloader, kernel, dtb and file system, what should I do. For nano board with eMMC
I use flash scrip with -r, to use current system.img file
** sudo ./flash.sh -r jetson-nano-emmc mmcblk0p1
system.img” is only the root filesystem. The other content is used for boot. When using what is essentially a clone (and a default image can be treated as a clone if using it from another computer), then you want to be sure your flash command does not flash only the rootfs. That command should also flash the non-rootfs content. Your use of “
-r” should accomplish this and is correct.
However, if your installed content on the second host PC is for a different L4T release version, then boot would still fail. There is a strong dependency between non-rootfs release version and rootfs version.
Additionally, if you have any kind of boot customization (for example, because you are using a custom carrier board which mandates a different device tree), then you would have to also add that customization to the new host PC.
Note also that if your
system.img is not a default size, then it is possible that flash would not correctly place the image into the partition layout. I would think that this probably results in a flash error though.
If you truly want to debug this and not just try flashing again, then you’ll need a serial console boot log. See:
I see kernel boot prints via minicom, but nothing. boot just stopped after kernel starts.
OK, system.img is just rootfs. Is there anyway to clone all emmc?
instead of cloning whole emmc, please refer to Flash Script Usage, you may include
-r options to skip building system.img; to reuse the existing one to flash the board quickly.
BTW, you may also refer to l4t_generate_soc_bup.sh script file to generates bootloader and kernel payloads.
Assuming serial console has not been disabled, then if loading Linux simply halts, it tends to imply something in the boot setup is incomplete. Usually this is fixed by flashing again and putting all of the content back in place.
What @JerryChang mentions in using “
-r” is how you use your rootfs (
system.img), but put all the rest of the content in place.
If you clone everything your odds of success go down to near zero unless you are adding the exact same code to the exact same Jetson. If anything changes, then your odds of success go up greatly by transferring only the system.img (the “
-r” option), and allowing flash to put in the correct “other” boot content.