Raspi-image-spec/README.md

80 lines
2.8 KiB
Markdown

# Raspberry Pi 3 image spec
This repository contains the files with which the image referenced at
https://wiki.debian.org/RaspberryPi3 has been built.
## Option 1: Downloading an image
See https://wiki.debian.org/RaspberryPi3#Preview_image 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 3 image yourself. For
this, first install the
[requirements](http://git.liw.fi/vmdb2/tree/README)
of vmdb2. Then run the following:
```shell
git clone --recursive https://github.com/Debian/raspi3-image-spec
cd raspi3-image-spec
```
Then edit [raspi3.yaml](raspi3.yaml) to select the Debian repository that you
want to use:
- If you want to use the snapshot with which the build was tested, use
`http://snapshot.debian.org/archive/debian/20171007T213914Z/`. This is what
is pre-configured in raspi3.yaml. However, due to a [missing
feature](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=763419) on
snapshots, to make the build work, you have to disable an expiration check
by APT. To do so, edit raspi3.yaml to replace all
`apt-get` invocations with `apt-get -o Acquire::Check-Valid-Until=false`
- If you want to use the latest versions of each software, you can replace
`http://snapshot.debian.org/archive/debian/20171007T213914Z/` in raspi3.yaml
with `http://deb.debian.org/debian`. Of course, this means that the
build may break or fail to boot if there are regressions in the latest
versions.
Once you have edited raspi3.yaml, you can generate the image by
issuing the following:
```shell
umask 022
sudo env -i LC_CTYPE=C.UTF-8 PATH="/usr/sbin:/sbin:$PATH" \
./vmdb2/vmdb2 --output raspi3.img raspi3.yaml --log raspi3.log
```
## Installing the image onto the Raspberry Pi 3
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/sdb`, copy the image onto the SD card:
```shell
sudo dd if=raspi3.img of=/dev/sdb bs=64k oflag=dsync status=progress
```
Then, plug the SD card into the Raspberry Pi 3 and power it up.
The image uses the hostname `rpi3`, so assuming your local network correctly resolves hostnames communicated via DHCP, you can log into your Raspberry Pi 3 once it booted:
```shell
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:
```shell
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`.