After reviewing the official Raspberry Pi procedure for Flashing the eMMC on-board storage with Raspbian, I thought: this is really convoluted.  Surely there must be an easier way...


And I found one!  The compute module will present as a mass storage device when connected to your computer via the USB Slave Port which can be used as a target to which a Raspbian image directly onto using a tool called Etcher.  Much, much more streamlined and quicker.


I documented my solution at below link which will enable you to populate a Compute Module 3 / 3+ with a Raspbian image in a few short, easy to follow steps:


Method 1: Hard (Official) Way

Follow the official instructions from Raspberry Pi in below link if you like a Rube Goldberg / Heath Robinson way of doing things:

Method 2: Easy Way

Solution tested and known to work with Mac OSX version 10.14.4 on a Macbook Pro 2018. The adapters used with the legacy USB cable interface to connect to my Macbooks USB-C/Thunderbolt ports:

Ailun Type C Adapter,USB C Adapter

Step 1: Download & install Etcher for your OS

Step 2: Configure Hardware Connections

Insert a the MicroUSB end of the cable into the port lablelled "USB Slave"and the other end into your computer's USB port. Picture below shows USB-C adapter attached for users with only USB-C ports (new Macbooks).


My Compute Module IO Board (v3.0) shipped with the jumper correctly set, but ensure your "USB Slave Boot Enable" is set to "EN" and looks as below:

Enable USB Slave Boot Jumper

Step 3: Flash eMMC Storage with Raspbian Image

Start Etcher and then:

Set the Source: Choose Raspbian Image to be installed on Compute Module Chose the .img file of a local Raspbian image

Set the Target: Choose the Compute Module which will appear as a mass storage device

Compute Module now appears as a mass storage device to select as a flashing target. Select it and choose "Continue": Compute Module shows as a Mass Storage Device

Click "Flash"

Choose Compute Module

Voila. Raspbian is now installed on your Compute Module's eMMC storage. Remove the MicroUSB cable from the "USB Slave" port and the compute module can now be booted via the Compute Module IO Board by just inserting the power cable into it into the Micros USB "Power In" port.

Note that whatever the size of your eMMC storage- 8/16/24/32 GB - the file system will be expanded automatically to the maximum extent possible.


Hope this saves folks time and grief, getting you up and running more quickly-


-Terrence Houlahan