microsoft / avml

AVML - Acquire Volatile Memory for Linux
MIT License
865 stars 78 forks source link

Any plan to support ARM / ARM64 architecture? #28

Open kingsguardian opened 2 years ago

kingsguardian commented 2 years ago

More and more ARM CPU have been used by cloud service provider, is there any plan to build an ARM version ?

bmc-msft commented 2 years ago

AVML works out of the box on aarch64/ARM64. I successfully built and ran AVML on an Ubuntu 18.04 AARCH64 VM in QEMU earlier this morning. However, releasing officially built aarch64/ARM64 binaries is not yet supported.

Both of the CICD platforms available to us, GitHub Actions and Azure Devops Pipelines, only support aarch64/ARM64 using self-hosted runners.

As soon as either one of these platforms support hosted aarch64/ARM64 runners, we'll include releasing binaries for aarch64/ARM64.

bmc-msft commented 2 years ago

Given the recent announcement of public-preview availability of ARM64-based VMs in Azure, this will likely occur in the near future.

archanchoudhury commented 2 years ago

Can you please provide the steps to build it for aarch64? Was trying to do it on a aws ec2, and I am not able to.

demoray commented 9 months ago

Our supporting ARM64 binaries is likely with the upcoming Arm-based hosted GitHub Actions runners.

https://github.blog/changelog/2023-10-30-accelerate-your-ci-cd-with-arm-based-hosted-runners-in-github-actions/

Abyss-W4tcher commented 9 months ago

Can you please provide the steps to build it for aarch64? Was trying to do it on a aws ec2, and I am not able to.

Hi, here is how I did it :

git clone https://github.com/microsoft/avml.git
cd avml 

# Install MUSL
sudo apt-get install musl-dev musl-tools musl

# Install Rust via rustup
curl https://sh.rustup.rs -sSf | sh -s -- -y
exec $SHELL 

# Install cross
cargo install cross --git https://github.com/cross-rs/cross

# Build
cross build --release --target aarch64-linux-android

# Verify architecture
file target/aarch64-linux-android/release/avml

Change the target accordingly to your need :)