Skip to content

eMMC Internal Memory

Calin Crisan edited this page Dec 26, 2023 · 5 revisions

About

Some boards are equipped with internal flash memory, usually called eMMC. Using this type of memory instead of an SD card has two main advantages:

  • increased speed
  • better reliability thanks to the soldered connections instead of a mechanical socket

Procedure

thingOS can be written onto such internal memory; however, unless you have direct access to the eMMC memory, you'll first need to write the OS image onto a regular (micro) SD card and boot from it.

As soon as the system has booted, log in (e.g. via SSH) and identify the block device of your internal eMMC memory (usually /dev/mmcblk1), using the following command:

fdisk -l | grep "Disk /dev"

Now use the toemmc command to copy the OS from your SD card to your eMMC memory:

toemmc /dev/mmcblk1

If you have initially configured your network connection by providing configuration files on your SD card, you can transfer them to the eMMC memory by supplying the --net-config argument:

toemmc /dev/mmcblk1 --net-config

If you have injected factory defaults into the SD card image, they will be copied to eMMC as well by toemmc.

Autoflashing

If you wish to automatically flash the eMMC when booting from an SD card, there's a S01toemmc init script that will check for a /boot/toemmc.conf file and run toemmc accordingly.

Remarks

Keep in mind that the OS will be basically installed from scratch on the eMMC memory so don't expect any changes that you do to your SD card-based system to be propagated to the new installation (except for, optionally, the network configuration).

Clone this wiki locally