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
.imgfile 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¶
Option A — Raspberry Pi Imager (recommended)¶
- Download and install Raspberry Pi Imager on your computer (Windows, macOS or Linux).
- Insert the microSD card into your computer.
- 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 System → Use custom → select the
mcd-<board>-<version>.imgfile. - Storage → select your SD card. Double-check this — it will be erased.
- 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.
- 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:
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.