Raspi-image-spec/README.md

2.7 KiB

Raspberry Pi image specs

This repository contains the files with which the images referenced at https://wiki.debian.org/RaspberryPiImages have been built.

Option 1: Downloading an image

See https://wiki.debian.org/RaspberryPiImages for where to obtain the latest pre-built image.

Option 2: Building your own image

If you prefer, you can build a Debian buster Raspberry Pi image yourself. If you are reading this document online, you should first clone this repository:

git clone --recursive https://salsa.debian.org/raspi-team/image-specs.git
cd image-specs

For this you will first need to install the vmdb2 package, on a Debian Buster or higher system.

The recipes for building the images are:

  • raspi0w.yaml for Raspberry Pi 0 and 0w. We believe (but have not tested) it should also work on the 1 models.
  • raspi2.yaml for Raspberry Pi 2.
  • raspi3.yaml for all of the Raspberry Pi 3 models.

You can edit them to customize the built image. Although it could (should!) be better documented, http://git.liw.fi/vmdb2/tree/README's format is very easy to understand.

Once you have edited the recipe for your hardware, you can generate the image by issuing the following (as root):

    ./vmdb2/vmdb2 --rootfs-tarball=raspi3.tar.gz --output \
	raspi3.img raspi3.yaml --log raspi3.log

Of course, substituting raspi3 with the actual flavor you need.

Installing the image onto the Raspberry Pi

Plug an SD card which you would like to entirely overwrite into your SD card reader.

Assuming your SD card reader provides the device /dev/mmcblk0 (Beware If you choose the wrong device, you might overwrite important parts of your system. Double check it's the correct device!), copy the image onto the SD card:

sudo dd if=raspi3.img of=/dev/mmcblk0 bs=64k oflag=dsync status=progress

Then, plug the SD card into the Raspberry Pi, and power it up.

The image uses the hostname rpi0w, rpi2 or rpi3 depending on the target build, so assuming your local network correctly resolves hostnames communicated via DHCP, you can log into your Raspberry Pi once it booted:

ssh root@rpi3
# Enter password “raspberry”

Note that the default firewall rules only allow SSH access from the local network. If you wish to enable SSH access globally, first change your root password using passwd. Next, issue the following commands as root to remove the corresponding firewall rules:

iptables -F INPUT
ip6tables -F INPUT

This will allow SSH connections globally until the next reboot. To make this persistent, remove the lines containing "REJECT" in /etc/iptables/rules.v4 and /etc/iptables/rules.v6.