AArch64 on Raspberry Pi 2 (rev 1.2), 3B, 3B+


Nice detective work! What happens if you use the old dtb with the new kernel? There should be copies in /boot and /boot/firmware.

There is a bug about the 3B+ Ethernet, but you should have the fix https://bugs.launchpad.net/ubuntu/+source/linux-raspi2/+bug/1797406


Tried to downgrade kernel, didn’t go as planned :frowning: so now re-installing …


This time installed without selecting the option to update packages, but at end of install still ended up with the 1027 kernel version after reboot with wired ethernet non functional. Took a different approach this time by enabling WiFi and upgrading to 18.10, on reboot wired ethernet is working :slight_smile:


I can confirm that the wired network started to work after upgrading up to cosmic cuttlefish. I would like to ask howto remove all of the gui apps to make distro work as a server only with terminal and ssh ? Evertime I used tasksel do purge the unnecesary packages it removed also the whole network subsystem. I can’t install it again without any network connection.
In my case - 3B+


If you want a server install, then it is best to start with one of the official server images/isos. See https://wiki.ubuntu.com/ARM/RaspberryPi#Booting_generic_arm64_ISO_images .


Dear stillwinter
Thanks for info. I need to modify such options to be able to boot. I have done it before without so the image won’t boot at my Raspberry.
Can I use your preparied img to mixed with the generic server arm64 image ?


The 3B+ was released too late for full support in the 18.04 generic kernel (e.g. ethernet probably doesn’t work), but 18.10 should work okay. If you need to use the Linux-raspi2 kernel with the Debian/text-installers then I gave instructions here AArch64 on Raspberry Pi 2 (rev 1.2), 3B, 3B+ .

At the start of the thread AArch64 on Raspberry Pi 2 (rev 1.2), 3B, 3B+ I also gave instructions to remove the xubuntu packages, but I haven’t fully tested what gets removed.



I have a few questions regarding the setup for arm64.

I’m assuming the correct command is cp /tmp/pi-kernel/lib/firmware/$RASPI_VER/device-tree/broadcom/bcm2710*.dtb . and not cp /tmp/pi-kernel/lib/firmware/$RASPI_VER/device-tree/broadcom/bcm2710*.dtb broadcom, right?

Also how where would I need to copy the overlays? And what are they needed for?

Last but not least, the link https://wiki.ubuntu.com/ARM/RaspberryPi#Updating_the_Pi_GPU_firmware_and_bootloader_files only provides armhf files and no arm64. Is this ok? And if not where would I get the arm64 files?



If you connect any addon boards, or if you want to try the vc4 driver. The overlays folder needs to be on the firmware partition because it is used by the raspberry pi bootloader when you have a corresponding device tree overlay line in your config.txt.


To use arm64 you need a line in your config.txt.

# boot in AArch64 (64-bit) mode

I’ll add it to the post above.


Wanting to be able to use my DS3231 RTC. I have added “dtoverlay=i2c-rtc,ds3231” to config.txt. i2c is also enabled. however, I cannot find the overlay.


Having successfully installed using the 18.04 install USB image and upgrading to 18.10, am scripting the
described process to build a 18.10 USB install image. Has anyone already done this, as might save me a bit of time? Thanks.