Skip to content

Flashing the image

MyCustomerDisplay ships as a single SD card image per board — one file for the Pi Zero 2 W, one for the Pi 4, one for the Pi 5. Flashing it is the same as flashing any Raspberry Pi OS image: write the file to a microSD card with an imaging tool.

Get the image

Each build produces one .img file per board (plus a matching .raucb update bundle used later for OTA updates), named mcd-<board>-<version>.img, e.g. mcd-pi4-1.2.0.img.

  • If your organization publishes builds, use the .img file for your board from there.
  • To build it yourself from source, see the repository's build documentation (make image TARGET=pi4|pi02w|pi5) — this requires Docker but not a Raspberry Pi to run.

One image per board, not one image for all boards

The kernel, device-tree, and config.txt differ per board family. Flash the .img built for the exact board you have (pi02w, pi4, or pi5) — flashing the wrong one will not boot correctly.

Flash it

  1. Download and install Raspberry Pi Imager on your computer (Windows, macOS or Linux).
  2. Insert the microSD card into your computer.
  3. Open Raspberry Pi Imager:
    • Device: pick your board (or "No filtering" if it doesn't need to match — the image itself is board-specific, the Imager's device filter is just a convenience).
    • Operating SystemUse custom → select the mcd-<board>-<version>.img file.
    • Storage → select your SD card. Double-check this — it will be erased.
  4. Click Next, decline OS customisation ("No" when asked to apply OS customisation settings — MyCustomerDisplay is not Raspberry Pi OS and does not use those hooks), and confirm.
  5. Wait for write + verify to complete.

Option B — the repository's make flash helper (Linux, from source builds)

If you built the image yourself, a convenience target performs the same raw write with an interactive confirmation:

make flash TARGET=pi4 DEV=/dev/sdX

Replace /dev/sdX with your SD card's actual device node (check with lsblk first — writing to the wrong device will destroy its contents). This is a thin wrapper around dd; there is no partial/undo.

Option C — a generic imaging tool (balenaEtcher, dd, etc.)

Any tool that writes a raw disk image byte-for-byte works. Select the mcd-<board>-<version>.img file as the source and the SD card as the destination. Do not "unzip and copy files" — the image must be written as a raw disk image.

What's on the card

The image contains four partitions (informative — you don't need to interact with them directly under normal use):

# Label Purpose
1 boot (FAT32) Firmware, kernel, config.txt — readable from any PC, which is also where a factory-reset marker file can be dropped for recovery (see Factory reset)
2 / 3 system_a / system_b The two read-only OS slots used for safe OTA updates
4 data The only writable partition: configuration, uploaded content, splash images, logs

The data partition automatically grows to fill the rest of the SD card on first boot — you don't need to resize anything yourself, and a 16 GB+ card gives you more room for uploaded content bundles even though the image itself is much smaller.

Verify

After flashing, the SD card should show a small FAT32-labelled boot volume when you re-insert it into a PC (this is expected and normal — the other partitions use filesystems your desktop OS can't read). If your imaging tool reported a successful verify pass, you're ready for first boot.