I’m looking at how to remove the eMMC from the device tree or otherwise make it inaccessible to the system during operation. I will be flashing to an external NVMe SSD for boot and root filesystem storage. What would be the easiest way to disable/remove the eMMC from the device tree?
Someone might have a better answer than me, but I don’t think you can do that. Your rootfs can exist on NVMe, but consider that Jetsons don’t have a BIOS. Instead, Jetsons have the equivalent in software for bringing up power rails, clocks, memory training, so on. There are cases where some of this might be on QSPI memory on the module itself, but so far as I know, you will always need some content in the eMMC partitions during early boot stages.
What might be better is if you give a detailed use-case of what it is you wish to accomplish. There might be a better answer.
My understanding is that would be handled by the QSPI itself, removing the need for the eMMC if an external NVMe is available. I believe the Nano and maybe the NX don’t even have an eMMC? I’m relatively new to this hardware so I could be wrong.
As for the use case, I have a requirement to clear user data on non-volatile memory devices if that device is not physically removable from the system. I was planning to flash a removable NVMe SSD to boot from and mount the filesystem to. On power down, I will remove the NVMe SSD for storage, leaving the Jetson inoperable until it is installed again. I was hoping to remove the eMMC from the device tree so that I don’t have to erase the entire eMMC prior to each power down. The QSPI will not need to be (and can’t be) cleared since it will not contain user data (i.e. filesystem).
I could be wrong, but so far as I know the hardware on an eMMC model is set up to mandate some eMMC access. It is true that the SD card dev kit models rely only on the QSPI for this, but I’ve not seen any indication that this can be migrated to the QSPI on the eMMC hardware models. A lot of people would be interested in knowing how much of an eMMC model can be moved to the QSPI, but NVIDIA would have to answer that.
Basically you can just use initrd flash tool and it won’t install anything to your emmc.
I am myself now curious about this: Would the
initrd flash succeed if he were to physically remove the eMMC? Or to disable it via device tree and boot software edits? I know this would never be recommended, but I’m wondering if need for eMMC on an eMMC model could be completely removed and turn this into the equivalent of a purely QSPI boot.
We won’t suggest to remove eMMC physically from the module. There won’t be warranty for the module anymore if anyone does any modification inside the module.
Modifying the device tree is possible but I there is no need to do that.
All Orin platforms have QSPI now so bootloader is not on eMMC.
Thanks for all of the info!
I definitely don’t want to remove the eMMC physically for the reason you mentioned as well as many others! I understand that there is generally no need to modify the device tree and remove the eMMC, however this is a very niche use case where I would like to do this for memory access and sanitization purposes.
I’ve been able to successfully flash my NVMe drive in the dev kit using initrd and boot from it. I then deleted all of the existing partitions on the eMMC via fdisk.
I’ve never modified the device tree before, and am fairly new to the Jetson products, so if there is any documentation as to how to go about removing the eMMC that would be great.
This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.