🛠 Stockage : déborder des 16 Go d'eMMC (microSD, NVMe M.2, migration)
Objectives
The embedded eMMC is only 16 GB and the TI Edge AI stack (SDK, models, datasets) devours it. You will learn how to boot from the microSD, migrate an existing rootfs, and use an NVMe SSD in the M.2 E-key connector — while being aware of the K3 boot chain pitfalls and the documented PCIe 2.4 Gbps limitation.
Hardware
- 1 BeagleBone AI-64
- 1 high-quality microSD card (A2/V30) between 64 GB and 256 GB
- Optional: M.2 E-key NVMe SSD (note: the connector is limited to 2.4 Gbps by a DTS workaround, issue #28)
Complete code
# 1. État des lieux
df -h / ; lsblk ; findmnt -no SOURCE /
# 2. Graver la MÊME image sur la grosse microSD, booter dessus :
# maintenir BOOT enfoncé pendant la mise sous tension.
sudo bmaptool copy BBAI-64-Debian-xxx.img /dev/sdX
# 3. Migrer les données de l'eMMC vers la microSD (booté sur eMMC, SD insérée)
sudo mkdir -p /mnt/sd && sudo mount /dev/mmcblk1p2 /mnt/sd
sudo rsync -aHAXx --info=progress2 / /mnt/sd/ # hors fichiers virtuels /proc /sys /dev
sudo umount /mnt/sd
# 4. NVMe sur M.2 E-key (carte éteinte, puis boot)
sudo nvme list
sudo mkfs.ext4 /dev/nvme0n1
sudo mkdir /opt/datasets && sudo mount /dev/nvme0n1 /opt/datasets
echo '/dev/nvme0n1 /opt/datasets ext4 defaults,noatime 0 2' | sudo tee -a /etc/fstab
# 5. Désigner le stockage racine retenu : reflasher/graver puis valider
sudo reboot # avec BOOT enfoncé pour forcer la microSD
Expected verification
findmnt -no SOURCE / shows the new storage device, df -h displays the expected capacity, and the Edge AI SDK installation completes without space errors. The NVMe appears in nvme list and remounts automatically after reboot (no "cannot mount root" panic).
Common errors
- Forgetting to press the BOOT button at the right time: without it during the power cycle, the board reboots from the eMMC.
- Low-quality microSD card: intensive writes from the SDK kill them within a few weeks; use A2/V30.
- Expecting 5 Gbps from the M.2: the DTS workaround caps it at 2.4 Gbps — "disappointing" NVMe throughput = documented behavior.
- Editing the wrong
/etc/fstabafter migration: edit the one on the CURRENT root (checkfindmntfirst), otherwise the board will no longer mount/optat boot. - The RESET button has no effect on some images when booting from eMMC (issue #29): use
rebootor a power cycle instead.
Other tutorials for this board
- Flasher l'image officielle et démarrer la BeagleBone AI-64
- Faire clignoter une LED sur la broche P8_03 avec libgpiod
- Surveiller la température et l'alimentation du TDA4VM
- Réseau : Ethernet Gigabit unique et module Wi-Fi en M.2 E-key
- Caméra MIPI CSI et encodage H.264 matériel via GStreamer
- Remoteproc : inventorier et démarrer les co-processeurs R5F et C66x
Code examples for this board
clignotante.pyPythonbouton-gpio.pyPythoncapteur-i2c.shBashsurveillance-temperature.shBashcapteur-dht11.pyPythonservo-pwm-sysfs.shBash