Skip to content

Build official Standalone Binary for Linux ARM #8957

Closed

Description

@ddribin

Standalone binaries for Linux ARM have traditionally been built externally:

https://borg.bauerj.eu

However, it appears to be abandoned. That project has not released ARM binaries for version 1.4.1, which was released 2 months ago.

Would it be possible to build an official Standalone Binary for Linux ARM?

Activity

  1. ThomasWaldmann commented on Jul 16, 2025

    @ThomasWaldmann
    Member

    The issue with that is that I use vagrant virtualbox VMs to build the binaries.

    I don't think I can build ARM binaries in a similarly automatable way.

  2. ddribin commented on Jul 17, 2025

    @ddribin
    Author

    Ah, I see! And VirtualBox can only emulate Intel CPUs?

    I think those ARM binaries are built with Docker, which supports Intel and ARM. Unfortunately, I couldn't figure out how to get it to build 1.4.1.

  3. ThomasWaldmann commented on Jul 17, 2025

    @ThomasWaldmann
    Member

    I usually build the binary and then run the tests using the python code as well as the fat binary. For the tests, containers like docker aren't enough, I need the full OS and OS kernel (== a real VM).

  4. ddribin commented on Jul 18, 2025

    @ddribin
    Author

    Okay, unfortunate you can't run the tests inside the container.

    I doubt this helps, since I believe it requires an ARM host, but Multipass works well for running Ubunutu ARM VMs (at least on an ARM-based macOS):

    https://canonical.com/multipass

    But that probably does not work with your current testing infrastructure, either.

    Sounds like I should start trying to use pip to install Borg on ARM Linux.

  5. ThomasWaldmann commented on Jul 18, 2025

    @ThomasWaldmann
    Member

    The usual approach on Linux is that there is a package from the Linux dist.

  6. ddribin commented on Jul 18, 2025

    @ddribin
    Author

    Unfortunately, those are very out-of-date, at least on Ubuntu.

    The most current Ubuntu LTS (Long Term Support) version, 24.04 LTS, ships with version 1.2.8:

    https://launchpad.net/ubuntu/noble/+package/borgbackup

    And the previous (but still supported)version, 22.04 LTS, ships with 1.2.0:

    https://launchpad.net/ubuntu/jammy/+package/borgbackup

    1.2.0 seems almost egregiously out-of-date. At least 1.2.8 is the latest 1.2.x version.

    I only use LTS versions for servers, as they are great for server stability, but I also want the most current bug fixes and features for Borg. In particular, I want BORG_EXIT_CODES=modern from 1.4.x since it's very easy for files to change on a server during the backup (e.g. log files) and produce annoying "failed" exit codes.

    But even the must current non-LTS Ubuntu version is behind and ships with 1.4.0:

    https://launchpad.net/ubuntu/plucky/+package/borgbackup

    Summary of all of Ubuntu's Borg versions:

    https://launchpad.net/ubuntu/+source/borgbackup

    Only the in-development version ships with 1.4.1.

  7. ddribin commented on Jul 18, 2025

    @ddribin
    Author

    BTW, I love Borg! It's been super great, and has saved my bacon a number of times! So thank you for all the work and effort you put into it!

  8. ThomasWaldmann commented on Jul 18, 2025

    @ThomasWaldmann
    Member
  9. added this to the 2.0.0b20 milestone on Oct 14, 2025
  10. ThomasWaldmann commented on Oct 14, 2025

    @ThomasWaldmann
    Member

    1.4-maint: see #9066 and upcoming 1.4.2 release.

    It is built on Ubuntu 22.04 ARM64 glibc 2.35, so guess it might be useful for some people, but not everybody. Sadly, there is no older ARM linux under the github runners, AFAIK.

  11. ThomasWaldmann commented on Nov 4, 2025

    @ThomasWaldmann
    Member

    On master and 1.4-maint branches, binaries are now built for tags (like release version tags) on github:

    • using ubuntu 22.04 (oldest available, thus less glibc version requirement), on x86_64 and on arm64
    • using macOS 13 (Intel) and macOS 14 (arm64)
  12. ddribin commented on Nov 19, 2025

    @ddribin
    Author

    Great, thank you! I just started using borg-linux-glibc235-arm64-gh from 1.4.2.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions