80 lines
2.8 KiB
Markdown
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`.
|
|
|