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.
Debian buster runs on the Raspberry Pi 3, but there are a few issues preventing us from releasing an official image:
vmdb2, the successor of vmdebootstrap, is not included in Debian yet.
The Wifi and Bluetooth modules are not currently supported. https://www.reddit.com/r/linux/comments/5etq3t/suse_releases_first_64bit_linux_os_for_raspberry/dagt12p/ says we need bcm2835-mmc for the second SD controller and use pinctrl to swap the busses.
- With linux-image-4.13.0-1-arm64 4.13.4-1, the necessary SD controller changes are done.
We still need a kernel config change to set CONFIG_BRCMFMAC_SDIO=y, tracked in 877911
- Further, the required brcm/brcmfmac43430-sdio.txt seems to be missing from linux-firmware.git, and consequently from the firmware-brcm80211 Debian package. stapelberg@ contacted Arend van Spriel, one of the Broadcom developers, about this.
- stapelberg@ got “iwlist wlan0 scan” to work after addressing the items above.
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.
Any help on these issues is very welcome!
To install the (unofficial, unsupported!) preview image on the SD card /dev/sdb, use:
$ wget https://people.debian.org/~stapelberg/raspberrypi3/2017-10-08/2017-10-08-raspberry-pi-3-buster-PREVIEW.img.bz2 $ bunzip2 2017-10-08-raspberry-pi-3-buster-PREVIEW.img.bz2 $ sudo dd if=2017-10-08-raspberry-pi-3-buster-PREVIEW.img of=/dev/sdb bs=5M
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:
$ 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
Workaround for WiFi
Use these instructions adapted from HowToCrossBuildAnOfficialDebianKernelPackage to build your custom kernel with the required flags for the 2017-10-08 image:
sudo apt install fakeroot git kernel-wedge quilt ccache crossbuild-essential-arm64 mkdir ~/build-kernel cd ~/build-kernel wget https://cdn-aws.deb.debian.org/debian/pool/main/l/linux/linux_4.13.4.orig.tar.xz git clone -n https://anonscm.debian.org/git/kernel/linux.git debian-kernel cd debian-kernel git checkout -b buster debian/4.13.4-2 export $(dpkg-architecture -aarm64) export PATH=/usr/lib/ccache:$PATH export DEB_BUILD_PROFILES="nopython nodoc pkg.linux.notools" export MAKEFLAGS="-j$(($(nproc)*2))" fakeroot make -f debian/rules clean fakeroot make -f debian/rules orig fakeroot make -f debian/rules source echo CONFIG_BRCMFMAC_SDIO=y >> debian/config/arm64/config fakeroot make -f debian/rules.gen setup_arm64 fakeroot make -f debian/rules.gen binary-arch_arm64
The completed .deb package can be found in ~/build-kernel/linux-image-4.13.0-1-arm64-dbg_4.13.4-2_arm64.deb. You will also need to extract /lib/firmware/brcm/brcmfmac43430-sdio.txt from Raspbian's firmware-brcm80211.