Amazon.co.uk Widgets

Install Raspberry Pi OS using Raspberry Pi Imager

Overview

For Mac computers with Apple silicon

Raspberry Pi Imager is a quick and easy way to install Raspberry Pi OS and other operating systems to a microSD card, ready to use with a Raspberry Pi. It has been reported that the macOS Intel binary does not function properly with the internal SD card reader on Mac computers with Apple silicon. In any case the macOS binary requires the Rosetta 2 translation technology which I don't wish to use. There is an experimental build of rpi-imager for macOS which is a universal binary which means it supports Mac computers with Apple silicon withou requiring the Rosetta translation technology.

Before you start!

This article is aimed at people wishing to use a Mac computer with Apple silicon, such as an M1 or M2 based Mac, to create an SD card image of Raspberry Pi OS for a Raspberry Pi. It references an experimental, untested build which according to the Github issue which provides some information about it, is not about to be released or supported anytime soon.

TL:DR — If you have a Mac computer with Apple silicon, and a Raspberry Pi, then this might be useful otherwise you'd be better looking directly at the Raspberry Pi OS imager software download on the Raspberry Pi website

Install Raspberry Pi OS using Raspberry Pi Imager

Using a Mac computer with Apple silicon

Raspberry Pi Imager (rpi-imager) is a simple way to image a microSD card with Raspberry Pi OS (formerly known as Raspbian) or a variety of other operating systems such as Ubuntu Desktop, Server and Core, Manjaro, Apertis and RISC OS Pi. rpi-imager also includes support for Media Player OS distributions as well as emulation and game OS distributions and specific purpose OS distributions. rpi-imager is a very useful tool for new users and experts alike because microSD formatting is complicated and probably harder than it ought to be in this day and age. The official microSD formatting tool is old fashioned and hard to use, and operating systems tools are rarely perfectly tuned to the needs of microSD.

Contents

Using Raspberry Pi Imager

Choose OS, Choose Storage, Write microSD card

rpi-imager downloads a data file of available options, keeping itself up to date. Once you load the tool you can choose an operating system from the categorised list and write it to your microSD card. rpi-imager writes the microSD card as it downloads which is a performance benefit. It also caches downloaded operating system images for future use, which might matter if you use this tool often.

  • Raspberry Pi Imager initial screen
    Screenshot of rpi-imager showing the main menu default choice of Raspberry Pi OS
    rpi-imager showing the main menu default choice of Raspberry Pi OS
  • Raspberry Pi Imager alternative operating systems screen
    Screenshot of rpi-imager showing the alternative distributions available
    rpi-imager showing the alternative distributions available
  • Raspberry Pi Imager ready to write image screen (I used an external microSD card reader)
    Screenshot of rpi-imager showing the image and microSD card selected
    rpi-imager showing the image and microSD card selected
  • Raspberry Pi Imager warning that you will overwrite the data on the microSD card
    Screenshot of Raspberry Pi Imager warning that you will overwrite the data on the microSD card
    Raspberry Pi Imager warning that you will overwrite the data on the microSD card
  • Raspberry Pi Imager writing the microSD card
    Screenshot of rpi-imager writing the microSD card
    rpi-imager writing the microSD card
  • Raspberry Pi Imager finished writing the image to the microSD card
    Screenshot of rpi-imager finished writing the image to the microSD card
    rpi-imager finished writing the image to the microSD card

Advanced options

Image customisations

An advanced settings dialog can be accessed from the keyboard shortcut Cmd Shift X

  • lets you set the hostname, username, and ssh enablement for the image as part of its creation.
    Screenshot of rpi-imager showing the advanced options screen
    rpi-imager showing the advanced options screen

Extra logging when launched from the terminal

Note from Github that if you start Imager from the terminal, it will print extra logging information including the number of seconds it took to write the image. e.g.% /Applications/Raspberry\ Pi\ Imager.app/Contents/MacOS/rpi-imager

% /Applications/Raspberry\ Pi\ Imager.app/Contents/MacOS/rpi-imager
OSX most preferred language: "en_GB"
qt.qpa.fonts: Populating font family aliases took 72 ms. Replace uses of missing font family "Roboto" with one that exists to avoid this cost. 
QQmlEngine::setContextForObject(): Object already has a QQmlContext
qrc:/main.qml:298:21: QML Rectangle: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
QObject::setParent: Cannot set parent, new parent is in a different thread
Available disk space for caching: 39 GB
mountutils: Creating DA session
mountutils: Getting disk object
mountutils: Unmounting
mountutils: Schedule session on run loop
mountutils: Starting run loop
mountutils: [unmount]: Unmount callback
mountutils: [unmount]: Unmount success
mountutils: Releasing session & disk object
Telemetry done. cURL status code = 0
RECEIVED SIZE: 2
SCMRIGHTS
fd received: 14
Zeroing out first and last MB of drive
Done zeroing out start and end of drive. Took 0 seconds
Image URL: "https://downloads.raspberrypi.org/raspios_arm64/images/raspios_arm64-2022-04-07/2022-04-04-raspios-bullseye-arm64.img.xz"
Received header: HTTP/2 200 

Received header: date: Tue, 16 Aug 2022 10:36:30 GMT

Received header: server: Apache

Received header: last-modified: Mon, 04 Apr 2022 15:06:01 GMT

Received header: etag: "2f4fdd74-5dbd57764c23a"

Received header: accept-ranges: bytes

Received header: content-length: 793763188

Received header: content-type: application/x-xz

Received header: 

Download done in 1278 seconds
Hash of uncompressed image: "0f59c7e72a5bb9a1cae768b3600dbc15f6d64e709eb49390492c4ac980dc0164"
Write done in 1291 seconds
Done writing cache file
Verify hash: "0f59c7e72a5bb9a1cae768b3600dbc15f6d64e709eb49390492c4ac980dc0164"
Verify done in 127.65 seconds
Writing first block (which we skipped at first)
mountutils: Creating DA session
mountutils: Getting disk object
mountutils: Unmounting
mountutils: Schedule session on run loop
mountutils: Starting run loop
mountutils: [eject]: Unmount callback
mountutils: [eject]: Unmount success
mountutils: [eject]: Ejecting...
mountutils: [eject]: Eject callback
mountutils: [eject]: Eject success
mountutils: Releasing session & disk object



Trademark

Raspberry Pi is a trademark of Raspberry Pi Ltd.

References

See also: