One thing I am not clear on, for a production unit, can we continue to boot from an SDCard if we use the SDCard connections that are brought out to the module edge and not use the eMMC that is on the module?
There are multiple ways to leverage the external devices.
You can “mount the rootfs” to the external sdcard. In such method, bootloaders and kernel still remain on emmc.
You can flash the whole boot components and rootfs to some kinds of devices.
We put some methods in L4T developer guide (e.g. Flashing to a USB Drive)
Please note that the flashing sdcard in that page indicate the sdcard image, which is not supported for production module.
Method (1) supports widely than (2). That is because kernel supports more kinds of external devices than bootloaders.
For example, you can see that “Flashing to a USB driver” section indicates no support TX2.
Ahh, okay. So if we go with option 1 which would be for production, then as you said the boot loader and kernel would be on the eMMC, but then our rootfs would pull from the SDCard.
I guess in that case, if we wanted to swap kernels, that would be a pain to do it that way as we’d have to swap both the SDCard image if we had never stuff we needed from the rootfs and then update the kernel on the eMMC.
I just ordered a few production units so I could test running off the eMMC instead, and then use the SDCard just for external storage.
Let me ask this as a follow on question, if we go ahead and use the eMMC instead, if we want end users to be able to update their eMMC image, is there a document describing how that is done? My guess would be an image on the USB0 and using firmware mode, but I am not sure how I instruct a user do that.
Do you mean you want a method to do some OTA upgrade (Over-The-Air) for your customer?
I don’t believe so, we will not be using wireless on these devices.
We’d like to put say an image on a USB stick, and then have some way of using that to flash a new OS internally.
Unfortunately, no such method is provided.
We have OTA method to upgrade through Debian package.
Okay, thanks for letting me know. Can you point me to that package and I’ll dig in deeper. Maybe we can just roll our own once we understand how the OTA works.