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?
-
3Possible duplicate of Which port of Debian Jessie to install on Raspberry Pi 2?– MilliwaysCommented Jun 3, 2016 at 3:28
-
You need the drivers specific to the Pi bundled in there. The standard way of doing this is by compiling the kernel yourself and including the correct modules.– tlhInganCommented Jun 3, 2016 at 18:26
-
Why do you not want Raspbian anyways? If it's the GUI, it can be disabled (command-prompt only) or replaced (proper LXDE, or XFCE are common).– tlhInganCommented Jun 3, 2016 at 18:28
-
Exact same methodology as described here WRT to Fedora: raspberrypi.stackexchange.com/q/27544/5538 I've kept that upgraded and currently use the same card in the 2 and 3 with the pre-compiled kernel from the github repos, etc.– goldilocks ♦Commented Aug 1, 2016 at 13:31
3 Answers
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
-
The only thing you'd need to get Debian's Arm64 port working would be a 64-bit Pi kernel -- which has been compiled if you search around, although I dunno if it comes out fully functional.– goldilocks ♦Commented Feb 9, 2017 at 14:23