BalenaOS may be the First Fully Functional 64-bit OS for Raspberry Pi 4

BalenaOS 64-Bit OS

Balena just announced the release of a 64-bit OS for the Raspberry Pi 4, that latest release of the iconic SBC. BalenaOS is designed to run 32-bit and 64-bit Docker containers side-by-side and simultaneously.  It also supports up to 4GB of memory, to accomplish that feat. The balenaOS also supports several other embedded systems and versions of Raspberry Pi

How BalenaOS Is Set Up

The BalenaOS is opensource, Yocto Linux-based host OS made for containers. The workflow is fast and current and allows for a number of different embedded systems, but especially Raspberry Pi 4 in a 64-bit environment.

The Main Advantage

With the advances in the Raspberry Pi 4 platform, the faster data throughput, improved graphics handling, and the faster processor speeds, the BalenaOS is taking full advantage of the Raspberry Pi 4.  It adds a wide variety of possibilities to a platform that was waiting for this improvement. 

Raspberry Pi 4 64-bit OS

Embedded System Function

The OS has developed a workflow to push containers to the device and to take full advantage of the operation of the Docker Engine, balenaEngine, in embedded systems. This translates into a way to fight against harsh networking conditions and power situations that tend to be unstable, along with reduced bandwidth requirements.

The IoT and Edge Computing Support

The release of 26,000 container base images, for IoT and Edge Computing, means that balenaOS is ready to get started right out of the box.  There is a wide variety of languages and distributions including builds and run variants on that variety of images.

The Yocto Approach

The Yocto Board Support Package (BSP) addressed the changes to the Raspberry Pi 4 hardware, in both the kernel and bootloader (u-boot) as well as other components.

Bootloader

For the bootloader, the issue was mainly in figuring out undocumented memory mapping for the devices. A quick example would be the base addresses on each SoC is different in each of the Raspberry Pi versions.  Other changes focus on board configuration, clock definition, and aarch64 memory map, all needing hardware-specific information without access to a datasheet. Help was found from the Raspberry Pi Foundation and the existing dts for 32-bit. The work is available in the u-boot-fork and has been merged in upstream.

Linux

The Linux side of the 64-bit support started with the 32-bit kernel. The work was kickstarted and found to have issues, like the direct-memory-access, DMA needed to be limited to the first 1 GB. The 64-bit version required this limit as well as the 32-bit version.  This issue and others required a change to the defconfig side for selecting the right support, which can be found at Raspberry Pi Linux repository

Getting Started with BalenaOS 64-bit for Raspberry Pi 4

Ahead over to the download page  to retrieve the latest
BalenaOS 2.41.0+rev4 OS for Raspberry Pi 4. You can then configure it and flash it as explained in our getting started guide.

Further Reading and Comparisons

Overall, with the help of the Raspberry Pi Foundation, and the quality and quantity of the images and repository information, there seems to be a good chance this might be more stable than the community-supported 64-bit Ubuntu 18.04.03 release for Raspberry Pi 4,

 

Support CNX Software - Donate via PayPal or cryptocurrencies, become a Patron on Patreon, or buy review samples
Subscribe
Notify of
guest
11 Comments
oldest
newest most voted
Advertisements