Raspberry Pi moves to 64bit Linux

Raspberry Pi moves to 64bit Linux

Technology News |
By Nick Flaherty

Raspberry Pi is trialling a beta of a 64bit version of Linux that runs on the majority of its boards, renaming its Raspbian OS.

The ARMv8-A architecture, which encompasses the 64-bit AArch64 architecture and associated A64 instruction set, was first introduced into the Raspberry Pi line with Raspberry Pi 3 in 2016. From that point on, it has been possible to run a full 64-bit operating system on boards using Broadcom processors, and many third-party operating systems are already available for these.

Raspberry Pi continued to build its own Linux operating system releases on the 32bit Raspbian platform, which is now called the Raspberry Pi OS, to maximise compatibility between devices and to avoid customer confusion.

Using arm6hf, the Raspbian derivative of armhf with ARMv7-only instructions removed but floating-point instructions retained, provides an operating system which will run on every device the company has ever manufactured, all the way back to 2011.

However this has still led to some confusion about which versions of Linux will run on which boards.

Product Processor ARM core Debian/Raspbian ARM
port (maximum)
Raspberry Pi 1 BCM2835 ARM1176 arm6hf 32 bit
Raspberry Pi 2 BCM2836 Cortex-A7 Armhf 32 bit
Raspberry Pi Zero BCM2835 ARM1176 arm6hf 32 bit
Raspberry Pi Zero 2 BCM2710 Cortex-A53 arm64 64 bit
Raspberry Pi 3 BCM2710 Cortex-A53 arm64 64 bit
Raspberry Pi 4 BCM2711 Cortex-A72 arm64 64 bit

Compatibility is a key concern, especially with some earlier boards in short supply. Many closed-source applications are only available for arm64, and open-source ones aren’t fully optimised for the armhf port. Beyond that there are some performance benefits intrinsic to the A64 instruction set: today, these are most visible in benchmarks, but the assumption is that these will feed through into real-world application performance in the future.

A more theoretical concern is that 32-bit pointers only allow developers to address 4GB of memory. The Raspberry Pi 4 uses the ARM Large Physical Address Extension (LPAE) to access up to 8GB of memory, subject to the constraint that any process is limited to accessing 3GB as the top 1GB of the virtual address space is reserved for the kernel. Very few processes require more memory than this: happily Chromium, which is probably the most memory-intensive application in Raspberry Pi OS, spawns a process per tab. But some applications will benefit from being able to allocate the entire memory of an 8GB Raspberry Pi 4 from a single process.

Another point is that the 64-bit version of Chromium, installed by default, has no version of the WidevineCDM library and therefore, it is not possible to play streaming media such as Netflix or Disney+. Raspberry Pi has simple instructions on how to move back to the 32bit version for these streaming applications.

Of course, the 64bit Linux runs on ARM’ Cortex A class of processor core. Raspberry Pi’s own silicon, the RP2040 used on the Pico board, has two ARM Cortex-M0+ cores clocked at 133MHz for lower level control applications.

Related Raspberry Pi articles

Other articles on eeNews Europe


If you enjoyed this article, you will like the following ones: don't miss them by subscribing to :    eeNews on Google News


Linked Articles