anax icon indicating copy to clipboard operation
anax copied to clipboard

Architecture : Support for aarch64 RPMs

Open johnwalicki opened this issue 3 years ago • 1 comments

Open a issue in the Anax repo to update the agent-install.sh with the new microprocessor architecture.

Feature Request: update agent-install.sh to support aarch64 RPMs #3250

Open a issue in the Anax repo to update the Makefiles with the new microprocessor architecture.

Feature Request: update anax Makefiles to build aarch64 RPMs #3251

Open a issue in the Anax repo to add the agent binaries to edgeNodeFIles.sh so they publish to CSS

The goal will be to build a bundle of horizon-agent-linux-rpm-aarch64.tar.gz RPMs for Fedora / Red Hat for ARM64 devices.

Feature Request: add agent aarch64 binaries to edgeNodeFiles.sh #3253

Open a issue in the Anax repo to update the Dockerfiles to build on the new microprocessor architecture.

Feature Request: update Dockerfiles to build containers for aarch64 #3252

Open a issue in the Anax repo to add the build pipelines so it arrives in GitHub Releases

Modify the release / build pipelines so the horizon-agent-linux-rpm-aarch64.tar.gz bundle is delivered in the anax GitHub Releases

Feature Request: modify release pipeline to deliver horizon-agent-linux-rpm-aarch64.tar.gz #3254

Open a issue in the Documentation repo to update the docs for this new microprocessor architecture.

Feature Request: Documentation updates for aarch64 edge devices #265

New microprocessor architecture Support Checklist

  • [X] Update the agent-install.sh
  • [X] Update the Makefiles
  • [X] Update the agent binaries
  • [X] Update the Dockerfiles
  • [X] Update the build pipelines
  • [X] Validate Examples on this new microprocessor architecture
  • [X] Documentation updates to support this new microprocessor architecture
  • [ ] Test / Validate and modify existing tests for the anax binary on this microprocessor architecture

johnwalicki avatar May 27 '22 14:05 johnwalicki

We will know we are successful when the binaries appear here https://github.com/open-horizon/anax/releases and the agent-install.sh runs on a Fedora based Raspberry Pi

johnwalicki avatar May 27 '22 15:05 johnwalicki

As a proof of concept, on a Raspberry Pi running Fedora, I can generate the aarch64 RPMs. It was straightforward.

  1. I installed the various golang and rpm-build dependencies.
  2. I cloned the anax repo
  3. I checked out the v2.29 branch.
  4. I compiled make anax and make cli/hzn
  5. export BUILD_NUMBER=638
  6. I ran make rpmpkgs

I now have ~/rpmbuild/RPMS/aarch64 packages:

-rw-r--r--. 1 1000 1000 9835153 Nov 29 22:18 horizon-2.29.0-638.aarch64.rpm
-rw-r--r--. 1 1000 1000 7662216 Nov 29 22:19 horizon-cli-2.29.0-638.aarch64.rpm

There should be no inhibitor to adding support for these arch RPM packages. I also built the horizon 2.30 binaries and RPMs.

A few edits to agent-install.sh will be required. I'll talk with @bencourliss next week about extending the jenkins build pipeline to generate the required https://github.com/open-horizon/anax/releases artifacts.

johnwalicki avatar Nov 30 '22 03:11 johnwalicki