The original Raspberry Pis had an ARM11 core which used the ARMv6 architecture, and most distribution's ARM hardfloat ports require at least ARMv7-A, the reason for Raspberry Pi-specific distributions (please correct me if I'm wrong about any of that). But the Raspberry Pi 2's CPU has an ARMv7-A architecture, so a Debian armhf installer should run just fine, right? I flash my SD with debian-8.4.0-armhf-DVD-1.iso and put it in my Raspberry Pi 3 and nothing happens (I'm unsure about the exact architecture of the Raspberry Pi 3, but I think it's at least ARMv7-A, but I tried it in my Raspberry Pi 2 and still got no results). So what do I have to do to a Debian armhf installer to get it to run on a Raspberry Pi 3?
Debian stretch arm64 works quite well on the Raspberry Pi 3 (which has a 64-bit capable Cortex-A53). However, when preparing an SD card image you have to take certain things into account:
- an arm64 kernel from stretch-backports is recommended
- the bootloader/firmware package raspi3-firmware is required
- the Raspberry Pi expects a certain layout of the SD card
I have prepared a configuration that assembles a minimal Debian stretch arm64 image: https://github.com/lueschem/edi-pi/
It depends on your use case whether pure Debian is a good option:
- (+) cross compiling works great for pure Debian
- (-) not all Raspberry Pi 3 features work out of the box with pure Debian
- (+) pure Debian comes with support for snap packages (e.g. LXD)
- (-) the desktop experience is a lot more refined with Raspbian
Debian stretch armhf (32-bit) images for the Raspberry Pi 2/3 are also possible but not yet supported by the above configuration.
Please note that the Raspberry Pi 2 is not capable of running an arm64 image.
It's not ready for general use, and far too long to describe here, but Bruce Perens has had some success in Installing the Native Debian “armhf” Architecture on Raspberry Pi 3 Instead of Raspbian.
Neither Debian 7 (wheezy) or Debian 8 (jessie) support the Raspberry Pi3 in AArch64 mode. Debian 9 (stretch) will very likely support the Pi3 in 64bit mode , though. Progress can be monitored here: https://wiki.debian.org/RaspberryPi3