We are automatically building daily images to run on all of the Raspberry Pi models.

More info in https://raspi.debian.net/ - please go there if you have trouble with the following instructions!

Installation Using Daily images

First, lets set up some environment variables matching your needs. First, the raspberry model — It can currently be 1(for 0 AND 1 family!), 2, 3 or 4. If it's a 4:

export RPI_MODEL=4

Second, where is your SD card detected in your computer? Lets say, it's /dev/sdf:

export SD_CARD=/dev/sdf

Third, which Debian release you want to use? Can be bullseye for the current stable, and bookworm for the testing, upcoming release. Lets say, it's bullseye:

export DEBIAN_RELEASE=bullseye

Now, get the image you need:

wget https://raspi.debian.net/daily/raspi_${RPI_MODEL}_${DEBIAN_RELEASE}.img.xz

It is recommended to check the image was correctly downloaded by comparing its SHA256:

wget https://raspi.debian.net/daily/raspi_${RPI_MODEL}_${DEBIAN_RELEASE}.img.xz.sha256
sha256sum -c raspi_${RPI_MODEL}_${DEBIAN_RELEASE}.img.xz.sha256

This should say something like, depending on the hardware version and release you chose:

raspi_4_buster.img.xz: OK

Now, write the image to your SD card! Make sure $SD_CARD is right! (you risk losing information otherwise!)

xzcat raspi_${RPI_MODEL}_${DEBIAN_RELEASE}.img.xz | dd of=${SD_CARD} bs=64k oflag=dsync status=progress

The built images are shipped with a *passwordless root*, which means, you can log in as root as long as you do it locally (either via a serial console or using a USB keyboard). You are encouraged to set a root password as early as possible!

In order to log in remotely, create a non-root user; this user will be able to log in via ssh.

For the sources of this image (and/or for customizing your own build), please see https://salsa.debian.org/raspi-team/image-specs

Rolling your own Installation from another GNU/Linux machine

It’s not necessary to dump a prebuilt image onto the SD card. You can use the configurable builder used to create the images linked above, a simple shell script creating Raspberry Pi 3B+ arm64 (or armhf) images, or another shell script creating SD card images for all RPi models to create your own image file or install straight to the SD card, from another running GNU/Linux machine.

This avoids problems with things like preset passwords, machine IDs, lack of random bytes/entropy, …


You can update your installation using regular Debian commands (providing you have network access):

# apt update && apt upgrade 

When there is a new kernel, it will be upgraded too (tested with the Pi4 image), and the file /boot/firmware/config.txt will be edited automatically to reflect the change. You can simply reboot to activate it. :-)

The provided images use a very minimal installation. You may find it useful to run the following command to install some standard packages:

# tasksel install --new-install standard