2

NOTE: This question & solution ONLY relates to Compute Modules 3 or 3+ with on-board eMMC storage. The "Lite" versions of these has NO eMMC Storage

I'm working on a project involving prototyping and bought a "Raspberry Pi Compute Module 3 Dev Kit" which shipped with a Compute Module 3 with 4GB of eMMC on-board storage and more recently the newer "Raspberry Pi Compute Module 3+ Dev Kit" with a Compute Module 3+ with 32GB of on-board eMMC storage.

Both kits ship with the "Compute Module IO Board v3.0" used to interface with these Compute Modules.

How do I install Raspbian on the Compute Module's eMMC storage?!?!?!

I'll share the (2) ways I found to populate the Compute Module 3/3+ eMMC storage with the Raspbian OS to hopefully make your lives considerably easier

3

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:

https://www.raspberrypi.org/documentation/hardware/computemodule/cm-emmc-flashing.md

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

https://www.balena.io/etcher/

Step 2: Configure Hardware Connections

Insert a the MicroUSB end of the cable into the port labelled "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).

NOTE: If NOT connecting to IO board with a USB-C lead (which supplies power to it) as pictured in example, connect power lead to board before proceeding.

Connections

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.

  • Thank you a ton for posting this. The primary method, as pointed to by Raspberry Pi Foundation, didn't seem to be working for me. Your method using balenaEtcher worked great! One important note: I don't think you mention above that a developer needs to power up the dev board in order for balenaEtcher to recognize it. So, in order for this method to work for me, I had to power up the dev board via the J2 micro USB, then also plug in my computer to micro USB slave. – risingtiger Aug 20 at 23:30
  • My example uses USB-C which powers the board, but yes, I shouldn't take this as the common configuration; USB-C is still not widely enough adopted. So per your feedback I added a note stating if "not" using USB-C for the user to connect IO board to the mains with the power lead. Thanks for your feedback- very much appreciated! – F1Linux Aug 21 at 7:04
  • 1
    👍. yeap, that would make sense about usb-c – risingtiger Aug 22 at 14:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.