
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) |
Architecture width |
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.
https://www.raspberrypi.com/software/
Related Raspberry Pi articles
Other articles on eeNews Europe
- Micron pulls DRAM design out of China
- Munich’s €380m Quantum Valley takes shape
- EU to go head to head with SpaceX and OneWeb with quantum encryption
- AI satellite IoT module tackles chip shortage
- US looks to quantum-ready workers
