Differences between revisions 56 and 61 (spanning 5 versions)
Revision 56 as of 2019-02-06 16:47:38
Size: 2537
Editor: GunnarWolf
Comment: Update to the 2019-02-06 image.
Revision 61 as of 2019-06-29 04:34:00
Size: 3825
Editor: GunnarWolf
Comment: Minor formatting changes
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
'''Note:''' This page was originally meant to provide support for the Raspberry Pi 3. Support for earlier families has been added since.
Line 3: Line 5:
Debian buster runs on all of the Raspberry Pi 3 models, but there are a few issues preventing us from releasing an official image: Debian buster should be able to run on all of the Raspberry Pi 3 models, but there are a few issues preventing us from releasing an official image:
Line 5: Line 7:
 * DebianPkg:vmdb2, the successor of vmdebootstrap, included in Debian "buster".
 * The Bluetooth module is untested.
 * We need to more thoroughly test the Raspberry's hardware:
 ** At least Raspberry Pi 0W, 2 and 3B+ are known to boot. Model 1 is not yet tested; other submodels are ''expected'' to work (but testing and documenting them is necessary!)
 ** 3B+ image reliably supports the wlan interface; 0W's not yet
 * The Bluetooth module is untested everywhere :-/
 * We definitively don't want to ship a non-preview image with a default password!
 * The new (June 2019) Raspberry Pi 4 is not yet supported (the kernel does not yet have a Device Tree for it)
Line 10: Line 16:
 * The hardware still needs a non-free binary blob to boot (included in the raspi3-firmware package). A [[https://github.com/christinaa/rpi-open-firmware|free software replacement]] is being worked on.  * The hardware still needs a non-free binary blob to boot (included in the raspi3-firmware package). A [[https://github.com/christinaa/rpi-open-firmware|free software replacement]] is being worked on but development is [[https://github.com/christinaa/rpi-open-firmware/issues/37|stalled]].
Line 14: Line 20:
== Preview image == == Preview images ==
Line 16: Line 22:
To install the (unofficial, unsupported!) preview image on the SD card {{{/dev/sdX}}}, use (change ''/dev/sdX'' to your SD card device name): First, lets set up some environment variables matching your needs. First, the raspberry model — It can currently be {{{0w}}}, {{{2}}} or {{{3}}}. If it's a {{{0w}}}:
Line 18: Line 25:
$ wget https://people.debian.org/~gwolf/raspberrypi3/20190206/20190206-raspberry-pi-3-buster-PREVIEW.img.xz
$ xzcat 20190206-raspberry-pi-3-buster-PREVIEW.img.xz | dd of=/dev/sdX bs=64k oflag=dsync status=progress
$ export RPI_MODEL=0w
}}}

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

{{{
$ export SD_CARD=/dev/sdf
}}}

Now, get the image you need:

{{{
$ wget https://people.debian.org/~gwolf/raspberrypi/20190628/20190628_raspberry-pi-${RPI_MODEL}_buster_PREVIEW.img.xz
Line 25: Line 43:
$ wget https://people.debian.org/~gwolf/raspberrypi3/20190206/20190206-raspberry-pi-3-buster-PREVIEW.img.xz.sha256
$ sha256sum -c 20190206-raspberry-pi-3-buster-PREVIEW.img.xz.sha256
$ wget https://people.debian.org/~gwolf/raspberrypi/20190628/20190628_raspberry-pi-${RPI_MODEL}_buster_PREVIEW.img.xz.sha256
$ sha256sum -c 20190628_raspberry-pi-${RPI_MODEL}_buster_PREVIEW.img.xz.sha256
20190628_raspberry-pi-0w_buster_PREVIEW.img.xz: OK
Line 29: Line 48:
If resolving client-supplied DHCP hostnames works in your network, you should be able to log into the Raspberry Pi 3 using SSH after booting it: Now, write the image to your SD card! Make sure {{{$SD_CARD}}} is right! (you risk losing information otherwise!)

{{{
$ xzcat 20190628_raspberry-pi-${RPI_MODEL}_buster_PREVIEW.img.xz | dd of=${SD_CARD} bs=64k oflag=dsync status=progress
}}}


If resolving client-supplied DHCP hostnames works in your wired network, you should be able to log into the Raspberry Pi using SSH after booting it (otherwise, you can only log in from the console):
Line 48: Line 74:
Unfortunately most Python GPIO libraries are unusable under arm64, as they try to detect the CPU revision from {{{/proc/cpuinfo}}}. The issue is tracked here: https://github.com/raspberrypi/linux/issues/2110 GPIO libraries work, but require some extra effort as of 2019-03-25.
 * For RPi.GPIO, see https://alioth-lists.debian.net/pipermail/pkg-raspi-maintainers/Week-of-Mon-20190318/000333.html
 * For gpiozero, see https://alioth-lists.debian.net/pipermail/pkg-raspi-maintainers/Week-of-Mon-20190318/000334.html

Note: This page was originally meant to provide support for the Raspberry Pi 3. Support for earlier families has been added since.

The Raspberry Pi 3 is a version of the RaspberryPi which was released in February 2016. It contains a 1.2 GHz ARM Cortex-A53 CPU and hence is the first version of the RaspberryPi to support the arm64 architecture. In 2018, two further models were added to the Raspberry Pi 3 family — The 3B+ and 3A+.

Debian buster should be able to run on all of the Raspberry Pi ≤3 models, but there are a few issues preventing us from releasing an official image:

  • We need to more thoroughly test the Raspberry's hardware:
  • * At least Raspberry Pi 0W, 2 and 3B+ are known to boot. Model 1 is not yet tested; other submodels are expected to work (but testing and documenting them is necessary!)

  • * 3B+ image reliably supports the wlan interface; 0W's not yet
  • The Bluetooth module is untested everywhere :-/
  • We definitively don't want to ship a non-preview image with a default password!
  • The new (June 2019) Raspberry Pi 4 is not yet supported (the kernel does not yet have a Device Tree for it)

Longer-term improvements:

  • The hardware still needs a non-free binary blob to boot (included in the raspi3-firmware package). A free software replacement is being worked on but development is stalled.

Any help on these issues is very welcome!

Preview images

First, lets set up some environment variables matching your needs. First, the raspberry model — It can currently be 0w, 2 or 3. If it's a 0w:

$ export RPI_MODEL=0w

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

$ export SD_CARD=/dev/sdf

Now, get the image you need:

$ wget https://people.debian.org/~gwolf/raspberrypi/20190628/20190628_raspberry-pi-${RPI_MODEL}_buster_PREVIEW.img.xz

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

$ wget https://people.debian.org/~gwolf/raspberrypi/20190628/20190628_raspberry-pi-${RPI_MODEL}_buster_PREVIEW.img.xz.sha256
$ sha256sum -c 20190628_raspberry-pi-${RPI_MODEL}_buster_PREVIEW.img.xz.sha256
20190628_raspberry-pi-0w_buster_PREVIEW.img.xz: OK

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

$ xzcat 20190628_raspberry-pi-${RPI_MODEL}_buster_PREVIEW.img.xz | dd of=${SD_CARD} bs=64k oflag=dsync status=progress

If resolving client-supplied DHCP hostnames works in your wired network, you should be able to log into the Raspberry Pi using SSH after booting it (otherwise, you can only log in from the console):

$ ssh root@rpi3
# Password is “raspberry”

For the sources of this image, please see https://github.com/Debian/raspi3-image-spec

If you have any questions/feedback, please direct them to https://lists.alioth.debian.org/mailman/listinfo/pkg-raspi-maintainers

GPIO

You can use sysfs to configure and control the GPIO pins. The pin numbers are offset by 458 (see /sys/kernel/debug/gpio). Thus to enable pin 4 (as root):

# echo "462" > /sys/class/gpio/export

GPIO libraries work, but require some extra effort as of 2019-03-25.

Known issues

Shipping a system with a preset root password usable over the network is a recipe for disaster. We want to tackle this! 😉