64-bit OS and containers

With the aarch64 builds of Raspberry Pi OS finally released for general availability (for Pi 3B and newer) does it make sense for BlueOS to target 64-bit native builds rather than 32-bit? Many libraries are pre-built for aarch64 rather than armv7(l). Supporting 64-bit native OS would solve a few issues with an integration we’re working on.

1 Like

Hi @matt_bathyscope,

I mentioned the new 64-bit OS option internally last week, but I don’t believe there’s been much serious discussion on it yet. I have flagged to the software team that it’s now been asked about on the forum :slight_smile:

Are you able to share any more info about what issues 64-bit would solve for you? :slight_smile:

Sure, there are two main ones for us:

  1. Many pre-built libraries only support 64-bit OS builds now, so to support 32-bit we have to build them in our CI/CD pipeline and make the bits available ourselves.
  2. It cuts the number of platforms we must test/support in half if we only target 64-bit host OS.

Right now we’re building our integration as a docker container for both armv7 and aarch64 and publishing a combined manifest so the appropriate architecture is provided to clients when they pull our latest tag. Ideally we’d just publish for aarch64 and call it a day.

1 Like

Fair enough :slight_smile:

One system to run them all is definitely simpler, assuming it doesn’t have significant drawbacks/incompatibilities elsewhere. I’m unsure how problematic it would be to lose support for the 32-bit versions, so that’s something we’ll need to evaluate, but the conversation (internal and external) is started now :slight_smile:

Some benchmark numbers for the Pi 4 in 32-bit vs 64-bit mode - Further Investigating The Raspberry Pi 32-bit vs. 64-bit Performance Review - Phoronix.

Anecdotally, BlueOS on 64-bit Bullseye is working well for us on Pi 4 8GB boards. We’re going to do some test dives next week (weather permitting) so hopefully we’ll get some real-world performance numbers.

1 Like

Hi @Matt,

BlueOS if released with docker armv7 should not have any integration problem if your OS is running aarch64. We don’t have plans for a Raspberry image with the latest 64-bit OS for the near future of BlueOS, but you should be fine if you want to install BlueOS from scratch.

1 Like