From db30c45d809a143e1467a3cb2b030ed834a89620 Mon Sep 17 00:00:00 2001 From: anupras-mohapatra-arm Date: Fri, 17 Apr 2026 11:42:51 -0500 Subject: [PATCH 01/48] review of ACfL install guide --- .github/install-guide-review.md | 4 +- content/install-guides/acfl.md | 142 ++++++++++++++++---------------- 2 files changed, 73 insertions(+), 73 deletions(-) diff --git a/.github/install-guide-review.md b/.github/install-guide-review.md index 5e02b776a8..d7eabd61e8 100644 --- a/.github/install-guide-review.md +++ b/.github/install-guide-review.md @@ -15,7 +15,7 @@ Legend: [x] reviewed | [ ] not started | 🔒 hidden/not published | helm | Helm | ✓ | 2025-02-05 | [ ] | | py-woa | Python for Windows on Arm | ✓ | 2025-02-05 | [ ] | | sysbox | Sysbox | ✓ | 2025-02-05 | [ ] | -| eksctl | AWS EKS CLI (eksctl) | ✓ | 2025-02-10 | [ ] | +| eksctl | eksctl (Amazon EKS CLI) | ✓ | 2025-02-10 | [x] | | kubectl | Kubectl | ✓ | 2025-02-10 | [ ] | | bedrust | Bedrust - invoke models on Amazon Bedrock | ✓ | 2025-04-10 | [ ] | | anaconda | Anaconda | ✓ | 2025-04-25 | [ ] | @@ -40,7 +40,7 @@ Legend: [x] reviewed | [ ] not started | 🔒 hidden/not published | ssh | SSH | ✓ | 2025-05-02 | [ ] | | finch | Finch on Arm Linux | ✓ | 2025-05-22 | [ ] | | browsers/ | Browsers on Arm (multi-page) | ✓ | 2025-06-18 | [ ] | -| go | Go | ✓ | 2025-07-16 | [ ] | +| go | Go | ✓ | 2025-07-16 | [x] | | nomachine | NoMachine | ✓ | 2025-07-16 | [ ] | | powershell | PowerShell | ✓ | 2025-07-16 | [ ] | | swift | Swift | ✓ | 2025-07-16 | [ ] | diff --git a/content/install-guides/acfl.md b/content/install-guides/acfl.md index fcf808fcb6..a86f4af929 100644 --- a/content/install-guides/acfl.md +++ b/content/install-guides/acfl.md @@ -10,6 +10,7 @@ layout: installtoolsall minutes_to_complete: 15 multi_install: false multitool_install_part: false +description: Install Arm Compiler for Linux (ACfL) on Arm Linux (aarch64) to access the armclang C/C++ compiler, armflang Fortran compiler, and Arm Performance Libraries for HPC development. official_docs: https://developer.arm.com/documentation/101458/latest test_images: - ubuntu:latest @@ -22,15 +23,11 @@ weight: 1 --- [Arm Compiler for Linux (ACfL)](https://developer.arm.com/Tools%20and%20Software/Arm%20Compiler%20for%20Linux) is a suite of tools containing Arm C/C++ Compiler (`armclang`), Arm Fortran Compiler (`armflang`), and Arm Performance Libraries (ArmPL). It is tailored to the development of High Performance Computing (HPC) applications. -Arm Compiler for Linux runs on 64-bit Arm machines, it is not a cross-compiler. +Arm Compiler for Linux runs on 64-bit Arm machines and supports all 64-bit Arm-based [server-class hardware](/learning-paths/servers-and-cloud-computing/intro/). It is not a cross-compiler. -You do not require any additional license to use Arm Compiler for Linux. +You don't require any additional license to use Arm Compiler for Linux. -## What Arm-based hardware is supported by Arm Compiler for Linux (ACfL)? - -Arm Compiler for Linux supports all 64-bit Arm based [server-class hardware](/learning-paths/servers-and-cloud-computing/intro/). - -Ensure you are using a [supported Linux distribution](https://developer.arm.com/Tools%20and%20Software/Arm%20Compiler%20for%20Linux#Supported-Devices). +## Before you begin Confirm you are using an Arm machine by running: @@ -46,24 +43,23 @@ aarch64 If you see a different result, you are not using an Arm computer running 64-bit Linux. -## What pre-requisites do I need to install for ACfL? +Ensure you are using a [supported Linux distribution](https://developer.arm.com/Tools%20and%20Software/Arm%20Compiler%20for%20Linux#Supported-Devices). If any of the following tools are not already installed by your Linux -distribution, you must install them before installing Arm Compiler for Linux. +distribution, install them before installing Arm Compiler for Linux. These packages can be installed with the appropriate package manager for your OS: - - SLES: awk environment-modules glibc-devel gzip python3 tar - - RHEL: environment-modules glibc-devel procps python3 - - Amazon Linux: environment-modules glibc-devel gzip procps python3 tar - - Ubuntu: environment-modules libc6-dev python3 + - SLES: `awk` `environment-modules` `glibc-devel` `gzip` `python3` `tar` + - RHEL: `environment-modules` `glibc-devel` `procps` `python3` + - Amazon Linux: `environment-modules` `glibc-devel` `gzip procps` `python3` `tar` + - Ubuntu: `environment-modules` `libc6-dev` `python3` -The minimum supported version for Python is version 3.6. +Ensure that you're running the minimum supported version for Python, which is version 3.6. -You must have at least 2 GB of free hard disk space to both download and unpack -the Arm Compiler for Linux package. You must also have an additional 6 GB of +Ensure that you have at least 2 GB of free hard disk space to both download and unpack the Arm Compiler for Linux package. You must also have an additional 6 GB of free space to install the package. -For example: +Run the following commands: ```console sudo apt update @@ -72,7 +68,8 @@ sudo apt install -y python-is-python3 libc6-dev You are now ready to install ACfL [manually](#manual) or with [Spack](#spack). -## How do I download and install ACfL using the install script? + +## Download and install ACfL using an install script Use an Arm recommended script to select, download, and install your preferred ACfL package. @@ -80,9 +77,7 @@ Use an Arm recommended script to select, download, and install your preferred AC bash <(curl -L https://developer.arm.com/-/cdn-downloads/permalink/Arm-Compiler-for-Linux/Package/install.sh) ``` -## How do I download and install ACfL manually? {#manual} - -### How do I download ACfL with wget? +## Download and install ACfL manually with wget {#manual} Download releases from the command line using `wget`. Install `wget` if not present. @@ -90,29 +85,29 @@ Download releases from the command line using `wget`. Install `wget` if not pres sudo apt install wget ``` -### How do I fetch the appropriate ACfL installer? +### Fetch the appropriate ACfL installer ACfL installation packages are available to download from [Arm Developer](https://developer.arm.com/downloads/-/arm-compiler-for-linux). Individual Arm Performance Libraries (ArmPL) packages are also available. -Fetch the ACfL installers: +To fetch the ACfL installers, run: -#### Ubuntu Linux: +#### Ubuntu Linux ```bash { target="ubuntu:latest" } wget https://developer.arm.com/-/cdn-downloads/permalink/Arm-Compiler-for-Linux/Version_24.10.1/arm-compiler-for-linux_24.10.1_Ubuntu-22.04_aarch64.tar ``` -#### Red Hat Linux: +#### Red Hat Linux ```bash { target="fedora:latest" } wget https://developer.arm.com/-/cdn-downloads/permalink/Arm-Compiler-for-Linux/Version_24.10.1/arm-compiler-for-linux_24.10.1_RHEL-9_aarch64.tar ``` -### How do I install ACfL? +### Install ACfL -To install Arm Compiler for Linux on your 64-bit Linux Arm machine extract the package and run the installation script. +To install Arm Compiler for Linux on your 64-bit Linux Arm machine, extract the package and run the installation script. Each command sequence includes accepting the license agreement to automate the installation and installing Environment Modules. -#### Ubuntu Linux: +#### Ubuntu Linux ```bash { target="ubuntu:latest" } sudo -E apt-get -y install environment-modules python3 libc6-dev @@ -121,7 +116,7 @@ cd ./arm-compiler-for-linux_24.10.1_Ubuntu-22.04 sudo ./arm-compiler-for-linux_24.10.1_Ubuntu-22.04.sh --accept ``` -#### Red Hat Linux: +#### Red Hat Linux ```console sudo yum -y install environment-modules python3 glibc-devel @@ -139,17 +134,24 @@ install takes place **after** ACfL, you will no longer be able to fully uninstall ACfL. {{% /notice %}} -## How do I download and install ACfL using System Packages? +## Download and install ACfL using system packages + +To download and install ACfL using system packages, follow these steps. -### How do I install ACfL on Ubuntu Linux 20.04 and 22.04? +### Install ACfL on Ubuntu Linux 20.04 and 22.04 Arm Compiler for Linux is available to install with the Ubuntu system package manager `apt` command. -#### How do I set up the ACfL package repository? +#### Set up the ACfL package repository + +Add the ACfL `apt` package repository to your system. + +{{% notice Note %}} + These instructions apply for Ubuntu 22.04. You can check the [available versions](https://developer.arm.com/packages/) for other releases. +{{% /notice %}} -Add the ACfL `apt` package repository to your system. These instructions apply for Ubuntu 22.04. You can check the [available versions](https://developer.arm.com/packages/) for other releases. -After that, the ACfL Ubuntu package repository is now ready to use. Run the commands below to install the dependencies needed. +After adding the repository to your system, the ACfL Ubuntu package repository is now ready to use. Run the commands below to install the dependencies needed. ```console @@ -160,19 +162,19 @@ echo "deb https://developer.arm.com/packages/ACfL%3AUbuntu-22/jammy/ ./" | sudo sudo apt update ``` -Install Arm Compiler for Linux with: +#### Install Arm Compiler for Linux + +To install Arm Compiler for Linux, run: ```console sudo apt install acfl -y ``` -### How do I install ACfL on Amazon Linux 2023? - -Arm Compiler for Linux is available to install with either the `dnf` or `yum` system package manager. +### Install ACfL on Amazon Linux 2023 (AL2023) -#### How do I install ACfL from the Amazon Linux 2023 package repository? +Arm Compiler for Linux is available to install from the AL2023 package repository with either the `dnf` or `yum` system package manager. -Install ACfL and prerequisites from the Amazon Linux 2023 `rpm` package repository with `dnf`: +Install ACfL and prerequisites from the AL2023 `rpm` package repository with `dnf`: ```console sudo dnf update -y @@ -192,11 +194,9 @@ sudo yum -y install acfl The ACfL tools are now ready to use. -### How do I install ACfL on Red Hat Enterprise Linux (RHEL) 9? +### Install ACfL on Red Hat Enterprise Linux (RHEL) 9 -Arm Compiler for Linux is available to install with either the `dnf` or `yum` system package manager. - -#### How do I install ACfL from the RHEL 9 package repository? +Arm Compiler for Linux is available to install from the RHEL 9 package repository with either the `dnf` or `yum` system package manager. Install ACfL and prerequisites from the RHEL 9 `rpm` package repository with `dnf`: @@ -218,7 +218,7 @@ sudo yum -y install acfl The ACfL tools are now ready to use. -### How do I set up the environment for ACfL? +### Set up the environment for ACfL Arm Compiler for Linux uses environment modules to dynamically modify your user environment. Refer to the [Environment Modules documentation](https://lmod.readthedocs.io/en/latest/#id) for more information. @@ -233,7 +233,7 @@ source $HOME/.bashrc module avail ``` -#### Red Hat or Amazon Linux: +#### Red Hat or Amazon Linux ```console echo ". /usr/share/Modules/init/bash" >> $HOME/.bashrc @@ -256,13 +256,11 @@ module load gnu/14.2.0 ACfL is now [ready to use](#armclang). -## How do I download and install ACfL with Spack? {#spack} - -Arm Compiler for Linux is available with the [Spack](https://spack.io/) package manager. +## Download and install ACfL with Spack {#spack} -See the [Arm Compiler for Linux and Arm PL now available in Spack](https://developer.arm.com/community/arm-community-blogs/b/servers-and-cloud-computing-blog/posts/arm-compiler-for-linux-and-arm-pl-now-available-in-spack) blog for full details. +Arm Compiler for Linux is available with the [Spack](https://spack.io/) package manager. For more information, see the [Arm Compiler for Linux and Arm PL now available in Spack](https://developer.arm.com/community/arm-community-blogs/b/servers-and-cloud-computing-blog/posts/arm-compiler-for-linux-and-arm-pl-now-available-in-spack) blog post. -### How do I set up Spack for ACfL? +### Set up Spack for ACfL Clone the Spack repository and add `bin` directory to the path: @@ -279,21 +277,22 @@ Set up shell support: Spack is now ready to use. -### How do I install ACfL using Spack? +### Install ACfL using Spack -Download and install Arm Compiler for Linux with: +To download and install Arm Compiler for Linux, run: ```console spack install acfl ``` -If you wish to install just the Arm Performance Libraries, use: +To install only the Arm Performance Libraries, use: ```console spack install armpl-gcc ``` -### How do I set up the environment for ACfL using Spack? +### Set up the environment for ACfL using Spack + Use the commands below to set up the environment: ```console @@ -304,16 +303,16 @@ spack compiler find ACfL is now [ready to use](#armclang). -## How do I get started with the Arm C/C++ compiler? {#armclang} +## Get started with the Arm C/C++ compiler {#armclang} -To get started with the Arm C/C++ Compiler and compile a simple application follow the steps below. +To get started with the Arm C/C++ Compiler and compile a simple application, follow these steps. -Check that the correct compiler version is being used: +Check that you're using the correct compiler version: ```bash { env_source="$HOME/.bashrc", pre_cmd=". /usr/share/modules/init/bash; module use /opt/arm/modulefiles; module load acfl/24.10.1" } armclang --version ``` -Create a text file named `hello.c` with the contents below. +Create a text file named `hello.c` with the following contents: ```C { file_name="hello.c" } #include @@ -325,33 +324,34 @@ int main() } ``` -Build the application with: +Build the application: ```console armclang hello.c -o hello ``` -Run the application with: +Run the application: ```console ./hello ``` -The program will output the string specified. +The output should be: + ```output Hello, C World! ``` -## How do I get started with the Arm Fortran compiler? {#fortran} +## Get started with the Arm Fortran compiler {#fortran} -To get started with the Arm Fortran Compiler and compile a simple application follow the steps below. +To get started with the Arm Fortran Compiler and compile a simple application, follow these steps. -Check that the correct compiler version is being used: +Check that you're using the correct compiler version: ```bash { env_source="$HOME/.bashrc", pre_cmd=". /usr/share/modules/init/bash; module use /opt/arm/modulefiles; module load acfl/24.10.1" } armflang --version ``` -Create a text file named `hello.f90` with the contents below. +Create a text file named `hello.f90` with the following contents: ```fortran { file_name="hello.f90" } program hello @@ -360,21 +360,21 @@ program hello end program hello ``` -Build the application with: +Build the application: ```console armflang hello.f90 -o hello ``` -Run the application with: +Run the application: ```console ./hello ``` -The program will output the string specified. +The output should be: ```output Hello, Fortran World! ``` -## How do I get started with Arm Performance Libraries? {#armpl} +## Get started with Arm Performance Libraries {#armpl} -To get started with the [Arm Performance Libraries](https://developer.arm.com/Tools%20and%20Software/Arm%20Performance%20Libraries) and learn how to select the optimal library for your system, follow the [Get started with Arm Performance Libraries](https://developer.arm.com/documentation/101004/latest) guide. +To get started with the [Arm Performance Libraries](https://developer.arm.com/Tools%20and%20Software/Arm%20Performance%20Libraries) and learn how to select the optimal library for your system, see [Get started with Arm Performance Libraries](https://developer.arm.com/documentation/101004/latest). From 0666e9263eaea4e6e416c6e472593968060ecae6 Mon Sep 17 00:00:00 2001 From: anupras-mohapatra-arm Date: Fri, 17 Apr 2026 12:31:49 -0500 Subject: [PATCH 02/48] anaconda install guide updates --- content/install-guides/anaconda.md | 72 +++++++++++++----------------- 1 file changed, 32 insertions(+), 40 deletions(-) diff --git a/content/install-guides/anaconda.md b/content/install-guides/anaconda.md index 45a47d7a5a..516256880f 100644 --- a/content/install-guides/anaconda.md +++ b/content/install-guides/anaconda.md @@ -21,15 +21,13 @@ tool_install: true weight: 1 --- -[Anaconda Distribution](https://www.anaconda.com/products/distribution) is a popular open-source Python distribution. +[Anaconda Distribution](https://www.anaconda.com/products/distribution) is a popular open-source Python distribution. It includes access to a repository with over 8,000 open-source data science and machine learning packages. -It includes access to a repository with over 8,000 open-source data science and machine learning packages. +You can use the `conda` command to quickly install and use Python packages. -The `conda` command can be used to quickly install and use Python packages. +To install and use Anaconda Distribution on an Arm server, follow these steps. -Follow the instructions below to install and use Anaconda Distribution on an Arm server. - -## What should I do before installing Anaconda? +## Before you begin Confirm you are using an Arm machine by running: @@ -45,66 +43,61 @@ aarch64 If you see a different result, you are not using an Arm computer running 64-bit Linux. -The installer requires some desktop related libraries. The dependencies can be met by installing a desktop environment. - -For Ubuntu/Debian, run the command: +The installer requires some desktop related libraries. You can meet the dependencies by installing a desktop environment by running the commands for your Linux distribution. -```console +{{< tabpane code=true >}} + {{< tab header="Ubuntu/Debian" language="bash">}} sudo apt update sudo apt install xfce4 -y -``` - -For Amazon Linux, run the command: - -```console + {{< /tab >}} + {{< tab header="Amazon Linux" language="bash">}} sudo amazon-linux-extras install mate-desktop1.x -``` + {{< /tab >}} +{{< /tabpane >}} -## How do I download the latest Anaconda distribution? +## Download the latest Anaconda Distribution -To download the latest Anaconda distribution, run: +For the latest version of Anaconda Distribution, see [Anaconda Distribution release notes](https://www.anaconda.com/docs/getting-started/anaconda/release-notes). To download the latest Anaconda Distribution, run: ```bash -curl -O https://repo.anaconda.com/archive/Anaconda3-2024.10-1-Linux-aarch64.sh +curl -O https://repo.anaconda.com/archive/Anaconda3-2025.12-2-Linux-aarch64.sh ``` -Depending on the version, the downloaded filename will be of the form `Anaconda3-20XX.YY-Linux-aarch64.sh` where the `XX` and `YY` values represent the year and month of the latest release. +Depending on the version, the downloaded filename will be of the form `Anaconda3-20XX.YY-Linux-aarch64.sh` where the `XX` and `YY` values represent the year and month of the latest release. -## What are the steps to install the downloaded Anaconda distribution? +## Install the Anaconda Distribution Run the downloaded install script. The default installation directory is `$HOME/anaconda3`. Change the installation directory as needed using the `-p` option to the install script. -If you wish to review the license terms before accepting, remove `-b`. +To review the license terms before accepting, remove `-b`. ```bash -sh ./Anaconda3-2024.10-1-Linux-aarch64.sh -b +sh ./Anaconda3-2025.12-2-Linux-aarch64.sh -b ``` The install takes a couple of minutes to complete. -The batch installation will not set up the shell. - -To set up the shell, run: +The batch installation won't set up the shell. To set up the shell, run: ```bash eval "$($HOME/anaconda3/bin/conda shell.bash hook)" ``` -## How do I get started with Anaconda after installation? +## Get started with Anaconda -Test Anaconda Distribution by running simple TensorFlow and PyTorch examples. +Test Anaconda Distribution by running the following TensorFlow and PyTorch examples. -### How do I use TensorFlow with Anaconda? +### Use TensorFlow with Anaconda -Create a new conda environment named tf, install TensorFlow, and activate the new environment. +Create a new conda environment named `tf` and install TensorFlow: ```console conda create -n tf tensorflow -y ``` -Activate the environment. +Activate the new environment: ```console conda activate tf @@ -118,7 +111,7 @@ The shell prompt will now show the tf environment. Run a simple check to make sure TensorFlow is working. -Using a text editor copy and paste the code below into a text file named `tf.py` +Using a text editor, copy and paste the code below into a text file named `tf.py`: ```console import tensorflow as tf @@ -133,26 +126,27 @@ Run the example code: python ./tf.py ``` -The expected output format is below. Your version may be slightly different. +The output is similar to: ```output 2.12.0 tf.Tensor(342.34387, shape=(), dtype=float32) ``` -### How do I use PyTorch with Anaconda? +### Use PyTorch with Anaconda -Create a new conda environment named torch, install PyTorch, and activate the new environment. +Create a new conda environment named `torch` and install PyTorch: ```console conda create -n torch pytorch -y ``` +Activate the new environment: ```console conda activate torch ``` -Using a text editor copy and paste the code below into a text file named `pytorch.py` +Using a text editor, copy and paste the following code into a text file named `pytorch.py`: ```console import torch @@ -168,7 +162,7 @@ Run the example code: python ./pytorch.py ``` -The expected output is similar to: +The output is similar to: ```output 2.1.0 @@ -180,6 +174,4 @@ tensor([[0.9287, 0.5931, 0.0239], ``` -You are ready to use Anaconda Distribution. - -Explore the many machine learning articles and examples using TensorFlow and PyTorch. +You are ready to use Anaconda Distribution. \ No newline at end of file From fd2f84eb8173dcd789b5f7c95067a51a1abfb563 Mon Sep 17 00:00:00 2001 From: anupras-mohapatra-arm Date: Fri, 17 Apr 2026 13:35:04 -0500 Subject: [PATCH 03/48] APerf --- .github/install-guide-review.md | 4 ++-- content/install-guides/anaconda.md | 1 + content/install-guides/aperf.md | 23 ++++++++++++----------- 3 files changed, 15 insertions(+), 13 deletions(-) diff --git a/.github/install-guide-review.md b/.github/install-guide-review.md index d7eabd61e8..b09f1c3d38 100644 --- a/.github/install-guide-review.md +++ b/.github/install-guide-review.md @@ -18,7 +18,7 @@ Legend: [x] reviewed | [ ] not started | 🔒 hidden/not published | eksctl | eksctl (Amazon EKS CLI) | ✓ | 2025-02-10 | [x] | | kubectl | Kubectl | ✓ | 2025-02-10 | [ ] | | bedrust | Bedrust - invoke models on Amazon Bedrock | ✓ | 2025-04-10 | [ ] | -| anaconda | Anaconda | ✓ | 2025-04-25 | [ ] | +| anaconda | Anaconda | ✓ | 2025-04-25 | [x] | | ansible | Ansible | ✓ | 2025-04-25 | [ ] | | armie | Arm Instruction Emulator (armie) | ✓ | 2025-04-25 | [ ] | | aws-copilot | AWS Copilot CLI | ✓ | 2025-04-25 | [ ] | @@ -113,7 +113,7 @@ Legend: [x] reviewed | [ ] not started | 🔒 hidden/not published |-------|-------|-----------|--------------|----------| | forge | Linaro Forge | ✓ | 2025-04-30 | [ ] | | gfortran | GFortran | ✓ | 2025-04-30 | [ ] | -| acfl | Arm Compiler for Linux | ✓ | 2026-01-29 | [ ] | +| acfl | Arm Compiler for Linux | ✓ | 2026-01-29 | [x] | --- diff --git a/content/install-guides/anaconda.md b/content/install-guides/anaconda.md index 516256880f..d651d81a40 100644 --- a/content/install-guides/anaconda.md +++ b/content/install-guides/anaconda.md @@ -11,6 +11,7 @@ author: Jason Andrews multi_install: false multitool_install_part: false official_docs: https://docs.anaconda.com/ +description: Install Anaconda Distribution on Arm Linux (aarch64) and verify the setup by creating conda environments with TensorFlow and PyTorch. ecosystem_dashboard: https://developer.arm.com/ecosystem-dashboard/linux?package=anaconda test_images: - ubuntu:latest diff --git a/content/install-guides/aperf.md b/content/install-guides/aperf.md index fd4a6c2162..2a18d61e3c 100644 --- a/content/install-guides/aperf.md +++ b/content/install-guides/aperf.md @@ -5,6 +5,7 @@ author: Jason Andrews multi_install: false multitool_install_part: false official_docs: https://github.com/aws/aperf +description: Install APerf on Arm Linux (aarch64) to collect system performance metrics and generate HTML reports for analysis on AWS Graviton and other Arm servers. test_images: - ubuntu:latest test_maintenance: true @@ -19,7 +20,7 @@ APerf collects system data and saves it in an archive. It then generates a stati ## Install APerf -This guide provides a quick solution to install APerf on Arm Linux and get started. +In this guide, you'll learn how to install APerf on Arm Linux and get started. ## Before you begin @@ -35,17 +36,17 @@ The output should be: aarch64 ``` -{{% notice Note %}} If you see a different result, you are not using an Arm computer running 64-bit Linux. APerf can only run on Linux.{{% /notice %}} +{{% notice Note %}} If you see a different result, you are not using an Arm computer running 64-bit Linux. APerf can run only on Linux.{{% /notice %}} -To allow APerf to collect PMU (Processor Monitoring Unit) metrics without sudo or root permissions, set `/proc/sys/kernel/perf_event_paranoid` to -1: +To allow APerf to collect Processor Monitoring Unit (PMU) metrics without `sudo` or `root` permissions, set `/proc/sys/kernel/perf_event_paranoid` to `-1`: ```bash sudo sysctl -w kernel.perf_event_paranoid=-1 ``` -To use APerf's CPU profiling option (`--profile`), install the `perf` binary. See the [Perf for Linux on Arm](/install-guides/perf) install guide for instructions. +To use APerf's CPU profiling option (`--profile`), install the `perf` binary. For more information, see the [Perf for Linux on Arm](/install-guides/perf) install guide. -For kernel address visibility, set `/proc/sys/kernel/kptr_restrict` to 0: +For kernel address visibility, set `/proc/sys/kernel/kptr_restrict` to `0`: ```bash sudo sysctl -w kernel.kptr_restrict=0 @@ -56,7 +57,7 @@ To use APerf's Java profiling option (`--profile-java`), install the [async-prof ## Download and install APerf The easiest way to install APerf is to download a release from GitHub and extract it. -Visit the [releases page](https://github.com/aws/aperf/releases/) to see available releases. +To see available releases, visit the [releases page](https://github.com/aws/aperf/releases/). You can download a release from the command line: @@ -89,7 +90,7 @@ Confirm `aperf` is installed by printing the version: aperf --version ``` -The output should print the version: +The output should be: ```output aperf 1.0.0 (4cf8d28) @@ -99,7 +100,7 @@ aperf 1.0.0 (4cf8d28) To confirm APerf is working, start a collection run with the default settings. The default interval is 1 second, and the default period is 10 seconds. -Run the following command to start data collection: +To start data collection, run: ```console aperf record -r test_1 @@ -109,7 +110,7 @@ After 10 seconds, the collection completes. APerf creates a directory named `tes If you need CPU profiling, add the `--profile` flag. For Java profiling, add the `--profile-java` flag. -### How do I create and view a report? +### Create and view a report Generate a report from the recorded data: @@ -131,7 +132,7 @@ To learn more about a specific metric, select the info button next to it to open ![APerf report help panel showing detailed metric information alt-txt#center](/install-guides/_images/aperf_report_help_panel.webp "APerf report help panel") -### How do I compare multiple runs? +### Compare multiple runs To demonstrate comparing multiple runs, create a second run with `aperf record`: @@ -139,7 +140,7 @@ To demonstrate comparing multiple runs, create a second run with `aperf record`: aperf record -r test_2 ``` -Similarly, after 10 seconds the collection completes, and APerf produces a directory named `test_2` and a tar file named `test_2.tar.gz`. +Similarly, after 10 seconds, the collection completes. APerf produces a directory named `test_2` and a tar file named `test_2.tar.gz`. Generate a report that includes both runs. The first run in the `-r` arguments becomes the base run for automatic comparisons: From 925f393b4a5b12a2d140d1c6ab29ade19a57dcd4 Mon Sep 17 00:00:00 2001 From: anupras-mohapatra-arm Date: Fri, 17 Apr 2026 13:48:32 -0500 Subject: [PATCH 04/48] adding a note for version callout and updating aperf version used in steps --- content/install-guides/aperf.md | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/content/install-guides/aperf.md b/content/install-guides/aperf.md index 2a18d61e3c..60b1889a8e 100644 --- a/content/install-guides/aperf.md +++ b/content/install-guides/aperf.md @@ -57,31 +57,33 @@ To use APerf's Java profiling option (`--profile-java`), install the [async-prof ## Download and install APerf The easiest way to install APerf is to download a release from GitHub and extract it. -To see available releases, visit the [releases page](https://github.com/aws/aperf/releases/). - You can download a release from the command line: +{{%notice Note%}} +To install the latest version of APerf, replace `v.1.2.2` with the identifier for the latest version. To see available releases, visit the [releases page](https://github.com/aws/aperf/releases/). +{{%/notice%}} + ```bash { target="ubuntu:latest" } -wget https://github.com/aws/aperf/releases/download/v1.0.0/aperf-v1.0.0-aarch64.tar.gz +wget https://github.com/aws/aperf/releases/download/v1.2.2/aperf-v1.2.2-aarch64.tar.gz ``` Extract the release: ```bash { target="ubuntu:latest" } -tar xvfz aperf-v1.0.0-aarch64.tar.gz +tar xvfz aperf-v1.2.2-aarch64.tar.gz ``` Add the path to `aperf` in your `.bashrc` file. ```console -echo 'export PATH="$PATH:$HOME/aperf-v1.0.0-aarch64"' >> ~/.bashrc +echo 'export PATH="$PATH:$HOME/aperf-v1.2.2-aarch64"' >> ~/.bashrc source ~/.bashrc ``` Alternatively, you can copy the `aperf` executable to a directory already in your search path. ```bash { target="ubuntu:latest" } -sudo cp aperf-v1.0.0-aarch64/aperf /usr/local/bin +sudo cp aperf-v1.2.2-aarch64/aperf /usr/local/bin ``` Confirm `aperf` is installed by printing the version: @@ -93,7 +95,7 @@ aperf --version The output should be: ```output -aperf 1.0.0 (4cf8d28) +aperf 1.2.2 (4cf8d28) ``` ## Verify APerf is working From 88baeb5a20e71c9dd83268207e7c6e68ff7206af Mon Sep 17 00:00:00 2001 From: anupras-mohapatra-arm Date: Fri, 17 Apr 2026 15:37:14 -0500 Subject: [PATCH 05/48] updates for aperf, armie, armclang, anaconda --- content/install-guides/anaconda.md | 4 +- content/install-guides/aperf.md | 12 ++--- content/install-guides/armclang.md | 75 +++++++++++++++--------------- content/install-guides/armie.md | 50 +++++++++----------- 4 files changed, 68 insertions(+), 73 deletions(-) diff --git a/content/install-guides/anaconda.md b/content/install-guides/anaconda.md index d651d81a40..eaf288745e 100644 --- a/content/install-guides/anaconda.md +++ b/content/install-guides/anaconda.md @@ -26,7 +26,7 @@ weight: 1 You can use the `conda` command to quickly install and use Python packages. -To install and use Anaconda Distribution on an Arm server, follow these steps. +In this guide, you'll learn how to install and use Anaconda Distribution on an Arm server. ## Before you begin @@ -36,7 +36,7 @@ Confirm you are using an Arm machine by running: uname -m ``` -The output should be: +The output is similar to: ```output aarch64 diff --git a/content/install-guides/aperf.md b/content/install-guides/aperf.md index 60b1889a8e..a2a083b0aa 100644 --- a/content/install-guides/aperf.md +++ b/content/install-guides/aperf.md @@ -18,9 +18,7 @@ APerf is an open source command line tool maintained by AWS. It helps you monito APerf collects system data and saves it in an archive. It then generates a static HTML report from one or more archives to visualize the data. When you generate the report, APerf analyzes the data to automatically detect potential performance issues. You can open the report in a browser to view all collected data and analytical findings. -## Install APerf - -In this guide, you'll learn how to install APerf on Arm Linux and get started. +In this guide, you'll learn how to install APerf on Arm Linux and get started with reports. ## Before you begin @@ -57,12 +55,12 @@ To use APerf's Java profiling option (`--profile-java`), install the [async-prof ## Download and install APerf The easiest way to install APerf is to download a release from GitHub and extract it. -You can download a release from the command line: - {{%notice Note%}} -To install the latest version of APerf, replace `v.1.2.2` with the identifier for the latest version. To see available releases, visit the [releases page](https://github.com/aws/aperf/releases/). +To install the latest version of APerf, replace `v.1.2.2` in the following commands with the identifier for the latest version. To see available releases, visit the [releases page](https://github.com/aws/aperf/releases/). {{%/notice%}} +You can download a release from the command line: + ```bash { target="ubuntu:latest" } wget https://github.com/aws/aperf/releases/download/v1.2.2/aperf-v1.2.2-aarch64.tar.gz ``` @@ -162,7 +160,7 @@ When you view metric graphs, APerf aligns graphs of the same metric from differe ![APerf report showing aligned metric graphs from multiple runs for comparison alt-text#center](/install-guides/_images/aperf_report_aligned_graphs.png "APerf report aligned graphs") -### How do I view reports from a remote system? +### View reports from a remote system If you're working on a remote system or cloud instance without a desktop environment, you can view APerf reports in your local browser by running a web server on the remote machine. diff --git a/content/install-guides/armclang.md b/content/install-guides/armclang.md index b5af8bc186..42b4655c6d 100644 --- a/content/install-guides/armclang.md +++ b/content/install-guides/armclang.md @@ -11,6 +11,7 @@ author: Ronan Synnott multi_install: false multitool_install_part: false official_docs: https://developer.arm.com/documentation/100748 +description: Install Arm Compiler for Embedded (armclang) on Linux or Windows to build bare-metal, firmware, and RTOS applications for Arm targets. test_images: - ubuntu:latest test_link: null @@ -23,7 +24,7 @@ weight: 1 A safety qualified branch of Arm Compiler for Embedded, known as [Arm Compiler for Embedded FuSa](https://developer.arm.com/Tools%20and%20Software/Arm%20Compiler%20for%20Embedded%20FuSa), is available for safety critical applications. -## How can I access Arm Compiler for Embedded from Arm Development Studio? +## Access Arm Compiler for Embedded from Arm Development Studio The easiest way to access the Arm Compiler for Embedded is to use the version provided with [Arm Development Studio](https://developer.arm.com/Tools%20and%20Software/Arm%20Development%20Studio). @@ -35,39 +36,39 @@ Alternative versions can be [downloaded separately](#download). Arm Compiler for Embedded FuSa must also be [downloaded separately](#download). -## How do I download standalone compiler packages? {#download} +## Download standalone compiler packages {#download} -Individual compiler packages for all supported host platforms can be downloaded from the [Arm Product Download Hub](#pdh) or the [Arm Tools Artifactory](#artifactory). +You can download individual compiler packages for all supported host platforms from the [Arm Product Download Hub](#pdh) or the [Arm Tools Artifactory](#artifactory). -### How do I download Arm Compiler for Embedded from the Product Download Hub? {#pdh} +### Download Arm Compiler for Embedded from the Product Download Hub {#pdh} -All compiler packages can be downloaded from the [Arm Product Download Hub](https://developer.arm.com/downloads) (requires login). +You can download all compiler packages from the [Arm Product Download Hub](https://developer.arm.com/downloads) (requires login). -Download links to all available versions are given in the [Arm Compiler downloads index](https://developer.arm.com/documentation/ka005198). +You can find download links to all available versions in the [Arm Compiler downloads index](https://developer.arm.com/documentation/ka005198). -All compiler versions can be used standalone or [integrated](#armds) into your Arm Development Studio installation. +You can use all compiler versions standalone or [integrated](#armds) into your Arm Development Studio installation. For more information on downloading a legacy Arm Compiler release, see [What should I do if I want to download a legacy release of Arm Compiler?](https://developer.arm.com/documentation/ka005184) -See also: [What should I do if I want to download a legacy release of Arm Compiler?](https://developer.arm.com/documentation/ka005184) +For more information on usage, see [Arm Product Download Hub](../pdh). -See [Arm Product Download Hub](../pdh) for additional information on usage. - -### How do I install compiler packages? +### Install compiler packages To install on Windows, unzip the downloaded package, launch the installer, and follow on-screen prompts. ```console win-x86_64\setup.exe ``` -To install on Linux hosts, `untar` the downloaded package and run the install script (note the exact filenames are version and host dependent). For example: +To install on Linux hosts, `untar` the downloaded package and run the install script. The exact filenames are version and host dependent. + +For example: #### Linux -The `uname -m` call is used to determine whether your machine is running `aarch64` or `x86_64`, and target the downloaded package accordingly. +You can use the `uname -m` call to determine whether your machine is running `aarch64` or `x86_64`, and target the downloaded package accordingly. ```console mkdir tmp -mv ARMCompiler6.22_standalone_linux-`uname -m`.tar.gz tmp +mv ARMCompiler6.24_standalone_linux-`uname -m`.tar.gz tmp cd tmp -tar xvfz ARMCompiler6.22_standalone_linux-`uname -m`.tar.gz -./install_`uname -m`.sh --i-agree-to-the-contained-eula --no-interactive -d /home/$USER/ArmCompilerforEmbedded6.22 +tar xvfz ARMCompiler6.24_standalone_linux-`uname -m`.tar.gz +./install_`uname -m`.sh --i-agree-to-the-contained-eula --no-interactive -d /home/$USER/ArmCompilerforEmbedded6.24 ``` Remove the install data when complete. @@ -78,46 +79,46 @@ rm -r tmp Add the `bin` directory of the installation to the `PATH` and confirm `armclang` can be invoked. #### bash ```console -export PATH=/home/$USER/ArmCompilerforEmbedded6.22/bin:$PATH +export PATH=/home/$USER/ArmCompilerforEmbedded6.24/bin:$PATH armclang --version ``` #### csh/tcsh ```console -set path=(/home/$USER/ArmCompilerforEmbedded6.22/bin $path) +set path=(/home/$USER/ArmCompilerforEmbedded6.24/bin $path) armclang --version ``` -### How do I download Arm Compiler for Embedded from the Arm Tools Artifactory? {#artifactory} +### Download Arm Compiler for Embedded from the Arm Tools Artifactory {#artifactory} -The Arm Compiler for Embedded, as well as other tools and utilities are available in the [Arm Tools Artifactory](https://www.keil.arm.com/artifacts/). The Keil Studio VS Code [Extensions](../keilstudio_vs) use the artifactory to fetch and install and the necessary components. +The Arm Compiler for Embedded, as well as other tools and utilities, are available in the [Arm Tools Artifactory](https://www.keil.arm.com/artifacts/). The Keil Studio VS Code [Extensions](../keilstudio_vs) use the artifactory to fetch and install and the necessary components. -Available packages can also be fetched directly from the artifactory. This is particularly useful for automated CI/CD flows. +You can also fetch directly from the artifactory. This is particularly useful for automated CI/CD flows. ```bash -wget https://artifacts.tools.arm.com/arm-compiler/6.22/45/standalone-linux-armv8l_64-rel.tar.gz +wget https://artifacts.tools.arm.com/arm-compiler/6.24/45/standalone-linux-armv8l_64-rel.tar.gz ``` -Note that the artifactory packages do not have their own installers. You should manually extract files and configure, for example: +The artifactory packages don't have their own installers. You should manually extract files and configure. For example: ```bash -mkdir ArmCompilerforEmbedded6.22 -tar xvzf ./standalone-linux-armv8l_64-rel.tar.gz -C ./ArmCompilerforEmbedded6.22 --strip-components=1 +mkdir ArmCompilerforEmbedded6.24 +tar xvzf ./standalone-linux-armv8l_64-rel.tar.gz -C ./ArmCompilerforEmbedded6.24 --strip-components=1 rm ./standalone-linux-armv8l_64-rel.tar.gz -export PATH=/home/$USER/ArmCompilerforEmbedded6.22/bin:$PATH -export AC6_TOOLCHAIN_6_22_0=/home/$USER/ArmCompilerforEmbedded6.22/bin +export PATH=/home/$USER/ArmCompilerforEmbedded6.24/bin:$PATH +export AC6_TOOLCHAIN_6_22_0=/home/$USER/ArmCompilerforEmbedded6.24/bin ``` -## How do I set up the product license? +## Set up the product license -`Arm Compiler for Embedded` and `Arm Compiler for Embedded FuSa` are license managed. +`Arm Compiler for Embedded` and `Arm Compiler for Embedded FuSa` are license-managed. -License setup instructions are available in the [Arm Licensing install guide](/install-guides/license/). +For license set up instructions, see [Arm Licensing install guide](/install-guides/license/). -## How do I verify my installation? +## Verify your installation -To verify everything works, compile a simple `Hello World` example. +To verify everything works, compile a `Hello World` example. -Use a text editor to copy and paste the code below into a file named `hello.c`: +Use a text editor to copy and paste the folowing code into a file named `hello.c`: ```C // hello.c @@ -134,12 +135,12 @@ Compile the code with `armclang`: armclang --target=aarch64-arm-none-eabi hello.c ``` -If the the command completes with no errors, the compiler is working. +If the command completes with no errors, the compiler is working. -More information about the example is available in the [Arm Compiler for Embedded User Guide](https://developer.arm.com/documentation/100748/latest/Getting-Started/Compiling-a-Hello-World-example). +For more information about the example, see [Arm Compiler for Embedded User Guide](https://developer.arm.com/documentation/100748/latest/Getting-Started/Compiling-a-Hello-World-example). -## How do I integrate with Arm Development Studio? {#armds} +## Integrate with Arm Development Studio {#armds} To integrate this compiler with Arm Development Studio, [register](https://developer.arm.com/documentation/101469/latest/Installing-and-configuring-Arm-Development-Studio/Register-a-compiler-toolchain) the installation and [configure](https://developer.arm.com/documentation/101469/latest/Installing-and-configuring-Arm-Development-Studio/Register-a-compiler-toolchain/Configure-a-compiler-toolchain-for-the-Arm-DS-command-prompt) the environment to use that version. -Full installation instructions are given in the [documentation](https://developer.arm.com/documentation/100748/latest/Getting-Started/Installing-Arm-Compiler-for-Embedded). +You're now ready to use Arm Compiler for Embedded. \ No newline at end of file diff --git a/content/install-guides/armie.md b/content/install-guides/armie.md index 912b39aecb..9957603ab2 100644 --- a/content/install-guides/armie.md +++ b/content/install-guides/armie.md @@ -18,15 +18,17 @@ title: Arm Instruction Emulator (armie) tool_install: true weight: 1 --- -[Arm Instruction Emulator](https://developer.arm.com/Tools%20and%20Software/Arm%20Instruction%20Emulator) is a software tool that runs on 64-bit Arm platforms and emulates [Scalable Vector Extension(SVE)](https://developer.arm.com/documentation/102476/latest/instructions). This tool allows you to run your compiled SVE application binaries on hardware that is not SVE-enabled. +[Arm Instruction Emulator](https://developer.arm.com/Tools%20and%20Software/Arm%20Instruction%20Emulator) is a software tool that runs on 64-bit Arm platforms and emulates [Scalable Vector Extension (SVE)](https://developer.arm.com/documentation/102476/latest/instructions). This tool allows you to run your compiled SVE application binaries on hardware that is not SVE-enabled. It does not require a license. {{% notice SVE hardware %}} AWS Graviton 3 and Graviton 4 processors are available and recommended for SVE application development. {{% /notice %}} -## What should I do before installing Arm Instruction Emulator? +Arm Instruction Emulator runs as an executable on your Linux host. It runs on Red Hat Enterprise Linux (RHEL), SUSE Linux Enterprise Server (SLES), and Ubuntu Linux distributions. -Arm Instruction Emulator is an executable that runs on your Linux host. It runs on Red Hat Enterprise Linux (RHEL), SUSE Linux Enterprise Server (SLES), and Ubuntu Linux distributions. +In this guide, you'll learn how to install Arm Instruction Emulator. + +## Before you begin Confirm you are using an Arm machine by running: @@ -39,42 +41,42 @@ aarch64 ``` If you see a different result, you are not using an Arm computer running 64-bit Linux. -You must ensure that either [Environment Modules](https://modules.readthedocs.io/en/latest/index.html) or the [Lmod Environment Module System](https://lmod.readthedocs.io/en/latest/) are installed on your Linux machine. The GNU Compiler (GCC) is also required. +You must also ensure that either [Environment Modules](https://modules.readthedocs.io/en/latest/index.html) or the [Lmod Environment Module System](https://lmod.readthedocs.io/en/latest/) are installed on your Linux machine. The GNU Compiler (GCC) is also required. -For Ubuntu Linux install the required packages. +For Ubuntu Linux, install the following required packages. ```bash sudo apt-get install build-essential -y sudo apt-get install environment-modules -y ``` -## How do I download Arm Instruction Emulator? +## Download Arm Instruction Emulator -You can download the appropriate Arm Instruction Emulator package for your host Linux platform from [Product Downloads section](https://developer.arm.com/downloads/-/arm-instruction-emulator) of the Arm website. +You can download the appropriate Arm Instruction Emulator package for your host Linux platform from the [Product Downloads section](https://developer.arm.com/downloads/-/arm-instruction-emulator) of the Arm website. -For Ubuntu Linux download the installer package using `wget` +For Ubuntu Linux, download the installer package using `wget`: ```bash -wget https://developer.arm.com/-/media/Files/downloads/hpc/arm-instruction-emulator/22-0/ARM-Instruction-Emulator_22.0_AArch64_Ubuntu_18.04.tar.gz +wget https://developer.arm.com/-/media/Files/downloads/hpc/arm-instruction-emulator/25-0/ARM-Instruction-Emulator_25.0_AArch64_Ubuntu_22.04.tar.gz ``` -## How do I install Arm Instruction Emulator? +## Install Arm Instruction Emulator To install the Arm Instruction Emulator, extract the downloaded package and run the install script. -Extract the downloaded package. +Extract the downloaded package: ```bash -tar -xf ARM-Instruction-Emulator_22.0_AArch64_Ubuntu_18.04.tar.gz +tar -xf ARM-Instruction-Emulator_25.0_AArch64_Ubuntu_22.04.tar.gz ``` -Run the install script. +Run the install script: ```bash -sudo ./arm-instruction-emulator_22.0_Ubuntu-18.04/arm-instruction-emulator_22.0_Ubuntu-18.04.sh -a +sudo ./arm-instruction-emulator_25.0_Ubuntu-22.04/arm-instruction-emulator_25.0_Ubuntu-22.04.sh -a ``` -Set up the environment for example in your .bashrc and add module files. +Set up the environment, for example, in your `.bashrc` and add module files: ```bash echo "source /usr/share/modules/init/bash" >> ~/.bashrc @@ -82,32 +84,26 @@ echo "module use /opt/arm/modulefiles" >> ~/.bashrc source ~/.bashrc ``` -To list available modules: +List available modules: ```console module avail ``` -To configure Arm Compiler for Linux: +Configure Arm Compiler for Linux: ```console module load armie22/22.0 ``` -To confirm `armie` is installed, print the version. +To confirm `armie` is installed, print the version: ```console armie --version ``` -## Do I need a license for Arm Instruction Emulator? - -Arm Instruction Emulator does not require a license. - -## How do I get started with Arm Instruction Emulator? - -To verify everything is working after installation refer to [Get started with Arm Instruction Emulator](https://developer.arm.com/documentation/102190/latest/Get-started/Get-started-with-Arm-Instruction-Emulator) for instructions on how to compile and run examples with `armie`. +## Get started with Arm Instruction Emulator -This uses a couple of simple examples to demonstrate how to compile Scalable Vector Extension (SVE) code and run the resulting binary with Arm Instruction Emulator. +To verify everything is working after installation, see [Get started with Arm Instruction Emulator](https://developer.arm.com/documentation/102190/latest/Get-started/Get-started-with-Arm-Instruction-Emulator) for instructions on how to compile and run examples with `armie`. The examples demonstrate how to compile Scalable Vector Extension (SVE) code and run the resulting binary with Arm Instruction Emulator. -You are ready to use the Arm Instruction Emulator. +You are now ready to use the Arm Instruction Emulator. From fdac4de6f58abbbe3d10c486bb3186e1055f8181 Mon Sep 17 00:00:00 2001 From: anupras-mohapatra-arm Date: Fri, 17 Apr 2026 15:39:07 -0500 Subject: [PATCH 06/48] description for armie --- content/install-guides/armie.md | 1 + 1 file changed, 1 insertion(+) diff --git a/content/install-guides/armie.md b/content/install-guides/armie.md index 9957603ab2..71f688b47d 100644 --- a/content/install-guides/armie.md +++ b/content/install-guides/armie.md @@ -14,6 +14,7 @@ official_docs: https://developer.arm.com/documentation/102190 test_images: - ubuntu:latest test_maintenance: true +description: Install Arm Instruction Emulator (armie) on Arm Linux (aarch64) to emulate Scalable Vector Extension (SVE) on hardware that doesn't support SVE. title: Arm Instruction Emulator (armie) tool_install: true weight: 1 From 6abd6ed50c98743634d73eaae39b3a95e8c38941 Mon Sep 17 00:00:00 2001 From: anupras-mohapatra-arm Date: Fri, 17 Apr 2026 16:59:24 -0500 Subject: [PATCH 07/48] some basic additions to instructions --- .github/copilot-instructions.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index 3ca6f547e6..c513161c39 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -287,10 +287,16 @@ Use these preferred terms and phrases for consistency: - `therefore` instead of `ergo` - `namely` instead of `viz.` - `avoid` instead of `try not to` + - `such as` instead of `like` + - `after` instead of `once` + - `setup` as a noun, `set up` as a verb - Avoid condescending language: - Do not use `simply`, `just`, `obviously`, or `clearly` +- Avoid using directions when referring to content that's been referenced previously or will be referenced next: + - Do not use `above`, `below`, `left`, `right`, `top`, or `bottom` + - Acknowledge difficulty naturally: - Use phrases like `this step can be confusing at first` From 5bf4beb6dae3745910c550dfda81305ba7c5b050 Mon Sep 17 00:00:00 2001 From: anupras-mohapatra-arm Date: Mon, 20 Apr 2026 10:51:38 -0500 Subject: [PATCH 08/48] updates for armpl --- content/install-guides/armpl.md | 80 ++++++++++++++++----------------- 1 file changed, 39 insertions(+), 41 deletions(-) diff --git a/content/install-guides/armpl.md b/content/install-guides/armpl.md index 7b0d425d40..756df3f49c 100644 --- a/content/install-guides/armpl.md +++ b/content/install-guides/armpl.md @@ -20,6 +20,7 @@ test_images: ### Link to official documentation official_docs: https://developer.arm.com/documentation/101004 +description: Install Arm Performance Libraries on Windows on Arm, macOS, and Linux AArch64 to access optimized BLAS, LAPACK, FFT, and math functions for high-performance computing on Arm. author: Pareena Verma ### PAGE SETUP @@ -30,59 +31,58 @@ multitool_install_part: false # Set to true if a sub-page of a multi-page arti layout: installtoolsall # DO NOT MODIFY. Always true for tool install articles --- -[Arm Performance Libraries](https://developer.arm.com/downloads/-/arm-performance-libraries#documentation) provides developers with optimized math libraries for high performance computing applications on Arm Neoverse based hardware. +[Arm Performance Libraries](https://developer.arm.com/downloads/-/arm-performance-libraries#documentation) provides developers with optimized math libraries for high-performance computing applications on Arm Neoverse-based hardware. -These libraries include highly optimized functions for BLAS, LAPACK, FFT, sparse linear algebra, random number generation, libamath and libastring. -These libraries are free to use and do not require a license. +These libraries include highly-optimized functions for BLAS, LAPACK, FFT, sparse linear algebra, random number generation, libamath, and libastring. -Arm Performance Libraries are available for use on [Windows 11 on Arm](#windows), [macOS](#macos) (Apple Silicon), and [Linux](#linux) (AArch64) hosts. +Arm Performance Libraries are free to use and don't require a license. These libraries are available for use on [Windows 11 on Arm](#windows), [macOS](#macos) (Apple Silicon), and [Linux](#linux) (AArch64) hosts. -## How do I install Arm Performance Libraries on Windows? {#windows} +## Install Arm Performance Libraries on Windows {#windows} On your Windows 11 Arm machine, go to the [Arm Performance Libraries download page](https://developer.arm.com/downloads/-/arm-performance-libraries). -Click on the Download Windows section and download the Windows Installer: +Click the **Download Windows** section and download the Windows Installer: `arm-performance-libraries__Windows.msi` -Double click to open this file and start the Arm Performance Libraries Setup Wizard. +Double-click to open the installer and start the Arm Performance Libraries Setup Wizard. ![win_wizard00 #left](/install-guides/_images/armpl_wizard00.png) -Read and accept the End-User License Agreement by clicking the checkbox 'I accept the terms of this License Agreement'. +Read and accept the End-User License Agreement by selecting the checkbox **I accept the terms of this License Agreement**. ![win_wizard01 #left](/install-guides/_images/armpl_wizard01.png) -Select a location for the installation on your system. The default is: +Enter a location for the installation on your system. The default is: `C:\Program Files\Arm Performance Libraries` ![win_wizard02 #left](/install-guides/_images/armpl_wizard02.png) -Click 'Install' and then 'Finish' to complete the installation. +Click **Install** and then **Finish** to complete the installation. ![win_wizard03 #left](/install-guides/_images/armpl_wizard03.png) ![win_wizard04 #left](/install-guides/_images/armpl_wizard04.png) -To install Arm Performance Libraries from a command prompt and automatically accept the End User License Agreement use: +To install Arm Performance Libraries from a command prompt and automatically accept the End User License Agreement, run: ```console msiexec.exe /i arm-performance-libraries__Windows.msi /quiet ACCEPT_EULA=1 ``` -To install Arm Performance Libraries using the `winget` package manager and automatically accept the End User License Agreement use: +To install Arm Performance Libraries using the `winget` package manager and automatically accept the End User License Agreement, run: ```console winget install --accept-package-agreements Arm.ArmPerformanceLibraries ``` You can now start linking your application to the Arm Performance libraries on your Windows on Arm device. Follow the examples in the included `RELEASE_NOTES` file of your extracted installation directory to get started. -For more information refer to [Get started with Arm Performance Libraries](https://developer.arm.com/documentation/109361). +For more information, see [Get started with Arm Performance Libraries](https://developer.arm.com/documentation/109361). -## How do I install Arm Performance Libraries on macOS? {#macos} +## Install Arm Performance Libraries on macOS {#macos} [Download](https://developer.arm.com/downloads/-/arm-performance-libraries) the appropriate package for your macOS distribution. -In a terminal, run the command shown below to download the macOS package: +In a terminal, run the following command to download the macOS package: ```console wget https://developer.arm.com/-/cdn-downloads/permalink/Arm-Performance-Libraries/Version_26.01/arm-performance-libraries_26.01_macOS.tgz ``` @@ -92,12 +92,12 @@ Use tar to extract the file: tar zxvf arm-performance-libraries_26.01_macOS.tgz ``` -Output of above command: +The output is similar to: ```console armpl_26.01_flang-21.dmg ``` -Mount the disk image by running from a terminal: +Mount the disk image by running the following command from a terminal: ```console hdiutil attach armpl_26.01_flang-21.dmg ``` @@ -108,36 +108,35 @@ Now run the installation script as a superuser: /Volumes/armpl_26.01_flang-21_installer/armpl_26.01_flang-21_install.sh -y ``` -Using this command you automatically accept the End User License Agreement and the packages are installed to the `/opt/arm` directory. If you want to change the installation directory location use the `--install_dir=` option with the script and provide the desired directory location. +Using this command, you automatically accept the End User License Agreement and install packages to the `/opt/arm` directory. If you want to change the installation directory location, use the `--install_dir=` option with the script and provide the desired directory location. -To install Arm Performance Libraries using Homebrew in a terminal and automatically accept the End User License Agreement use: +To install Arm Performance Libraries using Homebrew in a terminal and automatically accept the End User License Agreement, run: ```console brew install arm-performance-libraries ``` -The installer runs using `sudo` so you may be asked to input your password. +The installer runs using `sudo`, so you may be asked to input your password. -To get started, compile and test the examples included in the `/opt/arm//examples/`, or `//examples/` directory, if you have installed to a different location than the default. +To get started with Arm Performance Libraries on macOS, compile and test the examples in the `/opt/arm//examples/` directory, or `//examples/` if you installed to a different location. -For more information refer to [Get started with Arm Performance Libraries](https://developer.arm.com/documentation/109362). +For more information, see [Get started with Arm Performance Libraries](https://developer.arm.com/documentation/109362). +## Install Arm Performance Libraries on Linux {#linux} -## How do I install Arm Performance Libraries on Linux? {#linux} +Arm Performance Libraries are supported on most Linux distributions such as Ubuntu, RHEL, SLES, and Amazon Linux on an `AArch64` host. The libraries are compatible with various versions of GCC, LLVM, and NVHPC. The GCC-compatible releases are built with GCC 14 and tested with GCC versions 7 to 14. The LLVM-compatible releases are tested with LLVM 21.1. The NVHPC-compatible releases are tested with NVHPC 25.11. -Arm Performance Libraries are supported on most Linux distributions like Ubuntu, RHEL, SLES and Amazon Linux on an `AArch64` host and compatible with various versions of GCC, LLVM, and NVHPC. The GCC compatible releases are built with GCC 14 and tested with GCC versions 7 to 14. The LLVM compatible releases are tested with LLVM 21.1. The NVHPC compatible releases are tested with NVHPC 25.11. +### Manually download and install Arm Performance Libraries -### How do I manually download and install Arm Performance Libraries on Linux? - -[Download](https://developer.arm.com/downloads/-/arm-performance-libraries) the appropriate package for your Linux distribution. The deb based installers can be used on Ubuntu 22 and Ubuntu 24. The RPM based installers can be used on the following supported distributions: +[Download](https://developer.arm.com/downloads/-/arm-performance-libraries) the appropriate package for your Linux distribution. The `deb`-based installers can be used on Ubuntu 22 and Ubuntu 24. The RPM-based installers can be used on the following supported distributions: - Amazon Linux 2, Amazon Linux 2023 - RHEL-8, RHEL-9, RHEL-10 - SLES-15 Service Packs 6 and 7 -The instructions shown below are for deb based installers for GCC users. +The following instructions are for `deb`-based installers for GCC users. -In a terminal, run the command shown below to download the Debian package: +In a terminal, run the following command to download the Debian package: ```bash wget https://developer.arm.com/-/cdn-downloads/permalink/Arm-Performance-Libraries/Version_26.01/arm-performance-libraries_26.01_deb_gcc.tar @@ -155,13 +154,13 @@ Run the installation script as a super user: sudo ./arm-performance-libraries_26.01_deb/arm-performance-libraries_26.01_deb.sh --accept ``` -Using the `--accept` switch you automatically accept the End User License Agreement and the packages are installed to the `/opt/arm` directory. +Using the `--accept` switch, you automatically accept the End User License Agreement and the packages are installed to the `/opt/arm` directory. -If you want to change the installation directory location use the `--install-to` option with the script and provide the desired directory location. +If you want to change the installation directory location, use the `--install-to` option with the script and provide the desired directory location. -### How do I download and install Arm Performance Libraries using system packages on Linux? +### Download and install Arm Performance Libraries using system packages -Arm Performance Libraries are available to install using Linux system package managers. The instructions shown below are for the Ubuntu system package manager `apt` command. +Arm Performance Libraries are available to install using Linux system package managers. The following instructions are for the Ubuntu system package manager `apt` command. Add the Arm Performance Libraries `apt` package repository to your system: @@ -172,21 +171,21 @@ echo "deb https://developer.arm.com/packages/arm-toolchains:${NAME,,}-${VERSION_ sudo apt update ``` -Download and install Arm Performance Libraries with: +Download and install Arm Performance Libraries: ```bash sudo apt install arm-performance-libraries ``` -### How do I set up the environment for Arm Performance Libraries on Linux? +### Set up the environment for Arm Performance Libraries -Install environment modules on your machine: +Install environment modules on your Linux machine: ```console sudo apt install environment-modules ``` -Set your bash environment to use modules: +Set your bash environment to use the modules: ```console source /usr/share/modules/init/bash @@ -204,7 +203,7 @@ List the available modules: module avail ``` -The output should be similar to: +The output is similar to: ```output armpl/26.01.0_gcc @@ -216,7 +215,6 @@ Load the appropriate module: module load armpl/26.01.0_gcc ``` -You can now compile and test the examples included in the `/opt/arm//examples/`, or `//examples/` directory, if you have installed to a different location than the default. - -For more information refer to [Get started with Arm Performance Libraries](https://developer.arm.com/documentation/102620). +To get started with Arm Performance Libraries on Linux, compile and test the examples in the `/opt/arm//examples/` directory, or `//examples/` if you installed to a different location. +For more information, see [Get started with Arm Performance Libraries](https://developer.arm.com/documentation/109362). From 6756830010e20290422c1882f48ca7b1dc081262 Mon Sep 17 00:00:00 2001 From: anupras-mohapatra-arm Date: Mon, 20 Apr 2026 11:45:22 -0500 Subject: [PATCH 09/48] updates for asct --- content/install-guides/asct.md | 66 +++++++++++++++++----------------- 1 file changed, 34 insertions(+), 32 deletions(-) diff --git a/content/install-guides/asct.md b/content/install-guides/asct.md index a094864e1f..15299af8aa 100644 --- a/content/install-guides/asct.md +++ b/content/install-guides/asct.md @@ -16,6 +16,7 @@ test_maintenance: false # No official documentation official_docs: https://developer.arm.com/documentation/111147/latest +description: Install the Arm System Characterization Tool (ASCT) on Linux AArch64 to run low-level benchmarks and analyze memory, storage, and cache performance on Arm-based platforms. author: - Jason Andrews @@ -38,11 +39,11 @@ ASCT provides capabilities for: - Core-to-core latency measurements - Cache hierarchy mapping through sweep operations -ASCT is available for Linux on Arm (AArch64) systems and requires Python 3.10 or later. +ASCT is available for Linux on Arm (AArch64) systems. -## What should I do before installing ASCT? +## Before you begin -ASCT requires a Linux system running on Arm hardware. Confirm you are using an Arm computer with 64-bit Linux by running: +ASCT requires a Linux system running on Arm hardware. To confirm you are using an Arm computer with 64-bit Linux, run: ```bash uname -m @@ -58,7 +59,7 @@ If you see a different result, you are not using an Arm computer running 64-bit ### Install prerequisites -Before installing ASCT, ensure you have the required system packages: +Before installing ASCT, ensure that you have the required system packages: ```bash sudo apt update @@ -74,21 +75,19 @@ These packages are required for: For more information about installing Perf on different Linux distributions, see the [Perf install guide](/install-guides/perf/). -## How do I download and install ASCT? +## Download and install ASCT -ASCT is distributed as a Python package and requires Python 3.10 or later. +ASCT is distributed as a Python package and requires Python 3.10 or later. To find the latest ASCT release, see the [artifacts.tools.arm.com](https://artifacts.tools.arm.com/asct/dist/) page. The following steps use version `0.5.1`. ### Download ASCT -Download the latest ASCT release from the [artifacts.tools.arm.com](https://artifacts.tools.arm.com/asct/dist/) page. - -For example, to download version 0.5.1: +Download ASCT version `0.5.1`: ```bash wget https://artifacts.tools.arm.com/asct/dist/0.5.1/asct-0.5.1+11d418d-release.tar.gz ``` -### How do I install ASCT using uv? +### Install ASCT using uv The recommended method uses [uv](https://github.com/astral-sh/uv), a fast Python package installer. Install `uv`: @@ -117,7 +116,7 @@ sudo UV_TOOL_DIR=/opt/uv/tools UV_TOOL_BIN_DIR=/usr/local/bin $(which uv) tool i This installs ASCT to `/usr/local/bin` making it available system-wide. Installing to `/usr/local/bin` instead of the default `~/.local/bin` allows you to run ASCT with `sudo`, which is required for some benchmarks to access system resources and configure huge pages. -### How do I verify that ASCT is installed? +### Verify that ASCT is installed Verify the installation by checking the version: @@ -139,21 +138,23 @@ asct --help This displays available commands and benchmarks. -## How do I use ASCT? +## How to use ASCT ASCT provides several commands for benchmarking and system analysis, including `run`, `system-info`, `list`, `diff`, and `sysreg`. +{{% notice Note %}} Some benchmarks require `sudo` or root privileges to configure huge pages and access certain system information. You can run ASCT without `sudo`, but some benchmarks can be unavailable or limited in functionality. +{{% /notice %}} ### Get system information -To generate a system information report: +To generate a system information report, run: ```bash sudo asct system-info ``` -To save the system information in JSON format: +To save the system information in JSON format, run: ```bash sudo asct system-info --format json --output-dir my_output @@ -161,7 +162,7 @@ sudo asct system-info --format json --output-dir my_output ### List available benchmarks -To see all available benchmarks and their associated keywords: +To list all available benchmarks and their associated keywords, run: ```bash asct list @@ -169,19 +170,19 @@ asct list ### Run benchmarks -To run the default set of benchmarks: +To run the default set of benchmarks, run: ```bash sudo asct run ``` -To run all available benchmarks (including optional ones): +To run all available benchmarks (including optional ones), run: ```bash sudo asct run all ``` -To run specific benchmarks by name: +To run specific benchmarks by name, run: ```bash sudo asct run latency-sweep idle-latency @@ -189,13 +190,13 @@ sudo asct run latency-sweep idle-latency Each benchmark has associated keywords that describe its characteristics. You can use these keywords to run groups of related benchmarks without specifying each one individually. -To run all benchmarks tagged with the `memory` keyword: +To run all benchmarks tagged with the `memory` keyword, run: ```bash sudo asct run memory ``` -To run all benchmarks tagged with both `latency` and `bandwidth` keywords: +To run all benchmarks tagged with both `latency` and `bandwidth` keywords, run: ```bash sudo asct run latency bandwidth @@ -203,15 +204,15 @@ sudo asct run latency bandwidth Common keywords include `memory`, `storage`, `latency`, `bandwidth`, `sweep`, and `long-runtime`. Use `asct list` to see which keywords are associated with each benchmark. -To exclude benchmarks by keyword, prepend the keyword with the `^` character: +To exclude benchmarks by keyword, prepend the keyword with the `^` character, run: ```bash sudo asct run all ^bandwidth ``` -This runs all benchmarks except those tagged with the `bandwidth` keyword. +This command runs all benchmarks except those tagged with the `bandwidth` keyword. -To save benchmark results in CSV format: +To save benchmark results in CSV format, run: ```bash sudo asct run --format csv --output-dir results @@ -221,13 +222,13 @@ By default, ASCT saves output in a directory named `data. @@ -303,3 +304,4 @@ For example: ```bash asct help run ``` +You are now ready to use ASCT for analyzing performance on Arm-based platforms. \ No newline at end of file From 52c5e5985a6f0e929453f21e3b8c7908ebb8d326 Mon Sep 17 00:00:00 2001 From: anupras-mohapatra-arm Date: Mon, 20 Apr 2026 14:18:33 -0500 Subject: [PATCH 10/48] bolt updates --- .github/install-guide-review.md | 14 +++---- content/install-guides/asct.md | 16 ++++---- content/install-guides/bedrust.md | 44 +++++++++++----------- content/install-guides/bolt.md | 61 ++++++++++++++++++------------- 4 files changed, 72 insertions(+), 63 deletions(-) diff --git a/.github/install-guide-review.md b/.github/install-guide-review.md index b09f1c3d38..c079a0a13d 100644 --- a/.github/install-guide-review.md +++ b/.github/install-guide-review.md @@ -17,10 +17,10 @@ Legend: [x] reviewed | [ ] not started | 🔒 hidden/not published | sysbox | Sysbox | ✓ | 2025-02-05 | [ ] | | eksctl | eksctl (Amazon EKS CLI) | ✓ | 2025-02-10 | [x] | | kubectl | Kubectl | ✓ | 2025-02-10 | [ ] | -| bedrust | Bedrust - invoke models on Amazon Bedrock | ✓ | 2025-04-10 | [ ] | +| bedrust | Bedrust - invoke models on Amazon Bedrock | ✓ | 2025-04-10 | [x] | | anaconda | Anaconda | ✓ | 2025-04-25 | [x] | | ansible | Ansible | ✓ | 2025-04-25 | [ ] | -| armie | Arm Instruction Emulator (armie) | ✓ | 2025-04-25 | [ ] | +| armie | Arm Instruction Emulator (armie) | ✓ | 2025-04-25 | [x] | | aws-copilot | AWS Copilot CLI | ✓ | 2025-04-25 | [ ] | | gcloud | Google Cloud Platform (GCP) CLI | ✓ | 2025-04-25 | [ ] | | nerdctl | Nerdctl | ✓ | 2025-04-25 | [ ] | @@ -52,14 +52,14 @@ Legend: [x] reviewed | [ ] not started | 🔒 hidden/not published | vnc | VNC on Arm Linux | ✓ | 2025-11-24 | [ ] | | kiro-cli | Kiro CLI | ✓ | 2025-12-10 | [ ] | | linux-migration-tools | Arm Linux Migration Tools | ✓ | 2026-01-08 | [ ] | -| aperf | APerf | ✓ | 2026-01-19 | [ ] | +| aperf | APerf | ✓ | 2026-01-19 | [x] | | gcc/ | GNU Compiler (multi-page) | ✓ | 2026-01-28 | [ ] | | gemini | Gemini CLI | ✓ | 2026-01-30 | [ ] | | java | Java | ✓ | 2026-01-30 | [ ] | | openvscode-server | OpenVSCode Server | ✓ | 2026-01-30 | [ ] | | sbt | sbt | ✓ | 2026-01-30 | [ ] | | wperf | WindowsPerf (wperf) | ✓ | 2026-01-30 | [ ] | -| asct | Arm System Characterization Tool | 🔒 hidden | 2026-02-06 | [ ] | +| asct | Arm System Characterization Tool | 🔒 hidden | 2026-02-06 | [x] | | git-woa | Git for Windows on Arm | ✓ | 2026-02-26 | [ ] | | dotnet | .NET SDK | ✓ | 2026-03-02 | [ ] | @@ -77,7 +77,7 @@ Legend: [x] reviewed | [ ] not started | 🔒 hidden/not published | mdk | Arm Keil uVision | ✓ | 2025-04-25 | [ ] | | socrates | Arm Socrates | ✓ | 2025-04-25 | [ ] | | successkits | Arm Success Kits | ✓ | 2025-04-25 | [ ] | -| armclang | Arm Compiler for Embedded | ✓ | 2025-04-26 | [ ] | +| armclang | Arm Compiler for Embedded | ✓ | 2025-04-26 | [x] | | avh | Arm Virtual Hardware | ✓ | 2025-04-26 | [ ] | | keilstudio_vs | Arm Keil Studio for VS Code | ✓ | 2025-04-26 | [ ] | | license/ | Arm Software Licensing (multi-page) | ✓ | 2025-04-26 | [ ] | @@ -103,7 +103,7 @@ Legend: [x] reviewed | [ ] not started | 🔒 hidden/not published | pytorch-woa | PyTorch for Windows on Arm | ✓ | 2026-01-30 | [ ] | | atp | Arm Total Performance | 🔒 hidden | 2026-02-06 | [ ] | | vs-woa | Visual Studio for Windows on Arm | ✓ | 2026-02-26 | [ ] | -| armpl | Arm Performance Libraries | ✓ | 2026-03-02 | [ ] | +| armpl | Arm Performance Libraries | ✓ | 2026-03-02 | [x] | --- @@ -127,7 +127,7 @@ Legend: [x] reviewed | [ ] not started | 🔒 hidden/not published | aws-greengrass-v2 | AWS IoT Greengrass | Michael Hall | ✓ | 2025-05-02 | [ ] | | dcperf | DCPerf | Kieran Hejmadi | ✓ | 2025-09-22 | [ ] | | container | Container CLI for macOS | Rani Chowdary Mandepudi | ✓ | 2025-09-29 | [ ] | -| bolt | BOLT | Jonathan Davies | ✓ | 2025-10-22 | [ ] | +| bolt | BOLT | Jonathan Davies | ✓ | 2025-10-22 | [x] | | arduino-pico | Arduino core for the Raspberry Pi Pico | Michael Hall | ✓ | 2025-11-11 | [ ] | | windows-perf-vs-extension | Visual Studio Extension for WindowsPerf | Nader Zouaoui | ✓ | 2025-11-11 | [ ] | | windows-perf-wpa-plugin | Windows Performance Analyzer (WPA) plugin | Alaaeddine Chakroun | ✓ | 2025-12-02 | [ ] | diff --git a/content/install-guides/asct.md b/content/install-guides/asct.md index 15299af8aa..b215cebe78 100644 --- a/content/install-guides/asct.md +++ b/content/install-guides/asct.md @@ -66,12 +66,12 @@ sudo apt update sudo apt install python3 python3-pip python-is-python3 gcc make numactl fio linux-tools-generic linux-tools-$(uname -r) -y ``` -These packages are required for: -- `python3` - Python 3.10 or later for running ASCT -- `gcc` and `make` - For compiling benchmark components -- `numactl` - For NUMA-aware memory benchmarks -- `fio` - Version 3.36 or later for storage benchmarks -- `linux-tools-generic` and `linux-tools-$(uname -r)` - Linux Perf for performance analysis +These packages are needed for: +- `python3` — Python 3.10 or later for running ASCT +- `gcc` and `make` — for compiling benchmark components +- `numactl` — for NUMA-aware memory benchmarks +- `fio` — version 3.36 or later for storage benchmarks +- `linux-tools-generic` and `linux-tools-$(uname -r)` — Linux Perf for performance analysis For more information about installing Perf on different Linux distributions, see the [Perf install guide](/install-guides/perf/). @@ -95,13 +95,13 @@ The recommended method uses [uv](https://github.com/astral-sh/uv), a fast Python curl -LsSf https://astral.sh/uv/install.sh | sh ``` -Extract the release archive +Extract the release archive: ```bash tar xzf asct-0.5.1+11d418d-release.tar.gz ``` -Create the required directories +Create the required directories: ```bash sudo mkdir -p /opt/uv/tools /usr/local/bin diff --git a/content/install-guides/bedrust.md b/content/install-guides/bedrust.md index 6b1dc8b70a..d830e7ecf6 100644 --- a/content/install-guides/bedrust.md +++ b/content/install-guides/bedrust.md @@ -19,15 +19,15 @@ tool_install: true weight: 1 --- -Bedrust is a command-line program you can use to easily invoke models on Amazon Bedrock, a managed service that makes it easy for developers to build and scale generative AI applications using foundation models (FMs) from leading AI model providers. +Bedrust is a command-line program that you can use to invoke models on Amazon Bedrock. Amazon Bedrock is a managed service on Amazon Web Services (AWS) that allows developers to build and scale generative AI applications using foundation models (FMs) from leading AI model providers. Bedrust is available as Rust source code, and you can build and run it on an Arm Linux computer. -## What should I consider before installing Bedrust? +## Before you begin -You will need an AWS account to access Bedrock, which you can create at https://aws.amazon.com. (Click on **Create an AWS Account** in the top right corner. Follow the instructions to register. See the [Creating an AWS account documentation](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-creating.html) for full instructions.) +You'll need an [AWS account](https://aws.amazon.com) to access Bedrock. To learn how to create an AWS account, see [Create an AWS account](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-creating.html). -To use Bedrust you need to: +To use Bedrust, you need to: - Configure your AWS account credentials to talk to the Bedrock service - Enable foundation model access in the Bedrock console @@ -36,23 +36,23 @@ To use Bedrust you need to: To connect to Bedrock, you need to install the [AWS CLI](/install-guides/aws-cli/), generate an access key ID and secret access key, and use the `aws configure` command to enter your credentials. -Refer to [AWS Credentials](/install-guides/aws_access_keys/) for more details. +For more information about configuring credentials, see [AWS Credentials](/install-guides/aws_access_keys/). ### Enable model access in Bedrock -To use Bedrock models you need to request access to specific foundation models through the AWS Bedrock console. +To use Bedrock models, you need to request access to specific foundation models through the Amazon Bedrock console. -In your AWS account, navigate to "Model access" in the Bedrock console and select the models you want to use. +In your AWS account, navigate to **Model access** in the Bedrock console and select the models you want to use. -Refer to [Getting started with Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/getting-started.html) for additional documentation. +For more information, see [Access Amazon Bedrock foundation models](https://docs.aws.amazon.com/bedrock/latest/userguide/model-access.html). -## How do I download and install Bedrust? +## Download and install Bedrust -The easiest way to install Bedrust is by using Cargo, the Rust package manager. +One way to install Bedrust is by using Cargo, the Rust package manager. ### Install Rust -Ensure you have Rust and Cargo installed on your computer. If not, install them using the commands: +Ensure you have Rust and Cargo installed on your computer. If not, install them using the following commands: ```bash sudo apt install curl gcc -y @@ -60,7 +60,7 @@ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y source "$HOME/.cargo/env" ``` -Refer to the [Rust install guide](/install-guides/rust/) for more information. +For more information, see [Rust install guide](/install-guides/rust/). ### Clone the repository and install Bedrust @@ -77,7 +77,7 @@ With Rust and Cargo installed, you can install Bedrust: cargo install bedrust ``` -### Verify the Installation +### Verify the installation After installation, confirm that Bedrust is installed and available in your search path by checking the version: @@ -85,13 +85,13 @@ After installation, confirm that Bedrust is installed and available in your sear bedrust --version ``` -The output displays the installed version: +The output is similar to: ```output bedrust 0.8.8 ``` -## How do I configure Bedrust? +## Configure Bedrust You can set the default foundation model you want to use: @@ -130,15 +130,15 @@ Use the menu to select the default model: us.amazon.nova-pro-v1:0 ``` -## How do I use Bedrust? +## How to use Bedrust -Just run `bedrust` to invoke the CLI with the default model. +Run `bedrust` to invoke the CLI with the default model. ```console bedrust ``` -You will see the prompt and can start asking questions like `how do I install the AWS CLI?` to see how it works. +You'll see the prompt and can start asking questions such as `how do I install the AWS CLI?` to see how it works. ```output bedrust @@ -164,7 +164,7 @@ Currently supported chat commands: 😎 | Human: ``` -## How do I change foundation models? +## Change foundation models You can use `-m` to change the model: @@ -174,7 +174,7 @@ bedrust -m nova-micro Your queries are now sent to the Amazon Nova Micro model. -## How do I know which models I can use? +## Identify which models you can use Use `--help` to see your models. @@ -182,7 +182,7 @@ Use `--help` to see your models. bedrust --help ``` -The models are printed in the output: +The output is similar to: ```output A command-line tool to invoke and work with Large Language models on AWS, using Amazon Bedrock @@ -201,7 +201,7 @@ Options: The output shows the model strings you can use. Make sure to enable the models you want to use in the Bedrock console. -Bedrust is a quick way to explore many Bedrock models and easily compare them. +You are now ready to use Bedrust as a quick way to explore many Bedrock models and compare them. diff --git a/content/install-guides/bolt.md b/content/install-guides/bolt.md index e9b6c7cff1..739c7767e9 100644 --- a/content/install-guides/bolt.md +++ b/content/install-guides/bolt.md @@ -25,18 +25,20 @@ weight: 1 BOLT is an open-source post-link binary optimization tool developed to speed up large applications. It does this by optimizing the application's code layout based on performance profile samples collected during execution. -## What do I need before installing BOLT? - -This article provides quick instructions to download and install BOLT. The instructions are for Debian-based Linux distributions, but can be adapted for other Linux distributions. +In this guide, you'll learn how to download and install BOLT. The instructions are for Debian-based Linux distributions, but can be adapted for other Linux distributions. {{% notice Note %}} BOLT is provided as a built-in, ready-to-use component of the [Arm Toolchain for Linux](https://developer.arm.com/documentation/110477) suite. For more -information refer to [this guide](https://developer.arm.com/documentation/110477/211/How-to-use-BOLT-with-our-toolchain). +information, see [How to use BOLT with our toolchain](https://developer.arm.com/documentation/110477/211/How-to-use-BOLT-with-our-toolchain). {{% /notice %}} +## Before you begin + +Follow these steps: + 1. Install Git -[Install Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) using the documentation for your operating system. +[Install Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) for your operating system. Many Linux distributions include Git so you may not need to install it. @@ -52,7 +54,7 @@ Check it is installed: cmake --version ``` -The version is printed: +The output is similar to: ```output cmake version 3.22.1 @@ -60,7 +62,7 @@ cmake version 3.22.1 CMake suite maintained and supported by Kitware (kitware.com/cmake). ``` -For more information refer to the [CMake install guide.](/install-guides/cmake) +For more information, see [CMake install guide.](/install-guides/cmake) 3. Install Ninja @@ -74,7 +76,7 @@ Check it is installed: ninja --version ``` -The version is printed: +The output is similar to: ```output 1.10.0 @@ -92,7 +94,7 @@ Check it is installed: clang --version ``` -The version is printed: +The output is similar to: ```output Ubuntu clang version 14.0.0-1ubuntu1.1 @@ -107,11 +109,13 @@ InstalledDir: /usr/bin sudo apt-get install xz-utils -y ``` -## How do I install BOLT? +## Install BOLT + +You can install BOLT by building the source code or by downloading a binary release from GitHub. -You can install BOLT in 2 different ways, by building the source code or by downloading a binary release from GitHub. +### Build and install BOLT from source code -### How do I build and install BOLT from source code? +To build and install BOLT from source code, follow these steps: 1. Clone the repository @@ -119,7 +123,7 @@ You can install BOLT in 2 different ways, by building the source code or by down git clone https://github.com/llvm/llvm-project.git ``` -2. Build BOLT and run it. +2. Build BOLT and run it ```bash cd llvm-project @@ -131,8 +135,9 @@ cmake -G Ninja ../llvm -DLLVM_TARGETS_TO_BUILD="X86;AArch64" -DCMAKE_BUILD_TYPE= ```console ninja bolt ``` - -Build time depends on your machine configuration, and it may take several minutes to complete. +{{% notice Note %}} +The build time depends on your machine configuration and may take several minutes to complete. +{{% /notice %}} 3. Add the path to BOLT in your `.bashrc` file @@ -143,30 +148,34 @@ source ~/.bashrc You are now ready to [verify BOLT is installed](#verify). -### How do I install BOLT using a binary release? +### Install BOLT using a binary release + +To find the latest binary release, see [Releases](https://github.com/llvm/llvm-project/releases?q=&expanded=true). The following steps use the `22.1.3` release. 1. Download a binary release -For Arm Linux use the file with `aarch64` in the name: +For Arm Linux, use the file with `aarch64` in the name: ```bash -wget https://github.com/llvm/llvm-project/releases/download/llvmorg-19.1.7/clang+llvm-19.1.7-aarch64-linux-gnu.tar.xz +wget https://github.com/llvm/llvm-project/releases/download/llvmorg-22.1.3/clang+llvm-22.1.3-armv7a-linux-gnueabihf.tar.gz ``` 2. Extract the downloaded file ```bash -tar -xvf clang+llvm-19.1.7-aarch64-linux-gnu.tar.xz +tar -xvf clang+llvm-22.1.3-armv7a-linux-gnueabihf.tar.gz ``` 3. Add the path to BOLT in your `.bashrc` file ```bash -echo 'export PATH="$PATH:$HOME/clang+llvm-19.1.7-aarch64-linux-gnu/bin"' >> ~/.bashrc +echo 'export PATH="$PATH:$HOME/clang+llvm-22.1.3-armv7a-linux-gnueabihf/bin"' >> ~/.bashrc source ~/.bashrc ``` -### How do I verify BOLT is installed? {#verify} +### Verify BOLT is installed {#verify} + +To verify BOLT is installed, follow these steps: 1. Confirm BOLT applications `perf2bolt` and `llvm-bolt` are installed @@ -176,7 +185,7 @@ Check the `perf2bolt` command: perf2bolt ``` -The expected output is: +The output is similar to: ```output perf2bolt: Not enough positional command line arguments specified! @@ -189,7 +198,7 @@ Check the `llvm-bolt` command: llvm-bolt ``` -The expected output is: +The output is similar to: ```output llvm-bolt: Not enough positional command line arguments specified! @@ -206,7 +215,7 @@ The output is similar to: ```output LLVM (http://llvm.org/): - LLVM version 19.1.7 + LLVM version 22.1.3 Optimized build with assertions. Registered Targets: @@ -219,6 +228,6 @@ LLVM (http://llvm.org/): x86-64 - 64-bit X86: EM64T and AMD64 ``` -You will see additional Registered Targets if you downloaded a binary release. +You'll see additional Registered Targets if you downloaded a binary release. -You are ready to use BOLT on your Linux machine. +You are now ready to use BOLT on your Linux machine. From 75a983add19a41d5e6228464f94ca7668563cbc5 Mon Sep 17 00:00:00 2001 From: anupras-mohapatra-arm Date: Mon, 20 Apr 2026 15:58:24 -0500 Subject: [PATCH 11/48] tentative updates for cmake --- content/install-guides/bolt.md | 1 + content/install-guides/cmake.md | 81 +++++++++++++++------------------ 2 files changed, 37 insertions(+), 45 deletions(-) diff --git a/content/install-guides/bolt.md b/content/install-guides/bolt.md index 739c7767e9..24e982770c 100644 --- a/content/install-guides/bolt.md +++ b/content/install-guides/bolt.md @@ -11,6 +11,7 @@ minutes_to_complete: 20 author: Jonathan Davies official_docs: https://github.com/llvm/llvm-project/tree/main/bolt +description: Install BOLT on Linux AArch64 to optimize binary code layout using performance profiles and improve the runtime performance of large applications on Arm. test_images: - ubuntu:latest diff --git a/content/install-guides/cmake.md b/content/install-guides/cmake.md index 345f81be76..8f8b6c02ce 100644 --- a/content/install-guides/cmake.md +++ b/content/install-guides/cmake.md @@ -27,25 +27,19 @@ weight: 1 [CMake](https://cmake.org/) is an open-source, cross-platform build tool for software development projects, especially C and C++. -It is available for a variety of operating systems and there are multiple ways to install it. +CMake is available on a variety of operating systems and can be installed in different ways. In this guide, you'll learn how to install CMake for Arm Linux distributions and for Windows on Arm. -## What should I do before installing CMake for Arm Linux distributions or CMake for Windows on Arm? +## Before you begin -This article provides quick instructions to install CMake for Arm Linux distributions and for Windows on Arm. +If you're installing CMake for Windows on Arm, ensure you are using a Windows on Arm device such as the Lenovo ThinkPad X13s or Surface Pro 9 with 5G. -### How do I prepare to install CMake for Windows on Arm? - -Confirm you are using a Windows on Arm device such as the Lenovo ThinkPad X13s or Surface Pro 9 with 5G. - -### How do I prepare to install CMake on Arm Linux distributions? - -Confirm you are using an Arm computer with 64-bit Linux by running: +If you're installing CMake for Arm Linux, confirm you are using an Arm computer with 64-bit Linux by running: ```bash { target="ubuntu:latest" } uname -m ``` -The output should be: +The output is similar to: ```output aarch64 @@ -53,83 +47,83 @@ aarch64 If you see a different result, you are not using an Arm computer running 64-bit Linux. -## How do I download and install CMake on Windows on Arm? +## Download and install CMake on Windows on Arm -Native CMake support for Windows on Arm is available starting with version 3.24. Installers are available now from the [CMake download](https://cmake.org/download/) page. Emulated CMake can be used but is no longer needed unless an older version of CMake must be used. +Native CMake support for Windows on Arm is available starting with version 3.24. Emulated CMake can be used but is no longer needed unless you need to use an older version of CMake. -Download the [Windows ARM64 Installer](https://github.com/Kitware/CMake/releases/download/v3.28.1/cmake-3.28.1-windows-arm64.msi) and run it. +The following steps install CMake version 4.3.1. To find the latest Windows on Arm installer, see [CMake download](https://cmake.org/download/). -The welcome screen will appear: +To download and install CMake on Windows on Arm, follow these steps: -![Install #center](/install-guides/_images/cmake-welcome.png) +1. Download the [Windows ARM64 Installer](https://github.com/Kitware/CMake/releases/download/v4.3.1/cmake-4.3.1-windows-arm64.msi) and run it. -Accept the End-User License Agreement. +2. The welcome screen will appear. Click **Next** and then accept the End-User License Agreement. -Check `Add CMake to the system PATH for the current user` if you want to easily invoke cmake from any directory. +3. Under **Install Options**, to invoke CMake from any directory, check **Add CMake to the system PATH for the current user** and then click **Next**. -![Install #center](/install-guides/_images/cmake-path.png) +4. Follow the prompts to complete the installation. Wait for the installer to complete and then click **Finish**. + + -## How do I download and install CMake on Linux? +## Download and install CMake on Linux There are multiple ways to install CMake on Linux. -### How do I install CMake using the package manager? +### Install CMake using the package manager -Use `apt` on Ubuntu and Debian to install: +On Ubuntu and Debian, use `apt`: ```bash { target="ubuntu:latest" } sudo apt update sudo apt install cmake -y ``` -Use `dnf` to install on Fedora and Amazon Linux 2023: +On Fedora and Amazon Linux 2023, use `dnf`: ```console sudo dnf install cmake -y ``` -Depending on your Linux distribution you may have a version of `cmake` which is too old or too new for your project. +{{% notice Note %}} +Depending on your Linux distribution, you may have a version of `cmake` which is too old or too new for your project. +{{% /notice %}} -### How do I install the CMake Snap? +### Install CMake with Snap -Installing with `snap` provides the latest version of `cmake`: +By installing with `snap`, you get the latest version of `cmake`: ```console sudo snap install cmake --classic ``` -With `snap` the `cmake` executable is installed in `/snap/bin` which should already be in your search path. - -### How do I use a specific CMake release from GitHub? +With `snap`, the `cmake` executable is installed in `/snap/bin` which should already be in your search path. -If you need a specific version look for it in the [GitHub releases area](https://github.com/Kitware/CMake/releases) +### Use a specific CMake release from GitHub -Substitute the release number you want to install in the commands below.. +If you need a specific version of CMake, see [releases](https://github.com/Kitware/CMake/releases). Substitute the release number you want to install in the following commands. 1. Download a release from GitHub: ```console cd $HOME -wget -N https://github.com/Kitware/CMake/releases/download/v3.28.1/cmake-3.28.1-Linux-aarch64.sh +wget -N https://github.com/Kitware/CMake/releases/download/v4.3.1/cmake-4.3.1-linux-aarch64.sh ``` 2. Run the install script and set the search path using: ```console mkdir cmake -bash /home/$USER/cmake-3.28.1-Linux-aarch64.sh --skip-license --exclude-subdir --prefix=$HOME/cmake +bash /home/$USER/cmake-4.3.1-Linux-aarch64.sh --skip-license --exclude-subdir --prefix=$HOME/cmake export PATH=$PATH:$HOME/cmake/bin ``` -### How do I verify that CMake is installed? - -1. Confirm CMake is installed on Linux or Windows. +### Verify that CMake is installed After installing CMake, run it to confirm it is installed and can be found: @@ -152,10 +146,7 @@ re-generate its build system. Run 'cmake --help' for more information. ``` - -2. Print the CMake version - -To print the version run: +After confirming CMake can be found, print the version: ```console cmake --version @@ -164,9 +155,9 @@ cmake --version The output is similar to: ```output -cmake version 3.28.1 +cmake version 4.3.1 CMake suite maintained and supported by Kitware (kitware.com/cmake). ``` -You are ready to use CMake. +You are now ready to use CMake. From b05a0a1c0f7cd42633f5b51dbea819653da1a770 Mon Sep 17 00:00:00 2001 From: anupras-mohapatra-arm Date: Wed, 22 Apr 2026 13:42:01 -0500 Subject: [PATCH 12/48] updates to cmsis, cmake, and armclang --- content/install-guides/armclang.md | 28 ++++---- content/install-guides/cmake.md | 21 +++--- content/install-guides/cmsis-toolbox.md | 90 ++++++++++++++----------- 3 files changed, 76 insertions(+), 63 deletions(-) diff --git a/content/install-guides/armclang.md b/content/install-guides/armclang.md index 42b4655c6d..a41ce80458 100644 --- a/content/install-guides/armclang.md +++ b/content/install-guides/armclang.md @@ -52,15 +52,18 @@ For more information on usage, see [Arm Product Download Hub](../pdh). ### Install compiler packages +The installation steps depend on your operating system. + +#### Windows + To install on Windows, unzip the downloaded package, launch the installer, and follow on-screen prompts. ```console win-x86_64\setup.exe ``` -To install on Linux hosts, `untar` the downloaded package and run the install script. The exact filenames are version and host dependent. - -For example: #### Linux +To install on Linux hosts, `untar` the downloaded package and run the install script. The exact filenames are version and host dependent. + You can use the `uname -m` call to determine whether your machine is running `aarch64` or `x86_64`, and target the downloaded package accordingly. ```console @@ -71,22 +74,23 @@ tar xvfz ARMCompiler6.24_standalone_linux-`uname -m`.tar.gz ./install_`uname -m`.sh --i-agree-to-the-contained-eula --no-interactive -d /home/$USER/ArmCompilerforEmbedded6.24 ``` -Remove the install data when complete. +Remove the install data when complete: ```console cd .. rm -r tmp ``` Add the `bin` directory of the installation to the `PATH` and confirm `armclang` can be invoked. -#### bash -```console + +{{< tabpane code=true >}} + {{< tab header="bash" language="shell">}} export PATH=/home/$USER/ArmCompilerforEmbedded6.24/bin:$PATH armclang --version -``` -#### csh/tcsh -```console + {{< /tab >}} + {{< tab header="csh/tcsh" language="shell">}} set path=(/home/$USER/ArmCompilerforEmbedded6.24/bin $path) armclang --version -``` + {{< /tab >}} +{{< /tabpane >}} ### Download Arm Compiler for Embedded from the Arm Tools Artifactory {#artifactory} @@ -95,7 +99,7 @@ The Arm Compiler for Embedded, as well as other tools and utilities, are availab You can also fetch directly from the artifactory. This is particularly useful for automated CI/CD flows. ```bash -wget https://artifacts.tools.arm.com/arm-compiler/6.24/45/standalone-linux-armv8l_64-rel.tar.gz +wget https://artifacts.tools.arm.com/arm-compiler/6.24/19/standalone-linux-armv8l_64-rel.tar.gz ``` The artifactory packages don't have their own installers. You should manually extract files and configure. For example: @@ -137,7 +141,7 @@ armclang --target=aarch64-arm-none-eabi hello.c If the command completes with no errors, the compiler is working. -For more information about the example, see [Arm Compiler for Embedded User Guide](https://developer.arm.com/documentation/100748/latest/Getting-Started/Compiling-a-Hello-World-example). +For more information about the example, see the [Arm Compiler for Embedded User Guide](https://developer.arm.com/documentation/100748/latest/Getting-Started/Compiling-a-Hello-World-example). ## Integrate with Arm Development Studio {#armds} diff --git a/content/install-guides/cmake.md b/content/install-guides/cmake.md index 8f8b6c02ce..9c85c2882d 100644 --- a/content/install-guides/cmake.md +++ b/content/install-guides/cmake.md @@ -9,6 +9,8 @@ additional_search_terms: minutes_to_complete: 10 +description: Install CMake on Arm Linux (aarch64) and Windows on Arm to build and manage C and C++ projects using a cross-platform build system. + author: Jason Andrews official_docs: https://cmake.org/documentation/ @@ -55,21 +57,18 @@ The following steps install CMake version 4.3.1. To find the latest Windows on A To download and install CMake on Windows on Arm, follow these steps: -1. Download the [Windows ARM64 Installer](https://github.com/Kitware/CMake/releases/download/v4.3.1/cmake-4.3.1-windows-arm64.msi) and run it. - -2. The welcome screen will appear. Click **Next** and then accept the End-User License Agreement. - -3. Under **Install Options**, to invoke CMake from any directory, check **Add CMake to the system PATH for the current user** and then click **Next**. +1. Download the [Windows ARM64 Installer](https://github.com/Kitware/CMake/releases/download/v4.3.1/cmake-4.3.1-windows-arm64.msi) and run it. The welcome screen will appear. -4. Follow the prompts to complete the installation. Wait for the installer to complete and then click **Finish**. - - + ## Download and install CMake on Linux @@ -115,7 +114,7 @@ cd $HOME wget -N https://github.com/Kitware/CMake/releases/download/v4.3.1/cmake-4.3.1-linux-aarch64.sh ``` -2. Run the install script and set the search path using: +2. Run the install script and set the search path: ```console mkdir cmake diff --git a/content/install-guides/cmsis-toolbox.md b/content/install-guides/cmsis-toolbox.md index 6fc7b674ba..eb6c44e3ff 100644 --- a/content/install-guides/cmsis-toolbox.md +++ b/content/install-guides/cmsis-toolbox.md @@ -17,6 +17,8 @@ additional_search_terms: ### Estimated completion time in minutes (please use integer multiple of 5) minutes_to_complete: 15 +description: Install CMSIS-Toolbox on Arm Linux, Windows, and macOS to create, build, and manage embedded projects based on CMSIS Software Packs. + author: Ronan Synnott ### Link to official documentation @@ -30,94 +32,101 @@ multi_install: false # Set to true if first page of multi-page articl multitool_install_part: false # Set to true if a sub-page of a multi-page article, else false layout: installtoolsall # DO NOT MODIFY. Always true for tool install articles --- -The [CMSIS-Toolbox](https://github.com/Open-CMSIS-Pack/cmsis-toolbox) is a suite of utilities for creating, building, and managing projects based on CMSIS Software Packs. - -It is also used for the creation and maintenance of such packs. - -`CMSIS-Toolbox` is part of the [Open-CMSIS-Pack project](https://open-cmsis-pack.github.io/Open-CMSIS-Pack-Spec/main/html/index.html). +The [CMSIS-Toolbox](https://github.com/Open-CMSIS-Pack/cmsis-toolbox) is a suite of utilities for creating, building, and managing projects based on CMSIS Software Packs. It is also used for creating and maintaining Software Packs. -Windows, Linux, and macOS host platforms are supported. +`CMSIS-Toolbox` is part of the [Open-CMSIS-Pack project](https://open-cmsis-pack.github.io/Open-CMSIS-Pack-Spec/main/html/index.html). It is supported on Windows, Linux, and macOS host platforms. {{% notice Note %}} -This install guide is for manual installation of `CMSIS-Toolbox`. +The following install guide is for manual installation of `CMSIS-Toolbox`. -For automation instructions using `vcpkg` see [Install tools on the command line using vcpkg](/learning-paths/embedded-and-microcontrollers/vcpkg-tool-installation/). +For automation instructions using `vcpkg`, see [Install tools on the command line using vcpkg](/learning-paths/embedded-and-microcontrollers/vcpkg-tool-installation/). -`CMSIS-Toolbox` is also installed as part of a Keil MDK installation (Windows only). +`CMSIS-Toolbox` is also installed as part of a Keil MDK installation on Windows only. {{% /notice %}} -## What dependencies do I need before installing CMSIS-Toolbox? +## Before you begin + +You'll need to install `CMake` and `Ninja`. For steps to install `CMake`, see the [CMake install guide](/install-guides/cmake/). + +To install `Ninja`, run: -You will need to install `CMake` and `Ninja`: ```command sudo apt update -sudo apt install cmake ninja-build -y +sudo apt install ninja-build -y ``` Check the versions of each tool: ```command cmake --version ninja --version ``` -Ensure version of `CMake` is at least `3.25.2`, and `Ninja` is at least `1.10.2`. +Ensure that the version of `CMake` is at least `3.25.2`, and `Ninja` is at least `1.10.2`. -You can also download installers for all supported hosts from the below: +You can also download installers for all supported hosts: * [CMake](https://cmake.org/download/) * [Ninja](https://github.com/ninja-build/ninja/releases) -## How do I download CMSIS-Toolbox? +## Download CMSIS-Toolbox Download and unpack the latest version of `CMSIS-Toolbox` from the [Arm Tools Artifactory](https://artifacts.tools.arm.com/cmsis-toolbox/). -Full details of the contents is given in the [Releases area](https://github.com/Open-CMSIS-Pack/cmsis-toolbox/releases) of the GitHub repository. +For more information about the contents of the installation, see [Releases](https://github.com/Open-CMSIS-Pack/cmsis-toolbox/releases). + +### Download for Arm64 hosts -### How do I download for Arm64 hosts? +The commands depend on the host operating system. Replace `2.13.0` with the latest version. {{< tabpane code=true >}} {{< tab header="Windows" language="shell">}} -wget https://artifacts.tools.arm.com/cmsis-toolbox/2.5.0/cmsis-toolbox-windows-arm64.zip +wget https://artifacts.tools.arm.com/cmsis-toolbox/2.13.0/cmsis-toolbox-windows-arm64.zip tar -xf cmsis-toolbox-windows-arm64.zip {{< /tab >}} {{< tab header="Linux" language="shell">}} -wget https://artifacts.tools.arm.com/cmsis-toolbox/2.5.0/cmsis-toolbox-linux-arm64.tar.gz +wget https://artifacts.tools.arm.com/cmsis-toolbox/2.13.0/cmsis-toolbox-linux-arm64.tar.gz tar -xf cmsis-toolbox-linux-arm64.tar.gz {{< /tab >}} {{< tab header="macOS" language="shell">}} -curl -L -o cmsis-toolbox-darwin-arm64.tar.gz https://artifacts.tools.arm.com/cmsis-toolbox/2.5.0/cmsis-toolbox-darwin-arm64.tar.gz +curl -L -o cmsis-toolbox-darwin-arm64.tar.gz https://artifacts.tools.arm.com/cmsis-toolbox/2.13.0/cmsis-toolbox-darwin-arm64.tar.gz tar -xf cmsis-toolbox-darwin-arm64.tar.gz {{< /tab >}} {{< /tabpane >}} -### How do I download for x86_64 hosts? +### Download for x86_64 hosts + +The commands depend on the host operating system. Replace `2.13.0` with the latest version. {{< tabpane code=true >}} {{< tab header="Windows" language="shell">}} -wget https://artifacts.tools.arm.com/cmsis-toolbox/2.5.0/cmsis-toolbox-windows-amd64.zip +wget https://artifacts.tools.arm.com/cmsis-toolbox/2.13.0/cmsis-toolbox-windows-amd64.zip tar -xf cmsis-toolbox-windows-amd64.zip {{< /tab >}} {{< tab header="Linux" language="shell">}} -wget https://artifacts.tools.arm.com/cmsis-toolbox/2.5.0/cmsis-toolbox-linux-amd64.tar.gz +wget https://artifacts.tools.arm.com/cmsis-toolbox/2.13.0/cmsis-toolbox-linux-amd64.tar.gz tar -xf cmsis-toolbox-linux-amd64.tar.gz {{< /tab >}} {{< tab header="macOS" language="shell">}} -curl -L -o cmsis-toolbox-darwin-amd64.tar.gz https://artifacts.tools.arm.com/cmsis-toolbox/2.5.0/cmsis-toolbox-darwin-amd64.tar.gz +curl -L -o cmsis-toolbox-darwin-amd64.tar.gz https://artifacts.tools.arm.com/cmsis-toolbox/2.13.0/cmsis-toolbox-darwin-amd64.tar.gz tar -xf cmsis-toolbox-darwin-amd64.tar.gz {{< /tab >}} {{< /tabpane >}} -## Which compiler toolchain should I install? +## Available compiler toolchains Projects can be built with Arm Compiler for Embedded 6, Arm GNU Toolchain, LLVM Embedded Toolchain, or IAR tools. -For further setup instructions see these Install Guides: +For further setup instructions, see the following Install Guides: * [Arm Compiler for Embedded](/install-guides/armclang) * [Arm GNU Toolchain](/install-guides/gcc/arm-gnu) * [LLVM Embedded Toolchain for Arm](/install-guides/llvm-embedded/) -`Arm Compiler for Embedded` is used in the example below. +This Install Guide uses `Arm Compiler for Embedded`, which is supported on Windows and Linux. -## How do I set up environment variables? +## Set up environment variables -Set environment variables as below. Note the exact name of the `TOOLCHAIN` variables will be based on the tool and version installed. In this way, multiple build tools can be registered. +Set environment variables as follows. + +{{% notice Note %}} +The exact name of the `TOOLCHAIN` variables will be based on the tool and version installed. In this way, you can register multiple build tools. +{{% /notice %}} | Variable | Description | Notes | | ------------------------------------------ | ------------------------------------- | --------------------------------------------- | @@ -130,35 +139,35 @@ Set environment variables as below. Note the exact name of the `TOOLCHAIN` varia For example: {{< tabpane code=true >}} {{< tab header="Windows" language="shell">}} -set AC6_TOOLCHAIN_6_22_0=%ProgramFiles%/ArmCompilerforEmbedded6.22/bin +set AC6_TOOLCHAIN_6_24_0=%ProgramFiles%/ArmCompilerforEmbedded6.24/bin set CMSIS_PACK_ROOT=%LocalAppData%/Arm/Packs set PATH=%PATH%;%UserProfile%/cmsis-toolbox-windows-amd64/bin set CMSIS_COMPILER_ROOT=%UserProfile%/cmsis-toolbox-windows-amd64/etc {{< /tab >}} - {{< tab header="Linux/macOS" language="shell">}} -export AC6_TOOLCHAIN_6_22_0=$HOME/ArmCompilerforEmbedded6.22/bin + {{< tab header="Linux" language="shell">}} +export AC6_TOOLCHAIN_6_24_0=$HOME/ArmCompilerforEmbedded6.24/bin export CMSIS_PACK_ROOT=$HOME/packs export PATH=$HOME/cmsis-toolbox-linux-arm64/bin:$PATH export CMSIS_COMPILER_ROOT=$HOME/cmsis-toolbox-linux-arm64/etc {{< /tab >}} {{< /tabpane >}} -Exact paths will depend on tools versions installed and their install locations. +Exact paths will depend on the versions and locations of installed tools. -## How do I initialize the CMSIS-Pack directory? +## Initialize the CMSIS-Pack directory -Run the following command to initialize the directory specified by `CMSIS_PACK_ROOT` above. +Run the following command to initialize the directory specified by `CMSIS_PACK_ROOT`: ```command cpackget init https://www.keil.com/pack/index.pidx ``` `CMSIS-Toolbox` should now be ready for use. -## How can I test my CMSIS-Toolbox setup? {#test} +## Test the CMSIS-Toolbox setup {#test} -Example projects are provided on the [GitHub repository](https://github.com/Open-CMSIS-Pack/csolution-examples). +You can find example projects on [GitHub](https://github.com/Open-CMSIS-Pack/csolution-examples). -Clone the following repository to your build machine: +Clone the repository to your build machine: ```command git clone https://github.com/Open-CMSIS-Pack/csolution-examples ``` @@ -168,7 +177,7 @@ Navigate to the `Hello` example: cd csolution-examples/Hello ``` -### How do I build the solution? +### Build the solution Use the [cbuild](https://github.com/Open-CMSIS-Pack/cbuild) utility (a component of `CMSIS-Toolbox`) to build. @@ -178,7 +187,7 @@ Add `--packs` to the command line to download and install any necessary software cbuild Hello.csolution.yml --packs ``` -The build will proceed and generate an executable image(s). You will see output similar to: +The build will proceed and generate an executable image(s). The output is similar to: ```output ARM::CMSIS@6.0.0 @@ -207,3 +216,4 @@ Program Size: Code=17664 RO-data=988 RW-data=196 ZI-data=37112 Build summary: 2 succeeded, 0 failed - Time Elapsed: 00:00:03 +============================================================ ``` +You are now ready to use CMSIS-Toolbox. \ No newline at end of file From 006f580cc1ae8b45b37debefef7eb2ecf8abefeb Mon Sep 17 00:00:00 2001 From: anupras-mohapatra-arm Date: Wed, 22 Apr 2026 14:17:32 -0500 Subject: [PATCH 13/48] updates to codex cli --- content/install-guides/codex-cli.md | 58 ++++++++++++++--------------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/content/install-guides/codex-cli.md b/content/install-guides/codex-cli.md index 2a10450e0f..7f422c683f 100644 --- a/content/install-guides/codex-cli.md +++ b/content/install-guides/codex-cli.md @@ -20,29 +20,29 @@ Codex CLI is a local, terminal-based coding agent from OpenAI that helps develop Codex CLI supports multiple operating systems, including Arm-based Linux distributions and macOS. By integrating AI assistance directly into command-line workflows, it reduces context switching during development. -This guide explains how to install Codex CLI on macOS and Arm Linux. +In this guide, you'll learn how to install Codex CLI on macOS and Arm Linux. -## What should I do before installing Codex CLI? +## Before you begin You need an OpenAI account to use Codex CLI. You can either sign in with your [ChatGPT](https://chatgpt.com/) account (Plus, Pro, Team, Edu, or Enterprise plan) or use an OpenAI API key. Codex CLI requires Node.js 18 or later. -## How do I download and install Codex CLI? +## Download and install Codex CLI -On most systems, install Codex CLI using npm. On macOS, there is also the option for you to use Homebrew. +On most systems, install Codex CLI using `npm`. On macOS, there is also the option for you to use Homebrew. -### How do I use npm to install Codex CLI? +### Use npm to install Codex CLI -The easiest way to install Codex CLI is with npm: +To install Codex CLI with `npm`, run: ```console npm install -g @openai/codex ``` -### Can I use Homebrew to install Codex CLI on macOS? +### Use Homebrew to install Codex CLI on macOS -Yes. Install [Homebrew](https://brew.sh/) if it's not already available on your computer. +Install [Homebrew](https://brew.sh/) if it's not already available on your computer. Install Codex CLI using Homebrew: @@ -50,11 +50,11 @@ Install Codex CLI using Homebrew: brew install --cask codex ``` -## How do I install Codex CLI on Arm Linux? +## Install Codex CLI on Arm Linux -You can install Codex CLI on Arm Linux distributions using npm. This method works on all major Arm Linux distributions including Ubuntu, Debian, CentOS, and others. +You can install Codex CLI on Arm Linux distributions using `npm`. This method works on all major Arm Linux distributions including Ubuntu, Debian, CentOS, and others. -### What packages do I need before installing Codex CLI on Arm Linux? +### Prerequisites Before installing Codex CLI, install prerequisite packages and Node.js. @@ -64,13 +64,13 @@ Install the required packages on Ubuntu/Debian systems: sudo apt update && sudo apt install -y curl ``` -If you're not using Ubuntu/Debian, use your package manager to install curl. +If you're not using Ubuntu/Debian, use your package manager to install `curl`. -### How do I install Node.js on Arm Linux? +#### Install Node.js on Arm Linux {{% notice Note %}}If you already have Node.js 18 or later installed, you can skip this section.{{% /notice %}} -Codex CLI requires Node.js version 18 or higher. The easiest way to install Node.js on Arm Linux is using the NodeSource repository. +Codex CLI requires Node.js version 18 or higher. One way to install Node.js on Arm Linux is by using the NodeSource repository. Download and run the Node.js setup script. For example, for Node.js 22.x: @@ -108,9 +108,9 @@ The output shows the npm version: 10.9.4 ``` -### How do I install Codex CLI using npm on Arm Linux? +### Install Codex CLI using npm on Arm Linux -With Node.js installed, install Codex CLI globally using npm. +With Node.js installed, install Codex CLI globally using`npm`. Install Codex CLI globally: @@ -118,9 +118,9 @@ Install Codex CLI globally: sudo npm install -g @openai/codex ``` -This downloads and installs the latest version of Codex CLI. +The command downloads and installs the latest version of Codex CLI. -## How do I confirm Codex CLI is working? +## Confirm Codex CLI is working You now have the latest version of Codex CLI installed. @@ -133,10 +133,10 @@ codex --version The output shows the version: ```output -@openai/codex, 0.79.0 +@openai/codex, 0.122.0 ``` -## How do I authenticate with OpenAI? +## Authenticate with OpenAI There are two ways to authenticate with Codex CLI. @@ -167,35 +167,35 @@ You can generate an API key from the [OpenAI Platform](https://platform.openai.c When using an API key, usage is billed to your OpenAI API account rather than being included in your ChatGPT subscription. {{% /notice %}} -## How do I configure Codex CLI? +## Configure Codex CLI Codex CLI stores preferences in `~/.codex/config.toml`. You can configure various options including the default model, approval mode, and MCP servers. -To see all configuration options, refer to the [Configuration documentation](https://developers.openai.com/codex/cli/reference/). +To see all configuration options, see the [Configuration documentation](https://developers.openai.com/codex/cli/reference/). ## Install the Arm MCP server -The Arm MCP Server is an MCP server providing AI assistants with tools and knowledge for Arm architecture development, migration, and optimization. This section shows how to configure the Arm MCP server locally using Docker. +The Arm MCP Server is an MCP server providing AI assistants with tools and knowledge for Arm architecture development, migration, and optimization. In this section, you'll learn how to configure the Arm MCP server locally using Docker. First, pull the MCP server image to your local machine: ```console docker pull armlimited/arm-mcp:latest ``` -Ensure Docker is installed and running. See the [Docker install guide](/install-guides/docker/) for instructions. +Ensure Docker is installed and running. For instructions, see the [Docker install guide](/install-guides/docker/). -### How do I configure the Arm MCP server? +### Configure the Arm MCP server Codex CLI uses a TOML configuration file for MCP servers. Modify the file `~/.codex/config.toml` to add the Arm MCP server using Docker. -To analyze a local codebase, use a `-v` argument to mount a volume to the Arm MCP server `/workspace` folder so it can access code you want to analyze with migrate-ease and other tools. +To analyze a local codebase, use a `-v` argument to mount a volume to the Arm MCP server `/workspace` folder so it can access code you want to analyze with `migrate-ease` and other tools. Replace the path `/Users/yourname01/yourlocalcodebase` with the path to your local codebase. -##### **Option 1: edit the Codex configuration file** +##### **Option 1: Edit the Codex configuration file** Add the following to your `~/.codex/config.toml` file: @@ -217,7 +217,7 @@ startup_timeout_sec = 60 The section must be named `mcp_servers` with an underscore. Using `mcp-servers` or `mcpservers` will cause Codex to ignore the configuration. {{% /notice %}} -##### **Option 2: add from the Codex CLI** +##### **Option 2: Add from the Codex CLI** You can also add the Arm MCP server from the Codex CLI, after starting `codex` run: @@ -225,7 +225,7 @@ You can also add the Arm MCP server from the Codex CLI, after starting `codex` r codex mcp add arm-mcp -- sh -lc 'docker run --rm -i -v "$PWD:/workspace" --name arm-mcp armlimited/arm-mcp:latest' ``` -### How do I verify the Arm MCP server is working? +### Verify the Arm MCP server is working Start Codex CLI and list the tools from the MCP server to verify it is working: From a267137a27baf75fd60e1b4fac74b1bbe88ea68f Mon Sep 17 00:00:00 2001 From: anupras-mohapatra-arm Date: Wed, 22 Apr 2026 15:12:57 -0500 Subject: [PATCH 14/48] attempting to standardize notes for replacing versions in commands + updates to container cli --- content/install-guides/anaconda.md | 8 +++++- content/install-guides/aperf.md | 5 ++-- content/install-guides/armie.md | 4 +++ content/install-guides/armpl.md | 18 +++++++++---- content/install-guides/asct.md | 6 ++++- content/install-guides/bedrust.md | 2 +- content/install-guides/bolt.md | 6 ++++- content/install-guides/codex-cli.md | 1 + content/install-guides/container.md | 39 +++++++++++++++-------------- 9 files changed, 59 insertions(+), 30 deletions(-) diff --git a/content/install-guides/anaconda.md b/content/install-guides/anaconda.md index eaf288745e..931a42fd1b 100644 --- a/content/install-guides/anaconda.md +++ b/content/install-guides/anaconda.md @@ -58,7 +58,13 @@ sudo amazon-linux-extras install mate-desktop1.x ## Download the latest Anaconda Distribution -For the latest version of Anaconda Distribution, see [Anaconda Distribution release notes](https://www.anaconda.com/docs/getting-started/anaconda/release-notes). To download the latest Anaconda Distribution, run: +For the latest version of Anaconda Distribution, see [Anaconda Distribution release notes](https://www.anaconda.com/docs/getting-started/anaconda/release-notes). + +{{% notice Note %}} +The following commands use Anaconda version 2025.12.2. The same commands work with other versions. Replace the package used in these steps with the package for your version. +{{% /notice %}} + +To download Anaconda Distribution, run: ```bash curl -O https://repo.anaconda.com/archive/Anaconda3-2025.12-2-Linux-aarch64.sh diff --git a/content/install-guides/aperf.md b/content/install-guides/aperf.md index a2a083b0aa..a1219f672e 100644 --- a/content/install-guides/aperf.md +++ b/content/install-guides/aperf.md @@ -53,10 +53,11 @@ sudo sysctl -w kernel.kptr_restrict=0 To use APerf's Java profiling option (`--profile-java`), install the [async-profiler](https://github.com/async-profiler/async-profiler) tool. ## Download and install APerf -The easiest way to install APerf is to download a release from GitHub and extract it. + +You can install APerf by downloading a release from GitHub and extracting it. {{%notice Note%}} -To install the latest version of APerf, replace `v.1.2.2` in the following commands with the identifier for the latest version. To see available releases, visit the [releases page](https://github.com/aws/aperf/releases/). +The following commands use version `v.1.2.2`. To install the latest version of APerf, replace `v.1.2.2` in the following commands with the identifier for the latest version. To find the latest version, see [releases](https://github.com/aws/aperf/releases/) on GitHub. {{%/notice%}} You can download a release from the command line: diff --git a/content/install-guides/armie.md b/content/install-guides/armie.md index 71f688b47d..88479ce84c 100644 --- a/content/install-guides/armie.md +++ b/content/install-guides/armie.md @@ -55,6 +55,10 @@ sudo apt-get install environment-modules -y You can download the appropriate Arm Instruction Emulator package for your host Linux platform from the [Product Downloads section](https://developer.arm.com/downloads/-/arm-instruction-emulator) of the Arm website. +{{% notice Note %}} +The following commands use Arm Instruction Emulator version 25.0 for Ubuntu 22.04. The same commands work with other versions and Linux platforms. Replace the package and script used in these steps with those for your version. +{{% /notice %}} + For Ubuntu Linux, download the installer package using `wget`: ```bash diff --git a/content/install-guides/armpl.md b/content/install-guides/armpl.md index 756df3f49c..d41edeffe8 100644 --- a/content/install-guides/armpl.md +++ b/content/install-guides/armpl.md @@ -45,23 +45,23 @@ Click the **Download Windows** section and download the Windows Installer: Double-click to open the installer and start the Arm Performance Libraries Setup Wizard. -![win_wizard00 #left](/install-guides/_images/armpl_wizard00.png) +![Arm Performance Libraries Setup Wizard welcome screen prompting user to select Next to begin the installation.#center](/install-guides/_images/armpl_wizard00.png) Read and accept the End-User License Agreement by selecting the checkbox **I accept the terms of this License Agreement**. -![win_wizard01 #left](/install-guides/_images/armpl_wizard01.png) +![Arm Performance Libraries Setup Wizard showing the End-User License Agreement. A checkbox labeled 'I accept the terms of this License Agreement' is checked.#center](/install-guides/_images/armpl_wizard01.png) Enter a location for the installation on your system. The default is: `C:\Program Files\Arm Performance Libraries` -![win_wizard02 #left](/install-guides/_images/armpl_wizard02.png) +![Arm Performance Libraries Setup Wizard showing the installation directory field, set by default to C:\Program Files\Arm Performance Libraries. Change this path if needed before continuing.#center](/install-guides/_images/armpl_wizard02.png) Click **Install** and then **Finish** to complete the installation. -![win_wizard03 #left](/install-guides/_images/armpl_wizard03.png) +![Arm Performance Libraries Setup Wizard is ready to install, prompting user to select Install to begin copying files to the specified directory.#center](/install-guides/_images/armpl_wizard03.png) -![win_wizard04 #left](/install-guides/_images/armpl_wizard04.png) +![Arm Performance Libraries Setup Wizard showing the installation is complete, prompting user to select Finish to exit the wizard.#center](/install-guides/_images/armpl_wizard04.png) To install Arm Performance Libraries from a command prompt and automatically accept the End User License Agreement, run: ```console @@ -82,6 +82,10 @@ For more information, see [Get started with Arm Performance Libraries](https://d [Download](https://developer.arm.com/downloads/-/arm-performance-libraries) the appropriate package for your macOS distribution. +{{% notice Note %}} +The following commands use Arm Performance Libraries version 26.01. The same commands work with other versions. Replace the package used in these steps with the package for your version. +{{% /notice %}} + In a terminal, run the following command to download the macOS package: ```console wget https://developer.arm.com/-/cdn-downloads/permalink/Arm-Performance-Libraries/Version_26.01/arm-performance-libraries_26.01_macOS.tgz @@ -136,6 +140,10 @@ Arm Performance Libraries are supported on most Linux distributions such as Ubun The following instructions are for `deb`-based installers for GCC users. +{{% notice Note %}} +The following commands use Arm Performance Libraries version 26.01. The same commands work with other versions. Replace the package used in these steps with the package for your version. +{{% /notice %}} + In a terminal, run the following command to download the Debian package: ```bash diff --git a/content/install-guides/asct.md b/content/install-guides/asct.md index b215cebe78..7c98ddb0d1 100644 --- a/content/install-guides/asct.md +++ b/content/install-guides/asct.md @@ -77,7 +77,11 @@ For more information about installing Perf on different Linux distributions, see ## Download and install ASCT -ASCT is distributed as a Python package and requires Python 3.10 or later. To find the latest ASCT release, see the [artifacts.tools.arm.com](https://artifacts.tools.arm.com/asct/dist/) page. The following steps use version `0.5.1`. +ASCT is distributed as a Python package and requires Python 3.10 or later. To find the latest ASCT release, see the [artifacts.tools.arm.com](https://artifacts.tools.arm.com/asct/dist/) page. + +{{% notice Note %}} +The following commands use ASCT version 0.5.1. The same commands work with other versions. Replace the package used in these steps with the package for your version. +{{% /notice %}} ### Download ASCT diff --git a/content/install-guides/bedrust.md b/content/install-guides/bedrust.md index d830e7ecf6..c309029f00 100644 --- a/content/install-guides/bedrust.md +++ b/content/install-guides/bedrust.md @@ -60,7 +60,7 @@ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y source "$HOME/.cargo/env" ``` -For more information, see [Rust install guide](/install-guides/rust/). +For more information, see the [Rust install guide](/install-guides/rust/). ### Clone the repository and install Bedrust diff --git a/content/install-guides/bolt.md b/content/install-guides/bolt.md index 24e982770c..0b3c303cd1 100644 --- a/content/install-guides/bolt.md +++ b/content/install-guides/bolt.md @@ -151,7 +151,11 @@ You are now ready to [verify BOLT is installed](#verify). ### Install BOLT using a binary release -To find the latest binary release, see [Releases](https://github.com/llvm/llvm-project/releases?q=&expanded=true). The following steps use the `22.1.3` release. +To find the latest binary release, see [Releases](https://github.com/llvm/llvm-project/releases?q=&expanded=true). + +{{% notice Note %}} +The following commands use BOLT version 22.1.3. The same commands work with other versions. Replace the package used in these steps with the package for your version. +{{% /notice %}} 1. Download a binary release diff --git a/content/install-guides/codex-cli.md b/content/install-guides/codex-cli.md index 7f422c683f..e8eaf47150 100644 --- a/content/install-guides/codex-cli.md +++ b/content/install-guides/codex-cli.md @@ -3,6 +3,7 @@ title: Codex CLI author: Joe Stech minutes_to_complete: 10 +description: Install Codex CLI on Arm Linux (aarch64) and macOS to use OpenAI's terminal-based coding agent for natural language code generation and codebase exploration. official_docs: https://developers.openai.com/codex/cli/ test_maintenance: true diff --git a/content/install-guides/container.md b/content/install-guides/container.md index 704895e2c6..d6a93a2cf9 100644 --- a/content/install-guides/container.md +++ b/content/install-guides/container.md @@ -14,13 +14,13 @@ tool_install: true weight: 1 --- -Container CLI is an open-source command-line tool from Apple for building and running Arm Linux containers directly on macOS using lightweight virtual machines without Docker Desktop or full Linux VMs. +Container CLI is an open-source command-line tool from Apple for building and running Arm Linux containers directly on macOS. With Container CLI, you can run containers using lightweight virtual machines without Docker Desktop or full Linux VMs. -It supports the full OCI (Open Container Initiative) workflow: building, running, tagging, and pushing container images. +The CLI supports the full Open Container Initiative (OCI) workflow: building, running, tagging, and pushing container images. -## What should I do before installing the Container CLI? +In this guide, you'll learn how to install and use the Container CLI to run Arm Linux containers natively on Apple silicon Macs. -This guide shows how to install and use the `container` CLI to run Arm Linux containers natively on Apple silicon Macs. +## Before you begin First, confirm you are using an Apple silicon Mac by running: @@ -28,7 +28,7 @@ First, confirm you are using an Apple silicon Mac by running: uname -m ``` -Expected output: +The output should be: ```output arm64 @@ -49,15 +49,13 @@ Example output: 15.6.1 ``` -You must be running macOS 15.0 or later to use the Container CLI. - -## How do I install Container CLI? +You must run macOS 15.0 or later to use the Container CLI. -To install Container CLI: +## Install Container CLI -Go to the [GitHub Releases page](https://github.com/apple/container/releases) and download the latest signed `.pkg` installer. +To install Container CLI, go to the [GitHub Releases page](https://github.com/apple/container/releases) and download the latest signed `.pkg` installer. -For example: +For example, the following commands use version `0.11.0`. Replace `0.11.0` with the latest version: ```bash wget https://github.com/apple/container/releases/download/0.11.0/container-0.11.0-installer-signed.pkg @@ -87,13 +85,13 @@ Verify the CLI version: container --version ``` -Example output: +The output is similar to: ```output container CLI version 0.11.0 (build: release, commit: d9b8a8d) ``` -## Build and run a container +## Verify installation by building and running a container In a working directory, create a file named `Dockerfile`: @@ -137,7 +135,11 @@ The `--rm` flag cleans up the container after it exits. ## Tag and push the image -Once the image is built and tested locally, it can be pushed to a container registry such as Docker Hub. This allows the image to be reused across machines or shared with others. +After the image is built and tested locally, you can push it to a container registry such as Docker Hub. This allows the image to be reused across machines or shared with others. + +{{% notice Note %}} +The following commands are for Docker Hub. The same commands work with any other OCI-compliant registry such as GitHub Container Registry (ghcr.io) or any OCI-compliant registry. Replace `docker.io` with the appropriate registry hostname. +{{% /notice %}} Tag the image with a registry-compatible name: @@ -155,8 +157,6 @@ container registry login docker.io Enter your Docker Hub username and password. -The same command works with other registries such as GitHub Container Registry (ghcr.io) or any OCI-compliant registry. Replace `docker.io` with the appropriate registry hostname. - Next, upload the tagged image to Docker Hub: ```bash @@ -177,15 +177,16 @@ To view running or stopped containers: container ls ``` -## How do I uninstall the Container CLI? +## Uninstall the Container CLI The CLI includes an uninstall script. You can choose whether to keep or delete your container data. -If you plan to reinstall later and want to keep your local container data. To uninstall and keep user data (images and containers): + To uninstall and retain user data (images and containers): ```bash uninstall-container.sh -k ``` +The command is useful if you plan to reinstall Container CLI later and want to keep your local container data. Otherwise, to uninstall and delete all user data: @@ -195,4 +196,4 @@ uninstall-container.sh -d This will remove the CLI and all related images, logs, and metadata. -You’ve now installed Container CLI and built your first Arm Linux container on macOS. +You’ve now ready to use Container CLI. From 0ac1ee7dfe83c40b2160bd9891b5cbdf6415b046 Mon Sep 17 00:00:00 2001 From: anupras-mohapatra-arm Date: Wed, 22 Apr 2026 17:01:07 -0500 Subject: [PATCH 15/48] updates for dcperf --- content/install-guides/cmake.md | 6 ++++- content/install-guides/dcperf.md | 40 ++++++++++++++++---------------- 2 files changed, 25 insertions(+), 21 deletions(-) diff --git a/content/install-guides/cmake.md b/content/install-guides/cmake.md index 9c85c2882d..c00ba85a4b 100644 --- a/content/install-guides/cmake.md +++ b/content/install-guides/cmake.md @@ -105,7 +105,11 @@ With `snap`, the `cmake` executable is installed in `/snap/bin` which should alr ### Use a specific CMake release from GitHub -If you need a specific version of CMake, see [releases](https://github.com/Kitware/CMake/releases). Substitute the release number you want to install in the following commands. +If you need a specific version of CMake, see [releases](https://github.com/Kitware/CMake/releases). + +{{% notice Note %}} +The following commands use CMake version 4.3.1. The same commands work with other versions. Replace the package used in these steps with the package for your version. +{{% /notice %}} 1. Download a release from GitHub: diff --git a/content/install-guides/dcperf.md b/content/install-guides/dcperf.md index e0d32c80e1..0c8a8b5dc6 100644 --- a/content/install-guides/dcperf.md +++ b/content/install-guides/dcperf.md @@ -21,26 +21,26 @@ weight: 1 ## Introduction -DCPerf is an open-source benchmarking and microbenchmarking suite originally developed by Meta. It faithfully replicates the characteristics of general-purpose data center workloads, with particular attention to microarchitectural fidelity. DCPerf stands out for accurate simulation of behaviors such as cache misses and branch mispredictions, which are details that many other benchmarking tools overlook. +DCPerf is an open-source benchmarking and microbenchmarking suite originally developed by Meta. It replicates the characteristics of general-purpose data center workloads, with particular attention to microarchitectural fidelity. DCPerf stands out for accurate simulation of behaviors such as cache misses and branch mispredictions, which are details that many other benchmarking tools overlook. -You can use DCPerf to generate performance data to inform procurement decisions, and for regression testing to detect changes in the environment, such as kernel and compiler changes. +You can use DCPerf to generate performance data to inform procurement decisions and for regression testing to detect changes in the environment, such as kernel and compiler changes. -DCPerf runs on Arm-based servers. The examples below have been tested on an AWS `c7g.metal` instance running Ubuntu 22.04 LTS. +DCPerf runs on Arm-based servers. The following examples have been tested on an Amazon EC2 `c7g.metal` instance running Ubuntu 22.04 LTS. {{% notice Note %}} -When running on a server provided by a cloud service, you have limited access to some parameters, such as UEFI settings, which can affect performance. +When running on a server provided by a cloud service, you have limited access to some parameters such as UEFI settings, which can affect performance. {{% /notice %}} -## Install prerequisites +## Before you begin -To get started, install the required software: +Install the required software: ```bash sudo apt update sudo apt install -y python-is-python3 python3-pip python3-venv git ``` -It is recommended that you install Python packages in a Python virtual environment. +We recommend that you install Python packages in a Python virtual environment. Set up your virtual environment: @@ -63,11 +63,11 @@ git clone https://github.com/facebookresearch/DCPerf.git cd DCPerf ``` -## Running the MediaWiki benchmark +## Run the MediaWiki benchmark -DCPerf offers many benchmarks. See the official documentation for the benchmark of your choice. +DCPerf offers many benchmarks. To find a benchmark of your choice, see the [official documentation](https://github.com/facebookresearch/DCPerf?tab=readme-ov-file#install-and-run-benchmarks). -One example is the MediaWiki benchmark, designed to faithfully reproduce the workload of the Facebook social networking site. +One such benchmark is MediaWiki, designed to reproduce the workload of the Facebook social networking site. Install HipHop Virtual Machine (HHVM), a virtual machine used to execute the web application code: @@ -87,7 +87,7 @@ hhvm --version cd .. ``` -You should see output similar to: +The output is similar to: ```output HipHop VM 3.30.12 (rel) @@ -95,20 +95,20 @@ Compiler: 1704922878_080332982 Repo schema: 4239d11395efb06bee3ab2923797fedfee64738e ``` -Confirm security-enhanced Linux (SELinux) is disabled with the following commands: +Confirm security-enhanced Linux (SELinux) is not enabled with the following commands: ```bash sudo apt install selinux-utils getenforce ``` -You should see the following response: +The output is similar to: ```output Disabled ``` -If you do not see the `Disabled` output, see your Linux distribution documentation for information about how to disable SELinux. +If you don't see the `Disabled` output, see the documentation for your Linux distribution for information about how to disable SELinux. You can automatically install all dependencies for each benchmark using the `install` argument with the `benchpress_cli.py` command-line script: @@ -116,11 +116,11 @@ You can automatically install all dependencies for each benchmark using the `ins sudo ./benchpress_cli.py install oss_performance_mediawiki_mlp ``` -This step might take several minutes to complete, depending on your system's download and setup speed. +This step may take several minutes to complete, depending on your system's download and setup speed. ## Run the MediaWiki benchmark -For the sake of brevity, you can provide the duration and timeout arguments using a `JSON` dictionary with the `-i` argument: +For brevity, you can provide the duration and timeout arguments using a `JSON` dictionary with the `-i` argument: ```console sudo ./benchpress_cli.py run oss_performance_mediawiki_mlp -i '{ @@ -131,7 +131,7 @@ sudo ./benchpress_cli.py run oss_performance_mediawiki_mlp -i '{ While the benchmark is running, you can monitor CPU activity and observe benchmark-related processes using the `top` command. -When the benchmark is complete, a `benchmark_metrics_*` directory is created within the `DCPerf` directory, containing a `JSON` file for the system specs and another for the metrics. +When the benchmark is complete, a `benchmark_metrics_*` directory is created within the `DCPerf` directory. The directory contains one `JSON` file for the system specs and another for the metrics. For example, the metrics file lists the following: @@ -158,7 +158,7 @@ For example, the metrics file lists the following: "score": 2.4692578125 ``` -## Understanding the benchmark results +## Understand the benchmark results The metrics file contains several key performance indicators from the benchmark run: @@ -179,11 +179,11 @@ The metrics file contains several key performance indicators from the benchmark `wrk` is a modern HTTP benchmarking tool used to generate load and measure web server performance. It is widely used for benchmarking because it can produce significant load and provides detailed statistics. For more information, see [wrk's GitHub page](https://github.com/wg/wrk). {{% /notice %}} -These metrics help you evaluate the performance and reliability of the system under test. Higher values for successful requests and RPS, and lower response times, generally indicate better performance. The score provides a single value for easy comparison across runs or systems. +You can use these metrics to evaluate the performance and reliability of the system under test. Higher values for successful requests and RPS, and lower response times, generally indicate better performance. The score provides a single value for easy comparison across runs or systems. ## Next steps -These are some activities you might like to try next: +You are now ready to use DCPerf. The following are some activities you may like to try next: * Use the results to compare performance across different systems, hardware configurations, or after making system changes, such as kernel, compiler, or driver updates. From fd995ac17839a250d8235738ba86fbae8607e03f Mon Sep 17 00:00:00 2001 From: anupras-mohapatra-arm Date: Thu, 23 Apr 2026 11:17:48 -0500 Subject: [PATCH 16/48] using copilot cli to add a draft note for software versions --- content/install-guides/dcperf.md | 3 +-- content/install-guides/forge.md | 6 +++++- content/install-guides/gcc/arm-gnu.md | 8 ++++++++ content/install-guides/git-woa.md | 4 ++++ content/install-guides/go.md | 2 +- content/install-guides/java.md | 16 ++++++++++++++++ content/install-guides/llvm-embedded.md | 14 +++++++++++++- content/install-guides/llvm-woa.md | 4 ++++ content/install-guides/multipass.md | 4 ++++ content/install-guides/nomachine.md | 4 ++++ content/install-guides/openvscode-server.md | 4 ++++ content/install-guides/powershell.md | 4 ++++ content/install-guides/swift.md | 8 ++++---- content/install-guides/sysbox.md | 4 ++++ .../install-guides/windows-perf-wpa-plugin.md | 4 ++++ 15 files changed, 80 insertions(+), 9 deletions(-) diff --git a/content/install-guides/dcperf.md b/content/install-guides/dcperf.md index 0c8a8b5dc6..3e20afa4d2 100644 --- a/content/install-guides/dcperf.md +++ b/content/install-guides/dcperf.md @@ -183,8 +183,7 @@ You can use these metrics to evaluate the performance and reliability of the sys ## Next steps -You are now ready to use DCPerf. The following are some activities you may like to try next: - +You are now ready to use DCPerf. The following are some activities you can try next: * Use the results to compare performance across different systems, hardware configurations, or after making system changes, such as kernel, compiler, or driver updates. * Consider tuning system parameters or trying alternative DCPerf benchmarks to further evaluate your environment. diff --git a/content/install-guides/forge.md b/content/install-guides/forge.md index 31861ce215..9c4b85680c 100644 --- a/content/install-guides/forge.md +++ b/content/install-guides/forge.md @@ -35,7 +35,11 @@ This install guide assumes an Arm AArch64 platform running Ubuntu Linux. ## How do I download Linaro Forge? -Download and extract the appropriate installation package from [Linaro Forge Downloads](https://www.linaroforge.com/downloadForge/). +Download and extract the appropriate installation package: + +{{% notice Note %}} +The following command uses Linaro Forge version 24.0.3. The same command works with other versions. Replace the file used in this step with the file for your version of choice. To find the latest version, see [Linaro Forge Downloads](https://www.linaroforge.com/downloadForge/). +{{% /notice %}} ```bash { target="ubuntu:latest" } sudo apt install wget diff --git a/content/install-guides/gcc/arm-gnu.md b/content/install-guides/gcc/arm-gnu.md index bf08e33c9b..4d1187e801 100644 --- a/content/install-guides/gcc/arm-gnu.md +++ b/content/install-guides/gcc/arm-gnu.md @@ -60,6 +60,10 @@ export PATH=/path/to/install/dir/bin:$PATH Here is a specific example for an Arm Linux host and the AArch32 bare-metal target. +{{% notice Note %}} +The following commands use Arm GNU Toolchain version 15.2.Rel1. The same commands work with other versions. Replace the file used in these steps with the file for your version of choice. To find the latest version, see [Arm GNU Toolchain downloads](https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads). +{{% /notice %}} + ```bash { target="ubuntu:latest" } wget https://developer.arm.com/-/media/Files/downloads/gnu/15.2.rel1/binrel/arm-gnu-toolchain-15.2.rel1-aarch64-arm-none-eabi.tar.xz tar xJf arm-gnu-toolchain-15.2.rel1-aarch64-arm-none-eabi.tar.xz -C $HOME @@ -105,6 +109,10 @@ The `/etc/paths` file is a list of paths to search. Here is a specific example for macOS with Apple Silicon and the AArch32 bare-metal target. +{{% notice Note %}} +The following commands use Arm GNU Toolchain version 15.2.Rel1. The same commands work with other versions. Replace the file used in these steps with the file for your version of choice. To find the latest version, see [Arm GNU Toolchain downloads](https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads). +{{% /notice %}} + ```console wget https://developer.arm.com/-/media/Files/downloads/gnu/15.2.rel1/binrel/arm-gnu-toolchain-15.2.rel1-darwin-arm64-arm-none-eabi.pkg sudo installer -pkg arm-gnu-toolchain-15.2.rel1-darwin-arm64-arm-none-eabi.pkg -target / diff --git a/content/install-guides/git-woa.md b/content/install-guides/git-woa.md index e1562e4ba9..8e42c1259c 100644 --- a/content/install-guides/git-woa.md +++ b/content/install-guides/git-woa.md @@ -36,6 +36,10 @@ Use a browser to download the desired release file. The Git releases for Windows You can also download from a Windows PowerShell with the following command: +{{% notice Note %}} +The following command uses Git version 2.53.0. The same command works with other versions. Replace the file used in these steps with the file for your version of choice. To find the latest Git releases, see [GitHub releases](https://github.com/git-for-windows/git/releases/). +{{% /notice %}} + ```command curl https://github.com/git-for-windows/git/releases/download/v2.53.0.windows.1/Git-2.53.0-arm64.exe -o Git-2.53.0-arm64.exe ``` diff --git a/content/install-guides/go.md b/content/install-guides/go.md index 822af7e033..928c14ddea 100644 --- a/content/install-guides/go.md +++ b/content/install-guides/go.md @@ -43,7 +43,7 @@ If you see a different result, you are not using an Arm computer running 64-bit The easiest way to install Go for Ubuntu on Arm is to download a release, extract it, and set up your `PATH` environment variable. To download and install Go, follow these steps: {{% notice Note %}} -The following steps use `go1.24.5`. To download the latest version of Go, replace `go1.24.5` with the identifier for the latest version. To find the latest version of Go, see [All releases](https://go.dev/dl/). +The following commands use Go version 1.24.5. The same commands work with other versions. Replace the file used in these steps with the file for your version of choice. To find the latest version of Go, see [All releases](https://go.dev/dl/). {{% /notice %}} 1. Download a Go release: diff --git a/content/install-guides/java.md b/content/install-guides/java.md index a689110559..ab292609e4 100644 --- a/content/install-guides/java.md +++ b/content/install-guides/java.md @@ -96,6 +96,10 @@ You can download a tar.gz file from [Download the Microsoft Build of OpenJDK](ht For example: +{{% notice Note %}} +The following commands use Microsoft Build of OpenJDK version 21.0.4. The same commands work with other versions. Replace the file used in these steps with the file for your version of choice. To find the latest version, see [Download the Microsoft Build of OpenJDK](https://learn.microsoft.com/en-gb/java/openjdk/download). +{{% /notice %}} + ```console wget https://aka.ms/download-jdk/microsoft-jdk-21.0.4-linux-aarch64.tar.gz ``` @@ -295,6 +299,10 @@ sudo apt install gradle -y You can also install specific versions by downloading and extracting a zip file: +{{% notice Note %}} +The following commands use Gradle version 8.10. The same commands work with other versions. Replace the file used in these steps with the file for your version of choice. To find the latest version, see [Gradle releases](https://gradle.org/releases/). +{{% /notice %}} + ```console wget https://services.gradle.org/distributions/gradle-8.10-bin.zip -O gradle-8.10-bin.zip unzip gradle-8.10-bin.zip @@ -350,6 +358,10 @@ sudo apt install ant -y You can also install specific versions by downloading and extracting a zip file: +{{% notice Note %}} +The following commands use Apache Ant version 1.10.14. The same commands work with other versions. Replace the file used in these steps with the file for your version of choice. To find the latest version, see [Apache Ant downloads](https://ant.apache.org/bindownload.cgi). +{{% /notice %}} + ```console wget https://downloads.apache.org/ant/binaries/apache-ant-1.10.14-bin.zip -O apache-ant-1.10.14-bin.zip unzip apache-ant-1.10.14-bin.zip @@ -375,6 +387,10 @@ JMeter is an open-source tool designed for performance and load testing Java app You can install it using: +{{% notice Note %}} +The following commands use Apache JMeter version 5.6.3. The same commands work with other versions. Replace the file used in these steps with the file for your version of choice. To find the latest version, see [Apache JMeter downloads](https://jmeter.apache.org/download_jmeter.cgi). +{{% /notice %}} + ```console wget https://downloads.apache.org/jmeter/binaries/apache-jmeter-5.6.3.tgz tar xzf apache-jmeter-5.6.3.tgz diff --git a/content/install-guides/llvm-embedded.md b/content/install-guides/llvm-embedded.md index 0b8495ab1b..9dc1b7715a 100644 --- a/content/install-guides/llvm-embedded.md +++ b/content/install-guides/llvm-embedded.md @@ -35,6 +35,10 @@ The [LLVM Embedded Toolchain for Arm](https://github.com/ARM-software/LLVM-embed Copy and paste the URL below into your browser to download the latest release from GitHub: +{{% notice Note %}} +The following step uses LLVM Embedded Toolchain for Arm version 18.1.3. The same step works with other versions. Replace the file used in this step with the file for your version of choice. To find the latest version, see [LLVM Embedded Toolchain releases](https://github.com/ARM-software/LLVM-embedded-toolchain-for-Arm/releases). +{{% /notice %}} + ```url https://github.com/ARM-software/LLVM-embedded-toolchain-for-Arm/releases/download/release-18.1.3/LLVM-ET-Arm-18.1.3-Windows-x86_64.zip ``` @@ -49,6 +53,10 @@ Open a `Command Prompt` and [test your installation](#test). Copy and paste the URL below into your browser to download the latest release from GitHub: +{{% notice Note %}} +The following step uses LLVM Embedded Toolchain for Arm version 18.1.3. The same step works with other versions. Replace the file used in this step with the file for your version of choice. To find the latest version, see [LLVM Embedded Toolchain releases](https://github.com/ARM-software/LLVM-embedded-toolchain-for-Arm/releases). +{{% /notice %}} + ```url https://github.com/ARM-software/LLVM-embedded-toolchain-for-Arm/releases/download/release-18.1.3/LLVM-ET-Arm-18.1.3-Darwin-universal.dmg ``` @@ -74,7 +82,11 @@ You can now [test your installation](#test). The information below assumes `Ubuntu Linux` on an `AArch64` host. Modify the filenames and paths as needed for other hosts. -Download the latest release using `wget`: +Download the latest release using `wget`: + +{{% notice Note %}} +The following commands use LLVM Embedded Toolchain for Arm version 18.1.3. The same commands work with other versions. Replace the file used in these steps with the file for your version of choice. To find the latest version, see [LLVM Embedded Toolchain releases](https://github.com/ARM-software/LLVM-embedded-toolchain-for-Arm/releases). +{{% /notice %}} ```command wget https://github.com/ARM-software/LLVM-embedded-toolchain-for-Arm/releases/download/release-18.1.3/LLVM-ET-Arm-18.1.3-Linux-AArch64.tar.xz diff --git a/content/install-guides/llvm-woa.md b/content/install-guides/llvm-woa.md index b5272317bc..88a057475f 100644 --- a/content/install-guides/llvm-woa.md +++ b/content/install-guides/llvm-woa.md @@ -33,6 +33,10 @@ layout: installtoolsall # DO NOT MODIFY. Always true for tool install ar ## How do I download and install the LLVM toolchain for Windows on Arm? +{{% notice Note %}} +The following commands use LLVM version 18.1.8. The same commands work with other versions. Replace the file used in these steps with the file for your version of choice. To find the latest version, see [LLVM releases](https://github.com/llvm/llvm-project/releases). +{{% /notice %}} + The latest version (at the time of writing) of the LLVM toolchain with Windows on Arm native support is 18.1.8. [Download the pre-built binary](https://github.com/llvm/llvm-project/releases/download/llvmorg-18.1.8/LLVM-18.1.8-woa64.exe). {{% notice Note %}} diff --git a/content/install-guides/multipass.md b/content/install-guides/multipass.md index 30073a8e45..31287fc451 100644 --- a/content/install-guides/multipass.md +++ b/content/install-guides/multipass.md @@ -53,6 +53,10 @@ Multipass uses the terms virtual machine and instance synonymously. Download Multipass for macOS. +{{% notice Note %}} +The following commands use Multipass version 1.16.1. The same commands work with other versions. Replace the file used in these steps with the file for your version of choice. To find the latest version, see [Multipass releases](https://github.com/canonical/multipass/releases). +{{% /notice %}} + ```console wget https://github.com/canonical/multipass/releases/download/v1.16.1/multipass-1.16.1+mac-Darwin.pkg ``` diff --git a/content/install-guides/nomachine.md b/content/install-guides/nomachine.md index 8d13ddde77..24022e02e4 100644 --- a/content/install-guides/nomachine.md +++ b/content/install-guides/nomachine.md @@ -62,6 +62,10 @@ fi Use a text editor to copy and paste this script into a file on the remote machine at `$HOME/install-nomachine.sh` +{{% notice Note %}} +The following commands use NoMachine version 9.0.188. The same commands work with other versions. Replace the file used in these steps with the file for your version of choice. To find the latest version, see [NoMachine downloads](https://downloads.nomachine.com/). +{{% /notice %}} + ```file { file_name="install-nomachine.sh" } #!/bin/bash diff --git a/content/install-guides/openvscode-server.md b/content/install-guides/openvscode-server.md index 82ea2d69a4..61206fbdb4 100644 --- a/content/install-guides/openvscode-server.md +++ b/content/install-guides/openvscode-server.md @@ -52,6 +52,10 @@ Download a release of OpenVSCode Server from the [GitHub release area](https://g For example, use `wget` to download. +{{% notice Note %}} +The following commands use OpenVSCode Server version 1.101.2. The same command works with other versions. Replace the file used in these steps with the file for your version of choice. To find the latest version, see [OpenVSCode Server releases](https://github.com/gitpod-io/openvscode-server/releases). +{{% /notice %}} + ```bash wget https://github.com/gitpod-io/openvscode-server/releases/download/openvscode-server-v1.101.2/openvscode-server-v1.101.2-linux-arm64.tar.gz ``` diff --git a/content/install-guides/powershell.md b/content/install-guides/powershell.md index cf87bdafeb..873ec256ff 100644 --- a/content/install-guides/powershell.md +++ b/content/install-guides/powershell.md @@ -49,6 +49,10 @@ The PowerShell installation documentation for Linux package managers does not wo You can download a release file for the Arm architecture from GitHub and install it using the steps below: +{{% notice Note %}} +The following commands use PowerShell version 7.5.2. The same commands work with other versions. Replace the file used in these steps with the file for your version of choice. To find the latest version, see [PowerShell releases](https://github.com/PowerShell/PowerShell/releases). +{{% /notice %}} + 1. Copy and paste the commands below to your Linux shell prompt: ```bash { target="ubuntu:latest" } diff --git a/content/install-guides/swift.md b/content/install-guides/swift.md index 7f5272d585..ad33936045 100644 --- a/content/install-guides/swift.md +++ b/content/install-guides/swift.md @@ -69,12 +69,12 @@ sudo apt-get -y install \ ## How do I download and install Swift? -This guide uses Swift version 6.1.2 on Ubuntu 24.04. - -You can get more information about other versions and platforms from [Download Swift](https://www.swift.org/download/). - Download Swift for Arm Linux: +{{% notice Note %}} +The following commands use Swift version 6.1.2 on Ubuntu 24.04. The same commands work with other versions. Replace the file used in these steps with the file for your version of choice. To find all available versions, see [Download Swift](https://www.swift.org/download/). +{{% /notice %}} + ```bash wget https://download.swift.org/swift-6.1.2-release/ubuntu2404-aarch64/swift-6.1.2-RELEASE/swift-6.1.2-RELEASE-ubuntu24.04-aarch64.tar.gz ``` diff --git a/content/install-guides/sysbox.md b/content/install-guides/sysbox.md index e2fe4db163..16306b96a3 100644 --- a/content/install-guides/sysbox.md +++ b/content/install-guides/sysbox.md @@ -66,6 +66,10 @@ Download the Sysbox official package from [Sysbox Releases](https://github.com/n You can download the Debian package for Arm from the command line: +{{% notice Note %}} +The following commands use Sysbox version 0.6.5. The same commands work with other versions. Replace the file used in these steps with the file for your version of choice. To find the latest version, see [Sysbox releases](https://github.com/nestybox/sysbox/releases/). +{{% /notice %}} + ```bash wget https://downloads.nestybox.com/sysbox/releases/v0.6.5/sysbox-ce_0.6.5-0.linux_arm64.deb ``` diff --git a/content/install-guides/windows-perf-wpa-plugin.md b/content/install-guides/windows-perf-wpa-plugin.md index 02ad731658..6904182195 100644 --- a/content/install-guides/windows-perf-wpa-plugin.md +++ b/content/install-guides/windows-perf-wpa-plugin.md @@ -87,6 +87,10 @@ Download the `.zip` file from the [Windows Perf WPA plugin releases page](https: Alternatively, you can download the `.zip` file from a command prompt: +{{% notice Note %}} +The following commands use Windows Perf WPA Plugin version 1.0.3. The same commands work with other versions. Replace the file used in these steps with the file for your version of choice. To find the latest version, see [Windows Perf WPA Plugin releases](https://gitlab.com/Linaro/WindowsPerf/wpa-plugin/-/releases). +{{% /notice %}} + ```console mkdir wpa-plugin cd wpa-plugin From f5016b20d90878a28b5c90b236aadc4e11cb1a5c Mon Sep 17 00:00:00 2001 From: anupras-mohapatra-arm Date: Thu, 23 Apr 2026 14:07:44 -0500 Subject: [PATCH 17/48] updates to Docker install guides --- content/install-guides/docker/_index.md | 10 +-- .../docker/docker-desktop-arm-linux.md | 52 +++++++------- .../install-guides/docker/docker-desktop.md | 16 ++--- .../install-guides/docker/docker-engine.md | 69 +++++++++---------- 4 files changed, 73 insertions(+), 74 deletions(-) diff --git a/content/install-guides/docker/_index.md b/content/install-guides/docker/_index.md index 133cb6ef6e..14a27bfb2e 100644 --- a/content/install-guides/docker/_index.md +++ b/content/install-guides/docker/_index.md @@ -17,16 +17,16 @@ layout: installtoolsall # DO NOT MODIFY. Always true for tool install ar ## Why use Docker? -Docker containers are widely used, primarily because they run the same everywhere. Containers are used on all operating systems, on all computing architectures, to build, share, and run software. +Docker containers are widely used, primarily because they run the same everywhere. Containers are used on all operating systems and computing architectures to build, share, and run software. The operating system of the computer and the architecture (x86 or Arm) determines how to install Docker. -### How do I install Docker on Linux and Chrome OS? +### Docker on Linux and Chrome OS - Docker Engine on Linux runs on a variety of Linux distributions and architectures, including arm32v7 and arm64v8 (AArch64). Use the Docker Engine instructions for Linux and Chrome OS (using the Linux feature). This includes the Windows Subsystem for Linux 2 (WSL 2). -### How do I install Docker on Windows and macOS? +### Docker on Windows and macOS -- Docker Desktop is the easiest way to install Docker on Windows and macOS. The macOS version supports both Intel and Apple Silicon. +- You can use Docker Desktop to install Docker on Windows and macOS. The macOS version supports both Intel and Apple Silicon. - The Windows on Arm version of Docker Desktop was announced at Microsoft Build 2024 and is available as a Beta release. -- Docker Desktop for Arm Linux is available if your machine has KVM support and is running a KDE or Gnome desktop environment. Refer to Docker Desktop for Arm Linux below for details. +- Docker Desktop for Arm Linux is available if your machine has KVM support and is running a KDE or Gnome desktop environment. For more information, see [Docker Desktop for Arm Linux](/install-guides/docker/docker-desktop-arm-linux/). diff --git a/content/install-guides/docker/docker-desktop-arm-linux.md b/content/install-guides/docker/docker-desktop-arm-linux.md index 187f6517cc..7ee0e3009b 100644 --- a/content/install-guides/docker/docker-desktop-arm-linux.md +++ b/content/install-guides/docker/docker-desktop-arm-linux.md @@ -24,11 +24,11 @@ multitool_install_part: true # Set to true if a sub-page of a multi-page arti layout: installtoolsall # DO NOT MODIFY. Always true for tool install articles --- -## How do I install Docker Desktop for Arm Linux? +## Install Docker Desktop for Arm Linux Docker Desktop is available for Arm Linux, but not yet documented. -Make sure you are on an Arm Linux computer by running: +To make sure you are on an Arm Linux computer, run: ```console uname -m @@ -40,21 +40,23 @@ The output should be: aarch64 ``` -Before installing Docker Desktop install Docker Engine using: +Before installing Docker Desktop, install Docker Engine. For installation steps, see [Docker Engine](/install-guides/docker/docker-engine/). -```console + -You can download and install Docker Desktop on Ubuntu and Debian distributions. +After installing Docker Engine, you can download and install Docker Desktop on Ubuntu and Debian distributions. -The path to the download depends on the version. The easiest way is to copy the link for the Debian download of Docker Desktop from the latest [Docker Desktop release notes](https://docs.docker.com/desktop/release-notes/) and replace the instances of `amd64` with `arm64`. This will provide the URL to download. +{{% notice Note %}} +The following command uses Docker Desktop version 4.70.0 for Debian. The same command works with other versions. Replace the download link used in this step with the link for your version of choice. To find the latest version, see [Docker Desktop release notes](https://docs.docker.com/desktop/release-notes/). Replace the instances of `amd64` in the download URL with `arm64`. +{{% /notice %}} For example: ```console -wget https://desktop.docker.com/linux/main/arm64/187762/docker-desktop-arm64.deb +wget https://desktop.docker.com/linux/main/arm64/224270/docker-desktop-arm64.deb ``` Install Docker Desktop using: @@ -65,41 +67,41 @@ sudo apt install ./docker-desktop-arm64.deb The Docker icon is now available to start Docker Desktop. -![img1 #center](/install-guides/_images/docker-icon.png) +![A screenshot of applications on a Linux desktop with an icon for Docker Desktop #center](/install-guides/_images/docker-icon.png) -To print the Docker Desktop version use: +To print the Docker Desktop version, run: ```console docker version ``` -The output may be different depending on your version: +The output depends on your version and is similar to: ```output -Server: Docker Desktop 4.40.0 (187762) +Server: Docker Desktop 4.70.0 (224270) Engine: - Version: 28.0.4 - API version: 1.48 (minimum version 1.24) - Go version: go1.23.7 - Git commit: 6430e49 - Built: Tue Mar 25 15:07:18 2025 + Version: 29.4.0 + API version: 1.54 (minimum version 1.40) + Go version: go1.26.1 + Git commit: daa0cb7 + Built: Tue Apr 7 08:36:25 2026 OS/Arch: linux/arm64 Experimental: false containerd: - Version: 1.7.26 - GitCommit: 753481ec61c7c8955a23d6ff7bc8e4daed455734 + Version: v2.2.1 + GitCommit: dea7da592f5d1d2b7755e3a161be07f43fad8f75 runc: - Version: 1.2.5 - GitCommit: v1.2.5-0-g59923ef + Version: 1.3.4 + GitCommit: v1.3.4-0-gd6d73eb8 docker-init: Version: 0.19.0 GitCommit: de40ad0 ``` -You can now use Docker Desktop on Arm Linux. The image below shows Docker Desktop running on a System76 Thelio Astra with Ubuntu 24.04 desktop. +You can now use Docker Desktop on Arm Linux. The following image shows Docker Desktop running on a System76 Thelio Astra desktop with Ubuntu 24.04. -![img1 #center](/install-guides/_images/docker-desktop.png) +![A screenshot showing a list of local container images on the Docker Desktop application. The application is running on a System76 Thelio Astra desktop with Ubuntu 24.04. #center](/install-guides/_images/docker-desktop.png) -Docker Desktop is now ready to use. You can explore [Docker related Learning Paths](/tag/docker/). +You're now ready to use Docker Desktop. You can explore [Docker related Learning Paths](/tag/docker/). -You may want to create an account on [Docker Hub](https://hub.docker.com) to share images and automate workflows. +You can also create an account on [Docker Hub](https://hub.docker.com) to share images and automate workflows. diff --git a/content/install-guides/docker/docker-desktop.md b/content/install-guides/docker/docker-desktop.md index dfcb0aabb3..13650215dc 100644 --- a/content/install-guides/docker/docker-desktop.md +++ b/content/install-guides/docker/docker-desktop.md @@ -23,7 +23,7 @@ multitool_install_part: true # Set to true if a sub-page of a multi-page arti layout: installtoolsall # DO NOT MODIFY. Always true for tool install articles --- -## How do I install and test Docker Desktop? +## Install and test Docker Desktop All of the download files are available on the [Docker Desktop product page](https://www.docker.com/products/docker-desktop/). @@ -38,16 +38,14 @@ All of the download files are available on the {{% notice Note %}} Docker Desktop for Windows on Arm is available as a Beta release. It is fully documented and works the same as the x86 platform. -For information about Docker Desktop on Arm Linux refer to [Docker Desktop on Arm Linux](/install-guides/docker/docker-desktop-arm-linux/). +For information about Docker Desktop on Arm Linux, see [Docker Desktop on Arm Linux](/install-guides/docker/docker-desktop-arm-linux/). {{% /notice %}} - - -On any platform, confirm the Docker Desktop installation is successful with: +On any platform, confirm the Docker Desktop installation is successful: ```console docker run hello-world ``` -The output should be a welcome message such as: +The output is a welcome message similar: ```output Hello from Docker! This message shows that your installation appears to be working correctly. @@ -71,13 +69,13 @@ For more examples and ideas, visit: https://docs.docker.com/get-started/ ``` -Use the `uname` command to identify the architecture: +To identify the architecture, run: ```console uname -m ``` Apple Silicon is reported as `arm64`. -Docker Desktop is now ready to use. You can explore [Docker related Learning Paths](/tag/docker/). +You can now use Docker Desktop and explore [Docker related Learning Paths](/tag/docker/). -You may want to create an account on [Docker Hub](https://hub.docker.com) to share images and automate workflows. +You can also create an account on [Docker Hub](https://hub.docker.com) to share images and automate workflows. diff --git a/content/install-guides/docker/docker-engine.md b/content/install-guides/docker/docker-engine.md index 385fb1df17..f4ffdfb984 100644 --- a/content/install-guides/docker/docker-engine.md +++ b/content/install-guides/docker/docker-engine.md @@ -24,39 +24,38 @@ multitool_install_part: true # Set to true if a sub-page of a multi-page arti layout: installtoolsall # DO NOT MODIFY. Always true for tool install articles --- -## How do I install Docker Engine on Linux? +## Install Docker Engine on Linux -For any Linux machine, the commands below will install Docker. - -These commands are the (almost) universal install instructions for Docker on Linux. - -The commands work on any architecture, and on any system running Linux, from a cloud server to a Raspberry Pi. +You can run the following commands to install Docker on any Linux machine and on any architecture, from a cloud server to a Raspberry. The commands can also be used in the Windows Subsystem for Linux 2 (WSL 2) and on a Chromebook. -### How do I run the installer? +### Run the installer + +Run the installer for Docker on Linux: ```console curl -fsSL get.docker.com -o get-docker.sh && sh get-docker.sh ``` -### How do I add my username to the Docker group? +### Add your user to the Docker group -Add the user to the docker group. The `newgrp` command avoids the need to logout and back in. +Add your user to the docker group: ```console sudo usermod -aG docker $USER ; newgrp docker ``` +The `newgrp` command avoids the need to log out and back in. -### How do I confirm the installation? +### Confirm the installation -To confirm the installation is successful run: +To confirm the installation is successful, run: ```console docker run hello-world ``` -The output should be a welcome message such as: +The output should be similar to: ```output Hello from Docker! @@ -82,37 +81,37 @@ For more examples and ideas, visit: ``` -Use the `uname` command to identify the architecture: +To identify the architecture, run: ```console uname -m ``` -Output values can be `aarch64` (Arm 64-bit), `armv7l` (Arm 32-bit) or `x86_64`. +The output values can be `aarch64` (Arm 64-bit), `armv7l` (Arm 32-bit) or `x86_64`. -### Which Docker Engine versions are available? +### Available Docker Engine versions The Stable channel (`get.docker.com`) provides the latest releases for general availability. The Test channel (`test.docker.com`) installs pre-releases that are for testing before general availability. -Replace `get.docker.com` with `test.docker.com` above to use the test version. +Replace `get.docker.com` with `test.docker.com` in the installation command to use the test version. -### What about Linux distributions where get.docker.com isn't supported? +### Handle Linux distributions that don't support get.docker.com -Some Linux distributions are not supported by [get.docker.com](https://get.docker.com) +Some Linux distributions are not supported by [get.docker.com](https://get.docker.com). -Generally, the supported list is: -* Ubuntu -* Debian -* SUSE Linux Enterprise Server -* Red Hat Enterprise Linux -* Fedora -* CentOS +Generally, the supported list is as follows: +- Ubuntu +- Debian +- SUSE Linux Enterprise Server +- Red Hat Enterprise Linux +- Fedora +- CentOS -An example of a distribution which is not supported and popular on Arm is [Manjaro](https://manjaro.org). +An example of a distribution which is not supported and is popular on Arm is [Manjaro](https://manjaro.org). -On Manjaro, install docker using `pacman`. +On Manjaro, install docker using `pacman`: ```console sudo pacman -Syu @@ -122,40 +121,40 @@ sudo systemctl start docker sudo usermod -aG docker $USER ; newgrp docker ``` -To confirm the installation is successful run the same hello-world as above. +To confirm the installation is successful, run the same hello-world example: ```console docker run hello-world ``` -### How do I start and stop the Docker daemon on Linux distributions with systemd? +### Start and stop the Docker daemon on Linux distributions with systemd -To start the docker daemon. +To start the docker daemon: ```console sudo systemctl start docker ``` -To stop the docker daemon. +To stop the docker daemon: ```console sudo systemctl stop docker ``` -If a message is displayed: +If the following message is displayed: ```output Warning: Stopping docker.service, but it can still be activated by: docker.socket ``` -Then stop docker.socket: +Stop docker.socket: ```console sudo systemctl stop docker.socket ``` -Docker Engine is now ready to use. You can explore [Docker related Learning Paths](/tag/docker/). +You can now use Docker Engine and explore [Docker related Learning Paths](/tag/docker/). -You may want to create an account on [Docker Hub](https://hub.docker.com) to share images and automate workflows. +You can also create an account on [Docker Hub](https://hub.docker.com) to share images and automate workflows. From 6d8e2597889ce5f05a4531d68da3f010b1ee266e Mon Sep 17 00:00:00 2001 From: anupras-mohapatra-arm Date: Thu, 23 Apr 2026 14:41:24 -0500 Subject: [PATCH 18/48] minor tweaks to finch guide --- content/install-guides/finch.md | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/content/install-guides/finch.md b/content/install-guides/finch.md index 174dd782da..be7a56f403 100644 --- a/content/install-guides/finch.md +++ b/content/install-guides/finch.md @@ -24,9 +24,11 @@ weight: 1 [Finch](https://runfinch.com) is an open-source container development tool from AWS. It offers a simple, Docker-compatible CLI powered by containerd and nerdctl. Designed for Linux, macOS, and Windows, Finch is especially useful on Arm-based systems for efficient container workflows. -This guide explains how to install Finch on Arm Linux distributions, specifically Amazon Linux 2023 and Ubuntu 24.04. +In this guide, you'll learn how to install Finch on Arm Linux distributions, specifically Amazon Linux 2023 and Ubuntu 24.04. -To get started, make sure you're using a system running Arm Linux. You can use a physical Arm device, a cloud instance from AWS, Azure, GCP, or OCI, or an Arm-based virtual machine. +## Before you begin + +Make sure you're using a system running Arm Linux. You can use a physical Arm device, a cloud instance from AWS, Azure, GCP, or OCI, or an Arm-based virtual machine. To confirm the architecture, run: @@ -36,7 +38,7 @@ uname -m The output should be `aarch64` for 64-bit Arm systems. -## How do I install Finch on Amazon Linux 2023 for Arm? +## Install Finch on Amazon Linux 2023 for Arm Finch is available as an RPM package in the standard Amazon Linux 2023 repositories, making installation simple. @@ -58,7 +60,7 @@ Check that the containerd service is running: sudo systemctl status containerd ``` -You should see something like: +The output is similar to: ```output ● containerd.service - containerd container runtime @@ -77,13 +79,13 @@ You should see something like: The `finch` command is now available in your PATH. You can now skip to the section on [verifying the Finch installation](#how-do-i-verify-the-finch-installation). -## How do I install Finch on Ubuntu 24.04 for Arm? +## Install Finch on Ubuntu 24.04 for Arm -Finch doesn't currently provide a Debian package for Ubuntu, but you can install it manually, using the three steps outlined below. +Finch doesn't currently provide a Debian package for Ubuntu, but you can install it manually using the following three steps. -### Step 1: Install Finch dependencies +### Install Finch dependencies -Install Nerdctl by following the instructions in the [Nerdctl install guide](/install-guides/nerdctl/). Then install the required tools: +Install Nerdctl by following the instructions in the [Nerdctl install guide](/install-guides/nerdctl/). Then, install the required tools: ```console sudo apt install -y \ @@ -92,7 +94,7 @@ sudo apt install -y \ build-essential ``` -### Step 2: Build and install Finch +### Build and install Finch Clone the Finch repository and build the binary: @@ -104,7 +106,7 @@ make sudo make install ``` -### Step 3: Configure Finch +### Configure Finch Create the Finch configuration directories: @@ -140,7 +142,7 @@ sudo ln -sf $(which nerdctl) /usr/libexec/finch/nerdctl After these steps, the `finch` command is available in your PATH. -## How do I verify the Finch installation? +## Verify the Finch installation You can check the Finch version: @@ -148,7 +150,7 @@ You can check the Finch version: sudo finch --version ``` -The version is printed: +The output is similar to: ```output finch version v1.8.2 @@ -160,9 +162,9 @@ Run a container to confirm functionality: sudo finch run --rm armswdev/uname ``` -If you see the architecture printed, then Finch is working correctly. +If you see the architecture printed, Finch is working correctly. -The expected output is: +The output should be: ```output Architecture is aarch64 @@ -183,4 +185,4 @@ armswdev/uname latest 82762f30a4a3 43 seconds ago linux/arm64 110 Use `sudo finch help` to explore available commands. -You are ready to use Finch to run containers on your Arm Linux system. +You are now ready to use Finch to run containers on your Arm Linux system. From 5658ca4a1cb321c4e0a1b3f96485044081529c4a Mon Sep 17 00:00:00 2001 From: anupras-mohapatra-arm Date: Thu, 23 Apr 2026 17:35:21 -0500 Subject: [PATCH 19/48] updates for linaro forge --- content/install-guides/finch.md | 4 +- content/install-guides/forge.md | 91 +++++++++++++++++---------------- 2 files changed, 50 insertions(+), 45 deletions(-) diff --git a/content/install-guides/finch.md b/content/install-guides/finch.md index be7a56f403..3c6d8100b8 100644 --- a/content/install-guides/finch.md +++ b/content/install-guides/finch.md @@ -22,13 +22,13 @@ multitool_install_part: false weight: 1 --- -[Finch](https://runfinch.com) is an open-source container development tool from AWS. It offers a simple, Docker-compatible CLI powered by containerd and nerdctl. Designed for Linux, macOS, and Windows, Finch is especially useful on Arm-based systems for efficient container workflows. +[Finch](https://runfinch.com) is an open-source container development tool from Amazon Web Services (AWS). It offers a simple, Docker-compatible CLI powered by containerd and nerdctl. Designed for Linux, macOS, and Windows, Finch is especially useful on Arm-based systems for efficient container workflows. In this guide, you'll learn how to install Finch on Arm Linux distributions, specifically Amazon Linux 2023 and Ubuntu 24.04. ## Before you begin -Make sure you're using a system running Arm Linux. You can use a physical Arm device, a cloud instance from AWS, Azure, GCP, or OCI, or an Arm-based virtual machine. +Make sure you're using a system running Arm Linux. You can use a physical Arm device, a cloud instance from AWS, Azure, Google Cloud Platform (GCP), Oracle Cloud Infrastructure (OCI), or an Arm-based virtual machine. To confirm the architecture, run: diff --git a/content/install-guides/forge.md b/content/install-guides/forge.md index 9c4b85680c..87f0db34fc 100644 --- a/content/install-guides/forge.md +++ b/content/install-guides/forge.md @@ -8,6 +8,7 @@ additional_search_terms: author: Florent Lebeau layout: installtoolsall minutes_to_complete: 15 +description: Install Linaro Forge on Arm Linux (aarch64) to access the DDT parallel debugger, MAP profiler, and Performance Reports tools for HPC application development. multi_install: false multitool_install_part: false official_docs: https://www.linaroforge.com/documentation/ @@ -20,99 +21,103 @@ tool_install: true weight: 1 --- -[Linaro Forge](https://www.linaroforge.com/) is a server and HPC development tool suite for C, C++, Fortran, and Python high performance code on Linux. +[Linaro Forge](https://www.linaroforge.com/) is a server and High Performance Computing (HPC) development tool suite for C, C++, Fortran, and Python high-performance code on Linux. -Linaro Forge consists of +Linaro Forge consists of the following: * [Linaro DDT](https://www.linaroforge.com/linaro-ddt/) for parallel high-performance application debugging -* [Linaro MAP](https://www.linaroforge.com/linaro-map/) for performance profiling and optimization advice, and -* [Linaro Performance Reports](https://www.linaroforge.com/linaro-performance-reports/) for summarizing and characterizing both scalar and MPI application performance. +* [Linaro MAP](https://www.linaroforge.com/linaro-map/) for performance profiling and optimization advice +* [Linaro Performance Reports](https://www.linaroforge.com/linaro-performance-reports/) for summarizing and characterizing both scalar and MPI application performance -## What platforms are supported by Linaro Forge? +## Platforms supported by Linaro Forge -Linaro Forge runs on Linux hosts and multiple architectures. See the Linaro Forge [documentation](https://docs.linaroforge.com/latest/html/forge/supported_platforms/reference_table.html) for a full list of supported configurations. +Linaro Forge runs on Linux hosts and multiple architectures. For a full list of supported configuration, see the Linaro Forge [documentation](https://docs.linaroforge.com/latest/html/forge/supported_platforms/reference_table.html). -This install guide assumes an Arm AArch64 platform running Ubuntu Linux. +This install guide assumes that you have access to an Arm AArch64 platform running Ubuntu Linux. -## How do I download Linaro Forge? +## Download Linaro Forge Download and extract the appropriate installation package: {{% notice Note %}} -The following command uses Linaro Forge version 24.0.3. The same command works with other versions. Replace the file used in this step with the file for your version of choice. To find the latest version, see [Linaro Forge Downloads](https://www.linaroforge.com/downloadForge/). +The following command uses Linaro Forge version 25.1.3. The same command works with other versions. Replace the file used in this step with the file for your version of choice. To find the latest version, see [Linaro Forge Downloads](https://www.linaroforge.com/downloadForge/). {{% /notice %}} ```bash { target="ubuntu:latest" } sudo apt install wget -wget https://downloads.linaroforge.com/24.0.3/linaro-forge-24.0.3-linux-aarch64.tar -tar -xf linaro-forge-24.0.3-linux-aarch64.tar +wget https://downloads.linaroforge.com/25.1.3/linaro-forge-25.1.3-linux-aarch64.tar +tar -xf linaro-forge-25.1.3-linux-aarch64.tar ``` -## How do I install Linaro Forge? +## Install Linaro Forge -### How do I install Linaro Forge on a Linux host? +The installation steps depend on the operating system of your machine. -Run the installer from the command line with: +### Install Linaro Forge on a Linux host + +Run the installer from the command line: ```console ./textinstall.sh [--accept-license] [install_dir] ``` -If no install directory is specified, you will be prompted to specify this while the installer runs. +If no install directory is specified, you'll be prompted to specify a directory when the installer runs. -To install to the default directory, non-interactively: +To install to the default directory non-interactively: ```bash { target="ubuntu:latest" } -linaro-forge-24.0.3-linux-aarch64/textinstall.sh --accept-license /home/ubuntu/linaro/forge/24.0.3 +linaro-forge-25.1.3-linux-aarch64/textinstall.sh --accept-license /home/ubuntu/linaro/forge/25.1.3 ``` -### How do I install Linaro Forge on macOS (remote client only)? +### Install Linaro Forge on macOS (remote client only) Drag and drop the client application bundle icon into the Applications directory. -### How do I install Linaro Forge on Windows (remote client only)? +### Install Linaro Forge on Windows (remote client only) Run the Windows file executable to install the Linaro Forge Remote Client. -### How do I run the graphical installer for Linaro Forge? +### Run the graphical installer for Linaro Forge -Optionally, you can run the installer executable with a graphical interface. +Optionally, you can run the installer executable with a graphical interface: ```console -cd linaro-forge-24.0.3-linux-aarch64/ +cd linaro-forge-25.1.3-linux-aarch64/ ./installer ``` -## How do I set up the product license for Linaro Forge? +## Set up the product license for Linaro Forge + +To debug or profile with Linaro Forge, you need a license file installed on the machine running the tools. -You must install a license file on a machine running Linaro Forge tools to debug or profile. +For license-specific setup instructions, see the Linaro Forge [documentation](https://docs.linaroforge.com/latest/html/forge/forge/licensing/index.html). -See the Linaro Forge [documentation](https://docs.linaroforge.com/latest/html/forge/forge/licensing/index.html) for set up instructions depending on the type of license you have. +You don't need to install a license file for a locally installed Linaro Forge Remote Client. Linaro Forge uses the license of the remote system when it connects. -You do not need to install a license file on a machine running Linaro Forge Remote Client for connecting remotely to Linaro Forge tools on a remote system. +You can find [free trial licenses](https://www.linaroforge.com/freeTrial/) to try out Linaro Forge. -[Free trial licenses](https://www.linaroforge.com/freeTrial/) are available for you try out Linaro Forge. +## Get started with Linaro Forge -## How do I get started with Linaro Forge? +After installing Linaro Forge, you can use it to debug programs and profile applications. You can also generate performance reports. -### How do I debug using Linaro DDT? +### Debug using Linaro DDT -When compiling the program that you want to debug, you must add the debug flag to your compile command. For most compilers this is `-g`. +When compiling the program that you want to debug, you need to add the debug flag to your compile command. For most compilers, this is `-g`. -You should turn off compiler optimizations as they can produce unexpected results when debugging. +Turn off compiler optimizations as they can produce unexpected results when debugging. -Linaro Forge's debugging tool, Linaro DDT, can be launched with the `ddt` command. For MPI applications, you can prefix the mpirun/mpiexec command normally used to run in parallel: +You can launch Linaro Forge's debugging tool, Linaro DDT, with the `ddt` command. For Message Passing Interface (MPI) applications, you can prefix the mpirun/mpiexec command normally used to run in parallel: ```console ddt mpirun -n 128 myapp ``` -This startup method is called *Express Launch* and is the simplest way to get started. If your MPI is not supported by *Express Launch*, you can run the following instead: +This startup method is called *Express Launch* and is the quickest way to get started. If your MPI is not supported by *Express Launch*, you can run the following command instead: ```console ddt -n 128 myapp ``` -These commands will launch Linaro DDT GUI. When running on a HPC cluster, you may need to debug on compute nodes where this may not be possible. In this case, you can start the GUI on the frontend node with the `ddt` command and when running or submitting a job to the compute nodes use `ddt --connect` : +These commands will launch the Linaro DDT GUI. When running on a HPC cluster, you may need to debug on compute nodes where this may not be possible. In this case, you can start the GUI on the frontend node with the `ddt` command. After that, when running or submitting a job to the compute nodes, use `ddt --connect` : With *Express Launch*: @@ -128,13 +133,13 @@ ddt --connect -n 128 myapp This mode is called *Reverse Connect*. A window will appear in the GUI when the application runs to notify of the incoming request. -### How do I profile an application with Linaro MAP? +### Profile an application with Linaro MAP -In most cases, if your program is already compiled with debugging symbols (`-g`), you do not need to recompile your program to profile it with Linaro Forge. However, in some cases it might need to be relinked (see the [Linking](https://developer.arm.com/documentation/101136/latest/MAP/Get-started-with-MAP/Prepare-a-program-for-profiling)). +In most cases, if your program is already compiled with debugging symbols (`-g`), you don't need to recompile it to profile it with Linaro Forge. However, in some cases, it might need to be relinked. For more information, see [Linking](https://developer.arm.com/documentation/101136/latest/MAP/Get-started-with-MAP/Prepare-a-program-for-profiling). -Typically you should keep optimization flags enabled when profiling (rather than profiling a debug build). This will give more representative results. +Rather than profiling a debug build, you should keep optimization flags enabled when profiling. This will give more representative results. -Linaro Forge's profiling tool, Linaro MAP, can be launched with the `map` command to launch the GUI. When running on a HPC cluster with MPI, you should use `map --profile` when running or submitting a job to the compute nodes: +Linaro Forge's profiling tool, Linaro MAP, can be launched with the `map` command to launch the GUI. When running on a HPC cluster with MPI, you should use `map --profile` when running or submitting a job to the compute nodes. With *Express Launch*: @@ -148,17 +153,17 @@ Without *Express Launch*: map --profile -n 128 myapp ``` -A *.map file will be created in the current directory with profiling results when the application terminates. This file can be then open from the GUI launched on the frontend node or with the following command: +When the application terminates, a `*.map` file will be created in the current directory with profiling results. This file can then be opened from the GUI launched on the frontend node or with the following command: ```console map myapp_128p_.map ``` -### How do I generate performance reports with Linaro Forge? +### Generate performance reports with Linaro Forge -Linaro Forge's reporting tool Linaro Performance Reports is designed to run on unmodified production executables, so in general no preparation step is necessary. However, there is one important exception: statically linked applications require additional libraries at the linking step (see [user guide](https://developer.arm.com/documentation/101136/latest/Performance-Reports/Run-real-programs)). +Linaro Forge's reporting tool Linaro Performance Reports is designed to run on unmodified production executables, so in general no preparation step is necessary. However, there is one important exception: Statically linked applications require additional libraries at the linking step. For more information, see [user guide](https://developer.arm.com/documentation/101136/latest/Performance-Reports/Run-real-programs). -Linaro Performance Reports does not use a GUI. Instead, it produces HTML and TXT files when the application terminates to summarize the application behavior. Here is how to use the tool on MPI applications +Linaro Performance Reports doesn't use a GUI. Instead, it produces HTML and TXT files when the application terminates to summarize the application behavior. To use the tool on MPI applications: With *Express Launch*: @@ -173,4 +178,4 @@ perf-report -n 128 myapp ``` Two files `myapp_128p_.html` and `myapp_128p_.txt` will be created in the current directory. -Linaro Forge is now installed and ready to use. +You're now ready to use Linaro Forge. From ef5166aef8590f9a30f5f48af9452f2df666e8cd Mon Sep 17 00:00:00 2001 From: anupras-mohapatra-arm Date: Mon, 27 Apr 2026 10:43:16 -0500 Subject: [PATCH 20/48] arm gnu toolchain --- content/install-guides/gcc/arm-gnu.md | 56 ++++++++++++++------------- 1 file changed, 30 insertions(+), 26 deletions(-) diff --git a/content/install-guides/gcc/arm-gnu.md b/content/install-guides/gcc/arm-gnu.md index 4d1187e801..2450a50a33 100644 --- a/content/install-guides/gcc/arm-gnu.md +++ b/content/install-guides/gcc/arm-gnu.md @@ -15,19 +15,18 @@ test_maintenance: true title: Arm GNU Toolchain tool_install: false weight: 4 +description: Install the Arm GNU Toolchain on Linux, macOS, or Windows for bare-metal and embedded Arm targets such as arm-none-eabi. --- -## Before you begin +Arm GNU Toolchain is a community-supported, pre-built GNU compiler toolchain for Arm-based CPUs. In this guide, you'll learn how to install the toolchain directly from the [Arm GNU Toolchain downloads page](https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads). This is the recommended approach for bare-metal and embedded targets such as `arm-none-eabi`. -Arm GNU Toolchain is a community-supported, pre-built GNU compiler toolchain for Arm-based CPUs. This guide covers installing the toolchain directly from the [Arm GNU Toolchain downloads page](https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads), which is the recommended approach for bare-metal and embedded targets such as `arm-none-eabi`. +For a cross-compiler targeting Arm Linux (for example `aarch64-linux-gnu` or `arm-linux-gnueabihf`), see the [Cross-compiler](../cross) install guide instead, which installs those toolchains using the Linux package manager. -If you need a cross-compiler targeting Arm Linux (for example `aarch64-linux-gnu` or `arm-linux-gnueabihf`), see the [Cross-compiler](../cross) install guide instead, which installs those toolchains via the Linux package manager. - -There are many versions of the [Arm GNU Toolchain](https://developer.arm.com/Tools%20and%20Software/GNU%20Toolchain) available. In general, the latest version is recommended, as this will contain the latest optimization improvements and support for the latest Arm IP. +There are many versions of the [Arm GNU Toolchain](https://developer.arm.com/Tools%20and%20Software/GNU%20Toolchain) available. We generally recommend the latest version, as this will contain the latest optimization improvements and support for the latest Arm IP. However there are reasons you may wish to use earlier compiler versions, so older versions are also available. -## How do I download the Arm GNU Toolchain? {#download} +## Download the Arm GNU Toolchain {#download} Arm GNU Toolchain releases consist of cross toolchains for the following host operating systems: @@ -45,9 +44,9 @@ macOS Download the correct toolchain variant for your development needs from the [Arm Developer website](https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/downloads). -## How do I install the Arm GNU Toolchain on Linux? +## Install the Arm GNU Toolchain on Linux -Unpack the downloaded file to the install directory. The exact file name will depend on the flavor selected. +Unpack the downloaded file to the install directory. The exact file name will depend on the flavor selected and will be formatted as follows: ```console tar xJf arm-gnu-toolchain---.tar.xz -C /path/to/install/dir @@ -58,10 +57,10 @@ Add the `bin` directory to the `PATH` environment variable (bash). export PATH=/path/to/install/dir/bin:$PATH ``` -Here is a specific example for an Arm Linux host and the AArch32 bare-metal target. +The following is an example of a specific version for an Arm Linux host and the AArch32 bare-metal target. {{% notice Note %}} -The following commands use Arm GNU Toolchain version 15.2.Rel1. The same commands work with other versions. Replace the file used in these steps with the file for your version of choice. To find the latest version, see [Arm GNU Toolchain downloads](https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads). +The following commands uses Arm GNU Toolchain version 15.2.Rel1. The same commands work with other versions. Replace the file used in these steps with the file for your version of choice. To find the latest version, see [Arm GNU Toolchain downloads](https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads). {{% /notice %}} ```bash { target="ubuntu:latest" } @@ -71,18 +70,20 @@ echo 'export PATH="$PATH:$HOME/arm-gnu-toolchain-15.2.rel1-aarch64-arm-none-eabi source ~/.bashrc ``` -## How do I install the Arm GNU Toolchain on macOS? +## Install the Arm GNU Toolchain on macOS Downloads for `macOS` are available as tar files (`.tar.xz`) and package files (`.pkg`). ### tar files -For `.tar.xz` files, unpack the downloaded file to the install directory. +For `.tar.xz` files, unpack the downloaded file to the install directory. Replace the and with the version and host architecture of your choice: + ```console tar xJf arm-gnu-toolchain---.tar.xz -C /path/to/install/dir ``` ### pkg files -For `.pkg` files use the installer. +For `.pkg` files, use the installer. Replace the and with the version and host architecture of your choice: + ```console sudo installer -pkg arm-gnu-toolchain---.pkg -target / ``` @@ -91,7 +92,7 @@ sudo installer -pkg arm-gnu-toolchain---.pkg -target Use a text editor to add the `bin` directory as a new line in `/etc/paths`. -For example the path could be: `/Applications/ArmGNUToolchain/15.2.rel1/arm-none-eabi/bin` +For example, for version 15.2.rel1, the path could be: `/Applications/ArmGNUToolchain/15.2.rel1/arm-none-eabi/bin` The `/etc/paths` file is a list of paths to search. @@ -107,7 +108,7 @@ The `/etc/paths` file is a list of paths to search. ### Apple Silicon -Here is a specific example for macOS with Apple Silicon and the AArch32 bare-metal target. +The following is a specific example for macOS with Apple Silicon and the AArch32 bare-metal target. {{% notice Note %}} The following commands use Arm GNU Toolchain version 15.2.Rel1. The same commands work with other versions. Replace the file used in these steps with the file for your version of choice. To find the latest version, see [Arm GNU Toolchain downloads](https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads). @@ -119,52 +120,55 @@ sudo installer -pkg arm-gnu-toolchain-15.2.rel1-darwin-arm64-arm-none-eabi.pkg - echo '/Applications/ArmGNUToolchain/15.2.rel1/arm-none-eabi/bin' | sudo tee -a /etc/paths ``` -## How do I install the Arm GNU Toolchain on Windows? +## Install the Arm GNU Toolchain on Windows + +The steps depend on the release version. ### Releases prior to 15.2.Rel1 -Double-click on the installer, such as `arm-gnu-toolchain-14.3.rel1-mingw-w64-i686-arm-none-eabi.exe`, and follow on-screen instructions. +Double-click the installer, such as `arm-gnu-toolchain-14.3.rel1-mingw-w64-i686-arm-none-eabi.exe`, and follow the on-screen instructions. The installer can also be run on the command line. When run on -the command-line, the following options can be set: +the command-line, you can set the following options: - `/S` Run in silent mode - `/P` Adds the installation `bin` directory to the system `PATH` - `/R` Adds Install Folder registry entry for the install. -For example, to install the tools silently, update the search path, and add the registry entry run: +For example, to install the tools silently, update the search path and add the registry entry run. Replace with a release version prior to 15.2.Rel1 of your choice: ```console arm-gnu-toolchain--mingw-w64-i686-arm-none-eabi.exe /S /P /R ``` -The zip package is a backup to Windows installer for those who cannot run the installer. You can unzip the package and then run the tools directly. +The zip package is a backup to Windows installer for those who can't run the installer. You can unzip the package and then run the tools directly. ### Releases starting from 15.2.Rel1 Double-click on the installer, such as `arm-gnu-toolchain-15.2.rel1-mingw-w64-i686-arm-none-eabi.msi`, and follow on-screen instructions. -To install silently from the command line, use similar to the following: +To install silently from the command line, run the following. Replace with a release version starting from 15.2.Rel1 of your choice: ```console msiexec /i arm-gnu-toolchain--mingw-w64-i686-arm-none-eabi.msi EULA=1 /quiet ``` -The zip package is a backup to Windows installer for those who cannot run the installer. You can unzip the package and then run the tools directly. +The zip package is a backup to Windows installer for those who can't run the installer. You can unzip the package and then run the tools directly. ## Setting up product license -Arm GNU Toolchain is open source software. No licenses are required. +Arm GNU Toolchain is open source software. You don't need any licenses to use it. -To use the Arm GNU Toolchain in conjunction with [Arm Development Studio](https://developer.arm.com/Tools%20and%20Software/Arm%20Development%20Studio) you must [register the toolchain](https://developer.arm.com/documentation/101469/2022-0/Installing-and-configuring-Arm-Development-Studio/Register-a-compiler-toolchain). +To use the Arm GNU Toolchain with [Arm Development Studio](https://developer.arm.com/Tools%20and%20Software/Arm%20Development%20Studio), you need to [register the toolchain](https://developer.arm.com/documentation/101469/2022-0/Installing-and-configuring-Arm-Development-Studio/Register-a-compiler-toolchain). -## Get started +## Verify the installation To verify the installation is correct, enter: ```console arm-none-eabi-gcc -v ``` -Additional examples are included in the toolchain installation. If you installed to `$HOME` using the example above, you can find them at: +Additional examples are included in the toolchain installation. If you installed to `$HOME` using the example provided in this guide, you can find them at: ```console $HOME/arm-gnu-toolchain-15.2.rel1-aarch64-arm-none-eabi/share/doc/gcc-arm-none-eabi/examples ``` +You're now ready to use Arm GNU Toolchain. \ No newline at end of file From 860b0a812ce66263314b2b1e2ab08f4b54240dfe Mon Sep 17 00:00:00 2001 From: anupras-mohapatra-arm Date: Mon, 27 Apr 2026 11:46:12 -0500 Subject: [PATCH 21/48] gemini cli install guide --- content/install-guides/gcc/arm-gnu.md | 8 ++-- content/install-guides/gemini.md | 68 +++++++++++++-------------- 2 files changed, 38 insertions(+), 38 deletions(-) diff --git a/content/install-guides/gcc/arm-gnu.md b/content/install-guides/gcc/arm-gnu.md index 2450a50a33..d95879e8fb 100644 --- a/content/install-guides/gcc/arm-gnu.md +++ b/content/install-guides/gcc/arm-gnu.md @@ -52,12 +52,12 @@ Unpack the downloaded file to the install directory. The exact file name will de tar xJf arm-gnu-toolchain---.tar.xz -C /path/to/install/dir ``` -Add the `bin` directory to the `PATH` environment variable (bash). +Add the `bin` directory to the `PATH` environment variable (bash): ```console export PATH=/path/to/install/dir/bin:$PATH ``` -The following is an example of a specific version for an Arm Linux host and the AArch32 bare-metal target. +The following is an example of a specific version for an Arm Linux host and the AArch32 bare-metal target: {{% notice Note %}} The following commands uses Arm GNU Toolchain version 15.2.Rel1. The same commands work with other versions. Replace the file used in these steps with the file for your version of choice. To find the latest version, see [Arm GNU Toolchain downloads](https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads). @@ -94,7 +94,7 @@ Use a text editor to add the `bin` directory as a new line in `/etc/paths`. For example, for version 15.2.rel1, the path could be: `/Applications/ArmGNUToolchain/15.2.rel1/arm-none-eabi/bin` -The `/etc/paths` file is a list of paths to search. +The `/etc/paths` file is a list of paths to search: ```console /usr/local/bin @@ -108,7 +108,7 @@ The `/etc/paths` file is a list of paths to search. ### Apple Silicon -The following is a specific example for macOS with Apple Silicon and the AArch32 bare-metal target. +The following is a specific example for macOS with Apple Silicon and the AArch32 bare-metal target: {{% notice Note %}} The following commands use Arm GNU Toolchain version 15.2.Rel1. The same commands work with other versions. Replace the file used in these steps with the file for your version of choice. To find the latest version, see [Arm GNU Toolchain downloads](https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads). diff --git a/content/install-guides/gemini.md b/content/install-guides/gemini.md index 094c259530..966e2d8c10 100644 --- a/content/install-guides/gemini.md +++ b/content/install-guides/gemini.md @@ -20,15 +20,15 @@ Gemini CLI is Google's command-line interface for interacting with the Gemini AI It supports multiple operating systems, including Arm Linux distributions and macOS, and provides powerful AI assistance for developers working on Arm platforms. -This guide explains how to install Gemini CLI on macOS and Arm Linux. +In this guide, you'll learn how to install Gemini CLI on macOS and Arm Linux. -## What should I do before installing Gemini CLI? +## Before you begin -You need a Google account to use Gemini CLI. If you don't have one, visit [Google Account Creation](https://accounts.google.com/signup) to create your account. +You need a Google account to use Gemini CLI. If you don't have one, visit [Google Account Creation](https://accounts.google.com/signup) to create an account. You'll also need to set up authentication for the Gemini API. Gemini CLI supports multiple authentication methods, with Google OAuth login being the recommended approach for most users. -## How do I set up authentication for Gemini CLI? +## Set up authentication for Gemini CLI Gemini CLI offers three authentication methods. Choose the one that best fits your needs. @@ -78,27 +78,27 @@ Benefits of using Vertex AI: - Integration with Google Cloud billing and management - Higher rate limits and advanced features -## How do I install Gemini CLI on macOS? +## Install Gemini CLI on macOS -The easiest way to install Gemini CLI on macOS is using Homebrew, which handles all dependencies. +You can install Gemini CLI on macOS using Homebrew, which handles all dependencies. ### Install Gemini CLI on macOS using Homebrew -You can install [Homebrew](https://brew.sh/) if it isn't already available on your computer. +First, install [Homebrew](https://brew.sh/) if it isn't already available on your computer. -Install Gemini CLI using Homebrew: +After confirming that Homebrew is available on your computer, install Gemini CLI: ```console brew install gemini-cli ``` -This installs Gemini CLI and automatically handles the Node.js dependency. The Homebrew version is currently at 0.19.4 (stable) and receives regular updates. +This installs Gemini CLI and automatically handles the Node.js dependency. The Homebrew version is currently at 0.38.2 (stable) and receives regular updates. For more information, including the latest stable version, see [gemini-cli](https://formulae.brew.sh/formula/gemini-cli) on the Homebrew website. ### Install Gemini CLI on macOS using npm If you prefer to use npm or need the latest version, you can install Gemini CLI globally using npm. -First, make sure you have Node.js version 20 or higher installed. Install Node.js using Homebrew: +First, make sure you have Node.js version 20 or higher installed. You can install Node.js using Homebrew: ```console brew install node @@ -122,9 +122,9 @@ Install Gemini CLI globally using npm: npm install -g @google/gemini-cli ``` -This installs the latest version, such as 0.23.0, directly from npm. Homebrew can lag behind npm, so versions might differ. +This installs the latest version, such as 0.39.1, directly from npm. Homebrew can lag behind npm, so versions might differ. For more information, including the latest supported version, see [Gemini CLI](https://www.npmjs.com/package/@google/gemini-cli) on the npm website. -### How do I confirm Gemini CLI is working on macOS? +### Confirm Gemini CLI is working on macOS You now have Gemini CLI installed on your macOS system. @@ -137,7 +137,7 @@ gemini --version The output is similar to: ```output -0.23.0 +0.39.1 ``` Start an interactive session to test basic functionality: @@ -148,13 +148,13 @@ gemini This opens the Gemini CLI interface where you can authenticate and start asking questions. On first run, you'll be prompted to choose your authentication method. -## How do I install Gemini CLI on Arm Linux? +## Install Gemini CLI on Arm Linux -You can install Gemini CLI on Arm Linux distributions using npm. This method works on all major Arm Linux distributions including Ubuntu, Debian, CentOS, and others. +You can install Gemini CLI on Arm Linux distributions using npm. This method works on all major Arm Linux distributions including Ubuntu, Debian, and CentOS. -### What packages do I need before installing Gemini CLI on Arm Linux? +### Prerequisite packages -Before installing Gemini CLI, install prerequisite packages and Node.js. +Before installing Gemini CLI, install prerequisite packages. Install the required packages on Ubuntu/Debian systems: @@ -164,9 +164,9 @@ sudo apt update && sudo apt install -y curl If you're not using Ubuntu/Debian, use your package manager to install curl. -### How do I install Node.js on Arm Linux? +### Install Node.js on Arm Linux -Gemini CLI requires Node.js version 20 or higher. The easiest way to install Node.js on Arm Linux is using the NodeSource repository. +Gemini CLI requires Node.js version 20 or higher. To install Node.js on Arm Linux, use the NodeSource repository. Download and run the Node.js 20.x setup script: @@ -198,7 +198,7 @@ The output is similar to: 10.2.4 ``` -### How do I install Gemini CLI using npm on Arm Linux? +### Install Gemini CLI using npm on Arm Linux With Node.js installed, install Gemini CLI globally using npm. @@ -210,7 +210,7 @@ sudo npm install -g @google/gemini-cli This downloads and installs the latest version of Gemini CLI. The installation may take a few minutes as it downloads dependencies. -### How do I confirm Gemini CLI is working on Arm Linux? +### Confirm Gemini CLI is working on Arm Linux You now have Gemini CLI installed on your Arm Linux system. @@ -223,10 +223,10 @@ gemini --version The output shows the version: ```output -0.23.0 +0.39.1 ``` -### How do I view the available command-line options? +### View the available command-line options To print the available commands and options, use the `--help` flag: @@ -279,11 +279,11 @@ Options: Your Gemini CLI installation on Arm Linux is now complete and ready to use. -## How do I configure context for Arm development? +## Configure context for Arm development Context configuration allows you to provide Gemini with persistent information about your development environment, preferences, and project details. This helps Gemini give more relevant and tailored responses for Arm architecture development. -### How do I create a context file for Gemini CLI? +### Create a context file for Gemini CLI Gemini CLI looks for context files in your home directory's `.gemini` configuration folder. Create this directory and add your context file. @@ -303,7 +303,7 @@ EOF This creates a context file that tells Gemini about your Arm development focus and preferences. -### How do I verify that context is being loaded? +### Verify that context is being loaded Verify that Gemini is loading your context file by starting a chat session and asking a development question. @@ -321,11 +321,11 @@ How do I install gcloud? If context is loaded correctly, Gemini should provide Arm-specific recommendations. -## How do I integrate the Arm MCP server with Gemini CLI? +## Integrate the Arm MCP server with Gemini CLI -The Arm MCP (Model Context Protocol) server provides Gemini CLI with specialized tools and knowledge for Arm architecture development, migration, and optimization. By integrating the Arm MCP server, you gain access to Arm-specific documentation, code analysis tools, and optimization recommendations directly through your Gemini conversations. +The Arm Model Context Protocol (MCP) server provides Gemini CLI with specialized tools and knowledge for Arm architecture development, migration, and optimization. By integrating the Arm MCP server, you gain access to Arm-specific documentation, code analysis tools, and optimization recommendations directly through your Gemini conversations. -### How do I set up the Arm MCP server with Docker? +### Det up the Arm MCP server with Docker The Arm MCP server runs as a Docker container that Gemini CLI connects to via the Model Context Protocol. You need Docker installed on your system to use the MCP server. @@ -337,13 +337,13 @@ Pull the Arm MCP server Docker image: docker pull armlimited/arm-mcp:latest ``` -### How do I configure Gemini CLI to use the Arm MCP server? +### Configure Gemini CLI to use the Arm MCP server Gemini CLI uses a configuration file to connect to MCP servers. Create or update this configuration to include the Arm MCP server. Use an editor to modify the file `~/.gemini/settings.json` to add an MCP object. -You may have other objects already in the file so make sure to use a `,` at the end of each object that is not the last one. For example, the code below shows both the `security` and the `mcpServers` objects. +Make sure to use a `,` at the end of each object that is not the last one. For example, the following code shows both the `security` and the `mcpServers` objects: ```json { @@ -372,7 +372,7 @@ You may have other objects already in the file so make sure to use a `,` at the This configuration tells Gemini CLI to connect to the Arm MCP server running in the Docker container. -### How do I verify the Arm MCP server is working? +### Verify the Arm MCP server is working Start the Gemini CLI and list the tools from the MCP server to verify it's working: @@ -380,7 +380,7 @@ Start the Gemini CLI and list the tools from the MCP server to verify it's worki gemini ``` -The output shows the MCP server. +The output shows the MCP server: ```output Using: 1 GEMINI.md file | 1 MCP server @@ -392,7 +392,7 @@ Use the `/mcp` command to list the available tools: /mcp ``` -The Arm MCP server tools are listed in the output. +The Arm MCP server tools are listed in the output: ```output Configured MCP servers: From fb15f6ff3b5af8c66e9ecafbe0371408e4f26bac Mon Sep 17 00:00:00 2001 From: anupras-mohapatra-arm Date: Mon, 27 Apr 2026 12:06:31 -0500 Subject: [PATCH 22/48] updating copilot instructions with info about tool versions --- .github/copilot-instructions.md | 10 +++++++++- content/install-guides/gemini.md | 2 +- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index c513161c39..909a12f8ee 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -80,7 +80,7 @@ The `_index.md` file should contain the following front matter and content secti ### Install guide requirements -Install guides focus on installing and verifying one tool on Arm platforms. They do not teach workflows or applied usage. +Install guides focus on installing and verifying one tool on Arm platforms. They do not teach workflows or applied usage. Use existing install guides as reference. #### Front matter requirements @@ -137,6 +137,14 @@ Install guides must not include: Learning Paths may link to install guides for setup steps. Install guides should not duplicate workflow content. +### Tool versions + +When providing commands for downloading or installing software, use a specific version in the example. This ensures that the instructions are accurate and verifiable. However, also include a note similar to the following that tells readers the same commands work with other versions. Provide a link to where the latest version can be found. + +{{% notice Note %}} +The following commands use version . The same commands work with other versions. Replace the file used in these steps with the file for your version of choice. To find the latest version, see [Link to page with release info](URL). +{{% /notice %}} + ### Further reading curation Limit `further_reading` resources to four to six essential links. Prioritize: diff --git a/content/install-guides/gemini.md b/content/install-guides/gemini.md index 966e2d8c10..77610eee55 100644 --- a/content/install-guides/gemini.md +++ b/content/install-guides/gemini.md @@ -325,7 +325,7 @@ If context is loaded correctly, Gemini should provide Arm-specific recommendatio The Arm Model Context Protocol (MCP) server provides Gemini CLI with specialized tools and knowledge for Arm architecture development, migration, and optimization. By integrating the Arm MCP server, you gain access to Arm-specific documentation, code analysis tools, and optimization recommendations directly through your Gemini conversations. -### Det up the Arm MCP server with Docker +### Set up the Arm MCP server with Docker The Arm MCP server runs as a Docker container that Gemini CLI connects to via the Model Context Protocol. You need Docker installed on your system to use the MCP server. From 3fa30ea8a8a84c53deaba120a3bace8f2ccabdca Mon Sep 17 00:00:00 2001 From: anupras-mohapatra-arm Date: Mon, 27 Apr 2026 12:18:52 -0500 Subject: [PATCH 23/48] git woa guide --- .github/copilot-instructions.md | 2 +- content/install-guides/git-woa.md | 34 +++++++++++++++---------------- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index 909a12f8ee..c6709dbc16 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -139,7 +139,7 @@ Learning Paths may link to install guides for setup steps. Install guides should ### Tool versions -When providing commands for downloading or installing software, use a specific version in the example. This ensures that the instructions are accurate and verifiable. However, also include a note similar to the following that tells readers the same commands work with other versions. Provide a link to where the latest version can be found. +When providing commands for downloading or installing software, use a specific version in the example. This ensures that the instructions are accurate and verifiable. However, also include a note before the commandsthat tells readers the same commands work with other versions. Provide a link to where the latest version can be found. The note can be formatted as follows: {{% notice Note %}} The following commands use version . The same commands work with other versions. Replace the file used in these steps with the file for your version of choice. To find the latest version, see [Link to page with release info](URL). diff --git a/content/install-guides/git-woa.md b/content/install-guides/git-woa.md index 8e42c1259c..ad46e29786 100644 --- a/content/install-guides/git-woa.md +++ b/content/install-guides/git-woa.md @@ -24,11 +24,11 @@ multitool_install_part: false # Set to true if a sub-page of a multi-page arti layout: installtoolsall # DO NOT MODIFY. Always true for tool install articles --- -Git has native support for [Windows on Arm](https://learn.microsoft.com/en-us/windows/arm/overview). Starting with version 2.47.1, an official installer is available. +Git has native support for [Windows on Arm](https://learn.microsoft.com/en-us/windows/arm/overview). An official installer is available for version 2.47.1 and up. -In addition to Windows laptops, Windows on Arm instances are available with Microsoft Azure. For further information, see [Deploy a Windows on Arm virtual machine on Microsoft Azure](/learning-paths/cross-platform/woa_azure/). +In addition to Windows laptops, Windows on Arm instances are available with Microsoft Azure. For more information, see [Deploy a Windows on Arm virtual machine on Microsoft Azure](/learning-paths/cross-platform/woa_azure/). -## How do I download and install Git for Windows on Arm? +## Download and install Git for Windows on Arm Git releases are available in [GitHub releases](https://github.com/git-for-windows/git/releases/). @@ -37,32 +37,32 @@ Use a browser to download the desired release file. The Git releases for Windows You can also download from a Windows PowerShell with the following command: {{% notice Note %}} -The following command uses Git version 2.53.0. The same command works with other versions. Replace the file used in these steps with the file for your version of choice. To find the latest Git releases, see [GitHub releases](https://github.com/git-for-windows/git/releases/). +The following command uses Git version 2.54.0. The same command works with other versions. Replace the file used in this step with the file for your version of choice. To find the latest Git releases, see [GitHub releases](https://github.com/git-for-windows/git/releases/). {{% /notice %}} ```command -curl https://github.com/git-for-windows/git/releases/download/v2.53.0.windows.1/Git-2.53.0-arm64.exe -o Git-2.53.0-arm64.exe +curl https://github.com/git-for-windows/git/releases/download/v2.54.0.windows.1/Git-2.54.0-arm64.exe -o Git-2.54.0-arm64.exe ``` -Once you have downloaded Git, run the installer `.exe` file on a Windows on Arm machine. +After you've downloaded Git, run the installer `.exe` file on a Windows on Arm machine. -The installer starts. +The installer starts. To complete installation, follow these steps: -Click **Next** to acknowledge the GNU General Public License. +1. Click **Next** to acknowledge the GNU General Public License. -Set the destination location or accept the default location, and click **Next**. +2. Set the destination location or accept the default location, and click **Next**. -Continue to click **Next** for the configuration settings. You can accept all defaults if you are unsure of specific settings. +3. Continue to click **Next** for the configuration settings. You can accept all defaults if you are unsure of specific settings. -At the end of the install process, you see the screen below indicating setup has finished installing Git: +4. At the end of the install process, you see the following screen indicating setup has finished installing Git: ![Git Setup Wizard completion screen with options to Launch Git Bash and View Release Notes, and a Finish button.](/install-guides/_images/git-woa.png) -Click the **Finish** button to complete installation. +5. Click the **Finish** button to complete installation. -## How do I use Git on Windows? +## Use Git on Windows -You can use Git on Windows from a Command Prompt or using Git Bash. +You can use Git on Windows from a Windows Command Prompt or by using Git Bash. Git Bash is a Linux-like terminal experience which includes Git and many other Linux commands. @@ -78,7 +78,7 @@ You see the Git folder in the G section. There are menu items for multiple ways to start Git. -## How can I use Git in a Windows Command Prompt? +### Use Git in a Windows Command Prompt Start a Git Command Prompt by selecting **Git CMD** from the **Start** menu. @@ -93,13 +93,13 @@ git help You can use Git from this Command Prompt. -## How can I use Git with Git Bash? +### Use Git with Git Bash To use Git in a Linux-like environment, select **Git Bash** from the start menu. ![Git Bash terminal showing which git, file command confirming ARM64 executable, and git --version output.](/install-guides/_images/git4-woa.png) -Click the colored icon in the top-left corner of the Git Bash window, and then click **Options** to change the appearance of the window, including colors, fonts, and font sizes. +Click the colored icon in the top-left corner of the Git Bash window, and then click **Options** to change the appearance of the window. You can change settings such as colors, fonts, and font sizes for the window. ![Git Bash Options dialog with settings for colors, transparency, and cursor style.](/install-guides/_images/git5-woa.png) From 5c83ca3a4dbb13db0168d68e41dc408163573247 Mon Sep 17 00:00:00 2001 From: anupras-mohapatra-arm Date: Mon, 27 Apr 2026 12:39:32 -0500 Subject: [PATCH 24/48] updates for helm --- content/install-guides/helm.md | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/content/install-guides/helm.md b/content/install-guides/helm.md index e309d290c9..f591ac39e5 100644 --- a/content/install-guides/helm.md +++ b/content/install-guides/helm.md @@ -26,11 +26,9 @@ weight: 1 Helm supports the Arm architecture, and is available for Windows, macOS, and Linux. -## Before you begin - -There is documentation available on [Installing Helm](https://helm.sh/docs/intro/install/) which covers all supported operating systems. +In this Install Guide, you'll learn how to install Helm for Ubuntu on Arm. For more information, see [Installing Helm](https://helm.sh/docs/intro/install/) which covers all supported operating systems. -This Install Guide gives you a quick solution for installing Helm for Ubuntu on Arm. +## Before you begin To start, confirm you are using an Arm machine by running: @@ -43,23 +41,23 @@ The output should be: aarch64 ``` -If you see a different result, you are not using an Arm computer running 64-bit Linux. +If you see a different result, you're not using an Arm computer running 64-bit Linux. -You might need to install `curl` and `wget` if you do not already have them installed: +You might need to install `curl` and `wget` if you don't already have them installed: ```bash sudo apt install -y curl wget ``` -## How do I download and install Helm? +## Download and install Helm -There are multiple ways to install Helm for Ubuntu on Arm. Here are three options from which you can choose. +There are multiple ways to install Helm for Ubuntu on Arm. The following are three options from which you can choose. ### Option 1: Install using the release tar file Download and install the latest version. -There is just one executable to copy to the desired location: +There is only one executable to copy to the desired location: ```bash HELM_VER=`curl -s https://api.github.com/repos/helm/helm/releases/latest | grep tag_name | cut -d: -f2 | tr -d \"\,\v | awk '{$1=$1};1'` @@ -88,7 +86,7 @@ Snap is another option for installing Helm: sudo snap install helm --classic ``` -### How do I confirm that Helm is installed? +### Confirm that Helm is installed Regardless of which option you are using, confirm the executable is available: @@ -96,7 +94,7 @@ Regardless of which option you are using, confirm the executable is available: helm version ``` -You see the version information printed: +The output is similar to: ```output version.BuildInfo{Version:"v3.16.3", GitCommit:"cfd07493f46efc9debd9cc1b02a0961186df7fdf", GitTreeState:"clean", GoVersion:"go1.22.7"} From e068b350f4a5b69888a86a874da2e549c16b2d60 Mon Sep 17 00:00:00 2001 From: anupras-mohapatra-arm Date: Mon, 27 Apr 2026 14:12:47 -0500 Subject: [PATCH 25/48] Java install guide --- content/install-guides/java.md | 153 +++++++++++++++------------------ 1 file changed, 71 insertions(+), 82 deletions(-) diff --git a/content/install-guides/java.md b/content/install-guides/java.md index ab292609e4..0ab1e21968 100644 --- a/content/install-guides/java.md +++ b/content/install-guides/java.md @@ -23,58 +23,50 @@ layout: installtoolsall Java is a high-level, object-oriented programming language first released by Sun Microsystems in 1995. -Its aim is to have as few implementation dependencies as possible, making it a versatile and widely-used language. +Its aim is to have as few implementation dependencies as possible, making it a versatile and widely-used language. -## Is Java available for Arm Linux? +Java is available for Arm Linux. In this guide, you'll learn different ways to install Java on Arm Linux distributions. This includes both the Java runtime environment (JRE), which is used to run Java applications, and the Java Development Kit (JDK), which is used to create Java applications. -Yes, there are numerous ways to install Java on Arm Linux distributions. - -Below are some of the common methods that you can use to install Java. This includes both the Java runtime environment (JRE), which is used to run Java applications, and the Java Development Kit (JDK), which is used to create Java applications. - -Pick the one that works best for you. +The following are some of the common methods that you can use to install Java. This includes both the Java runtime environment (JRE), which is used to run Java applications, and the Java Development Kit (JDK), which is used to create Java applications. {{% notice Note %}} The Java Technology Compatibility Kit (TCK) is a test suite that you can use to verify whether a Java implementation conforms to the Java SE Platform Specification. It is a crucial tool for ensuring that Java applications can run consistently across different platforms and implementations. -Check the [OCTLA Signatories List](https://openjdk.org/groups/conformance/JckAccess/jck-access.html) to see who has been granted access to the TCK. +To find out who has been granted access to the TCK, see the [OCTLA Signatories List](https://openjdk.org/groups/conformance/JckAccess/jck-access.html). {{% /notice %}} -## Can I install Java using the Linux package manager? +## Install Java using the Linux package manager -For distributions using `apt`, including Debian and Ubuntu, you can install Java using this code: +The installation commands depend on your Linux distribution: -```console +{{< tabpane code=true >}} + {{< tab header="Ubuntu/Debian" language="bash">}} sudo apt update sudo apt install default-jre -y sudo apt install default-jdk -y -``` - -For distributions using `dnf`, including Fedora and Red Hat, you can install Java using this code: - -```console + {{< /tab >}} + {{< tab header="Fedora/Red Hat" language="bash">}} sudo dnf install java-latest-openjdk -``` + {{< /tab >}} + {{< tab header="Arch/Manjaro" language="bash">}} +sudo pacman -S jdk-openjdk +sudo pacman -S jre-openjdk + {{< /tab >}} +{{< /tabpane >}} -For distributions using `pacman`, including Arch and Manjaro, you can install Java using this code: +## Install Java using Snap -```console -sudo pacman -S jdk-openjdk -sudo pacman -S jre-openjdk -``` - -## Can I install Java using Snap? - -For Linux distributions using `snap`, you can install Java using this code: +For Linux distributions using `snap`, you can install Java using the following command: ```console sudo snap install openjdk ``` -## How do I install Amazon Corretto? +## Install Amazon Corretto Amazon Corretto is a no-cost distribution of the Open Java Development Kit (OpenJDK). It is maintained and supported by Amazon Web Services (AWS). -You can install Corretto using `apt` with the commands: +You can install Corretto using `apt` with the following commands: ```console wget -O - https://apt.corretto.aws/corretto.key | sudo gpg --dearmor -o /usr/share/keyrings/corretto-keyring.gpg && \ @@ -82,9 +74,9 @@ echo "deb [signed-by=/usr/share/keyrings/corretto-keyring.gpg] https://apt.corre sudo apt-get update; sudo apt-get install -y java-21-amazon-corretto-jdk ``` -You can find out more about the installation options for Corretto in the [Amazon Corretto 21 Guide for Linux](https://docs.aws.amazon.com/corretto/latest/corretto-21-ug/linux-info.html). +For more information about installation options for Corretto, see the [Amazon Corretto 21 Guide for Linux](https://docs.aws.amazon.com/corretto/latest/corretto-21-ug/linux-info.html). -## How do I install the Microsoft Build of OpenJDK? +## Install the Microsoft Build of OpenJDK The Microsoft Build of OpenJDK is a no-cost, open source distribution of OpenJDK. It includes Long-Term Support (LTS) binaries for Java 11 and Java 17 and runs on Arm Linux. @@ -97,43 +89,43 @@ You can download a tar.gz file from [Download the Microsoft Build of OpenJDK](ht For example: {{% notice Note %}} -The following commands use Microsoft Build of OpenJDK version 21.0.4. The same commands work with other versions. Replace the file used in these steps with the file for your version of choice. To find the latest version, see [Download the Microsoft Build of OpenJDK](https://learn.microsoft.com/en-gb/java/openjdk/download). +The following commands use Microsoft Build of OpenJDK version 25.0.2. The same commands work with other versions. Replace the file used in these steps with the file for your version of choice. To find the latest version, see [Download the Microsoft Build of OpenJDK](https://learn.microsoft.com/en-gb/java/openjdk/download). {{% /notice %}} ```console -wget https://aka.ms/download-jdk/microsoft-jdk-21.0.4-linux-aarch64.tar.gz +wget https://aka.ms/download-jdk/microsoft-jdk-25.0.2-linux-aarch64.tar.gz ``` Extract the contents of the file: ```console -tar xvf microsoft-jdk-21.0.4-linux-aarch64.tar.gz +tar xvf microsoft-jdk-25.0.2-linux-aarch64.tar.gz ``` Move the contents to a directory of your choice: ```console -sudo mv jdk-21.0.4+7/ /usr/local +sudo mv jdk-25.0.2+7/ /usr/local ``` Set up environment variables to locate your installation: ```console -export JAVA_HOME=/usr/local/jdk-21.0.4+7 +export JAVA_HOME=/usr/local/jdk-25.0.2+7 export PATH=$JAVA_HOME/bin:$PATH ``` Add the environment variables to your `~/.bashrc` file to set them permanently. -For more information about the available versions and supported platforms refer to [About the Microsoft Build of OpenJDK](https://learn.microsoft.com/en-gb/java/openjdk/overview). +For more information about the available versions and supported platforms, see [About the Microsoft Build of OpenJDK](https://learn.microsoft.com/en-gb/java/openjdk/overview). -## How do I install Eclipse Temurin from the Adoptium Working Group? +## Install Eclipse Temurin from the Adoptium Working Group The Adoptium Working Group promotes and supports high-quality, TCK-certified runtimes and associated technology for use across the Java ecosystem. Eclipse Temurin is the name of the OpenJDK distribution from Adoptium. -To install Temurin on Ubuntu run: +To install Temurin on Ubuntu, run: ```console sudo apt install -y wget apt-transport-https gpg @@ -143,9 +135,9 @@ sudo apt update sudo apt install temurin-17-jdk -y ``` -For more information about the available versions and supported platforms refer to [Temurin documentation](https://adoptium.net/docs/). +For more information about the available versions and supported platforms, see the [Temurin documentation](https://adoptium.net/docs/). -## How do I install Java from Oracle? +## Install Java from Oracle You can download Java from the [Oracle website](https://www.oracle.com/java/technologies/javase-downloads.html) and install it manually. Look for the files with ARM64 in the description. @@ -172,15 +164,15 @@ export PATH=$JAVA_HOME/bin:$PATH Add the environment variables to your `~/.bashrc` file to set them permanently. -## Can I change the default Java version if multiple versions are installed? +## Change the default Java version if multiple versions are installed -Yes, you can change the default version. For systems with `apt` use: +To change the default version of Java for systems with `apt`, use: ```console sudo update-alternatives --config java ``` -You will be given the option to select a new version. The options are dependent on the software currently installed on your computer. +You'll be given the option to select a new version. The options are dependent on the software currently installed on your computer. ```output There are 3 choices for the alternative java (providing /usr/bin/java). @@ -197,9 +189,9 @@ Press to keep the current choice[*], or type selection number: In this example, if you select option 1, Java 17 becomes the default. -## How do I print the Java version? +## Verify Java installation by printing Java version -Print the version of the Java runtime, by running: +To print the version of the Java runtime, run: ```console java -version @@ -208,9 +200,9 @@ java -version The output will be similar to: ```output -openjdk version "21.0.4" 2024-07-16 -OpenJDK Runtime Environment (build 21.0.4+7-Ubuntu-1ubuntu224.04) -OpenJDK 64-Bit Server VM (build 21.0.4+7-Ubuntu-1ubuntu224.04, mixed mode, sharing) +openjdk version "25.0.2" 2024-07-16 +OpenJDK Runtime Environment (build 25.0.2+7-Ubuntu-1ubuntu224.04) +OpenJDK 64-Bit Server VM (build 25.0.2+7-Ubuntu-1ubuntu224.04, mixed mode, sharing) ``` Print the version of the Java compiler: @@ -222,14 +214,14 @@ javac -version The output will be similar to: ```output -javac 21.0.4 +javac 25.0.2 ``` -## Which version of Java should I use for Arm Linux systems? - +{{% notice Important %}} For performance and security, it's important to ensure that your version of Java is at least 11.0.12. Earlier versions lack significant performance improvements. Java performance has steadily increased over time and newer versions provide improved performance. +{{% /notice %}} -## Which flags are available for tuning the JVM? +## Flags available for tuning the Java Virtual Machine The Java Virtual Machine (JVM) includes a number of flags which are available to tune performance and aid in debugging. Some of the flags are general-purpose and some are Arm architecture-specific. @@ -239,29 +231,27 @@ To print the final values of the flags after the JVM has been initialized, run: java -XX:+PrintFlagsFinal -version ``` -Generally the biggest performance improvements from JVM flags can be obtained from heap and garbage collection (GC) tuning, as long as you understand your workload well. +Generally, the biggest performance improvements from JVM flags can be obtained from heap and garbage collection (GC) tuning. Default initial heap size is 1/64th of RAM and default maximum heap size is 1/4th of RAM. If you know your memory requirements, you should set both of these flags to the same value (e.g. `-Xms12g` and `-Xmx12g` for an application that uses at most 12 GB). Setting both flags to the same value will prevent the JVM from having to periodically allocate additional memory. Additionally, for cloud workloads max heap size is often set to 75%-85% of RAM, much higher than the default setting. -If you are deploying in a cloud scenario where you might be deploying the same stack to systems that have varying amounts of RAM, you might want to use `-XX:MaxRAMPercentage` instead of `-Xmx`, so you can specify a percentage of max RAM rather than a fixed max heap size. This setting can also be helpful in containerized workloads. +If you are deploying in a cloud scenario where you might be deploying the same stack to systems that have varying amounts of RAM, you can use `-XX:MaxRAMPercentage` instead of `-Xmx`. With this flag, you can specify a percentage of max RAM rather than a fixed max heap size. This setting can also be helpful in containerized workloads. Garbage collector choice will depend on the workload pattern for which you're optimizing. -* If your workload is a straightforward serial single-core load with no multithreading, the `UseSerialGC` flag should be set to true. -* For multi-core small heap batch jobs (<4GB), the `UseParallelGC` flag should be set to true. -* The G1 garbage collector (`UseG1GC` flag) is better for medium to large heaps (>4GB). This is the most commonly used GC for large parallel workloads, and is the default for high-core environments. If you want to optimize throughput, use this one. +* If your workload is a straightforward serial single-core load with no multithreading, you should set the `UseSerialGC` flag to true. +* For multi-core small heap batch jobs (<4GB), you should set the `UseParallelGC` flag to true. +* The G1 garbage collector (`UseG1GC` flag) is better for medium to large heaps (>4GB). This is the most commonly used GC for large parallel workloads, and is the default for high-core environments. Use this garbage collector to optimize throughput. * The ZGC (`UseZGC` flag) has low pause times, which can drastically improve tail latencies. If you want to prioritize response time at a small cost to throughput, use ZGC. * The Shenandoah GC (`UseShenandoahGC` flag) is still fairly niche. It has ultra low pause times and concurrent evacuation, making it ideal for low-latency applications, at the cost of increased CPU use. -## Are there other tools commonly used in Java projects? +## (Optional) Install other common tools for Java projects There are a number of Java-related tools you might like to install. ### Apache Maven -Apache Maven is a powerful build automation tool primarily used for Java projects. - -It simplifies the build process by providing a uniform build system, with dependency and project management capabilities. +Apache Maven is a powerful build automation tool primarily used for Java projects. It simplifies the build process by providing a uniform build system, with dependency and project management capabilities. You can install it from the `apt` package manager: @@ -304,9 +294,9 @@ The following commands use Gradle version 8.10. The same commands work with othe {{% /notice %}} ```console -wget https://services.gradle.org/distributions/gradle-8.10-bin.zip -O gradle-8.10-bin.zip -unzip gradle-8.10-bin.zip -sudo mv gradle-8.10 /opt/gradle +wget https://services.gradle.org/distributions/gradle-9.4.1-bin.zip -O gradle-9.4.1-bin.zip +unzip gradle-9.4.1-bin.zip +sudo mv gradle-9.4.1 /opt/gradle sudo ln -s /opt/gradle/bin/gradle /usr/local/bin/gradle ``` @@ -319,31 +309,30 @@ gradle -v The output is similar to: ```output -Welcome to Gradle 8.10! +Welcome to Gradle 9.4.1! Here are the highlights of this release: - - Support for Java 23. - - Faster configuration cache. - - Improved configuration cache reports. + - Java 26 support + - Non-class-based JVM tests + - Enhanced console progress bar -For further information, see https://docs.gradle.org/8.10/release-notes.html. +For further information, see https://docs.gradle.org/9.4.1/release-notes.html. ------------------------------------------------------------ -Gradle 8.10 +Gradle 9.4.1 ------------------------------------------------------------ -Build time: 2024-08-14 11:07:45 UTC -Revision: fef2edbed8af1022cefaf44d4c0514c5f89d7b78 +Build time: 2026-03-19 08:46:28 UTC +Revision: 2d6327017519d23b96af35865dc997fcb544fb40 -Kotlin: 1.9.24 -Groovy: 3.0.22 -Ant: Apache Ant(TM) version 1.10.14 compiled on August 16 2023 +Kotlin: 2.3.0 +Groovy: 4.0.29 +Ant: Apache Ant(TM) version 1.10.15 compiled on August 25 2024 Launcher JVM: 22.0.2 (Oracle Corporation 22.0.2+9-70) Daemon JVM: /usr/local/jdk-22.0.2 (no JDK specified, using current Java home) OS: Linux 6.8.0-41-generic aarch64 ``` - ### Apache Ant Apache Ant is a Java-based build tool used to automate the build process for Java projects. It is similar to Make but is designed specifically for Java projects. @@ -359,13 +348,13 @@ sudo apt install ant -y You can also install specific versions by downloading and extracting a zip file: {{% notice Note %}} -The following commands use Apache Ant version 1.10.14. The same commands work with other versions. Replace the file used in these steps with the file for your version of choice. To find the latest version, see [Apache Ant downloads](https://ant.apache.org/bindownload.cgi). +The following commands use Apache Ant version 1.10.17. The same commands work with other versions. Replace the file used in these steps with the file for your version of choice. To find the latest version, see [Apache Ant downloads](https://ant.apache.org/bindownload.cgi). {{% /notice %}} ```console -wget https://downloads.apache.org/ant/binaries/apache-ant-1.10.14-bin.zip -O apache-ant-1.10.14-bin.zip -unzip apache-ant-1.10.14-bin.zip -sudo mv apache-ant-1.10.14 /opt/ant +wget https://downloads.apache.org/ant/binaries/apache-ant-1.10.17-bin.zip -O apache-ant-1.10.17-bin.zip +unzip apache-ant-1.10.17-bin.zip +sudo mv apache-ant-1.10.17 /opt/ant sudo ln -s /opt/ant/bin/ant /usr/local/bin/ant ``` @@ -378,7 +367,7 @@ ant -version The output is similar to: ```output -Apache Ant(TM) version 1.10.14 compiled on August 16 2023 +Apache Ant(TM) version 1.10.17 compiled on April 6 2026 ``` ### Apache JMeter @@ -418,4 +407,4 @@ INFO: Created user preferences directory. Copyright (c) 1999-2024 The Apache Software Foundation ``` -You are ready to use Java on your Arm Linux system. +You are now ready to use Java on your Arm Linux system. From 942e0ae536fb7b2f538a5d725aaf97601b985ad6 Mon Sep 17 00:00:00 2001 From: anupras-mohapatra-arm Date: Mon, 27 Apr 2026 14:49:39 -0500 Subject: [PATCH 26/48] llvm embedded guide --- content/install-guides/llvm-embedded.md | 59 +++++++++++++------------ 1 file changed, 30 insertions(+), 29 deletions(-) diff --git a/content/install-guides/llvm-embedded.md b/content/install-guides/llvm-embedded.md index 9dc1b7715a..7b82b2a4f8 100644 --- a/content/install-guides/llvm-embedded.md +++ b/content/install-guides/llvm-embedded.md @@ -31,16 +31,16 @@ The [LLVM Embedded Toolchain for Arm](https://github.com/ARM-software/LLVM-embed [Pre-built binaries](https://github.com/ARM-software/LLVM-embedded-toolchain-for-Arm/releases) are available for Windows (x86_64), macOS (x86_64 and Apple Silicon), and Linux (x86_64 and AArch64) hosts. -## How do I install the LLVM Embedded Toolchain for Arm on Windows? {#windows} +## Install the LLVM Embedded Toolchain for Arm on Windows {#windows} -Copy and paste the URL below into your browser to download the latest release from GitHub: +To download the latest release from GitHub, copy and paste the following URL into your browser: {{% notice Note %}} The following step uses LLVM Embedded Toolchain for Arm version 18.1.3. The same step works with other versions. Replace the file used in this step with the file for your version of choice. To find the latest version, see [LLVM Embedded Toolchain releases](https://github.com/ARM-software/LLVM-embedded-toolchain-for-Arm/releases). {{% /notice %}} ```url -https://github.com/ARM-software/LLVM-embedded-toolchain-for-Arm/releases/download/release-18.1.3/LLVM-ET-Arm-18.1.3-Windows-x86_64.zip +https://github.com/ARM-software/LLVM-embedded-toolchain-for-Arm/releases/download/release-19.1.5/LLVM-ET-Arm-19.1.5-Windows-x86_64.zip ``` Unzip the download to a location of your choice on your host machine. @@ -49,66 +49,66 @@ Open Windows `Control Panel` and add the LLVM `bin` directory to the `Path`. Open a `Command Prompt` and [test your installation](#test). -## How do I install the LLVM Embedded Toolchain for Arm on macOS? {#macos} +## Install the LLVM Embedded Toolchain for Arm on macOS? {#macos} -Copy and paste the URL below into your browser to download the latest release from GitHub: +To download the latest release from GitHub, copy and paste the following URL into your browser: {{% notice Note %}} -The following step uses LLVM Embedded Toolchain for Arm version 18.1.3. The same step works with other versions. Replace the file used in this step with the file for your version of choice. To find the latest version, see [LLVM Embedded Toolchain releases](https://github.com/ARM-software/LLVM-embedded-toolchain-for-Arm/releases). +The following step uses LLVM Embedded Toolchain for Arm version 19.1.5. The same step works with other versions. Replace the file used in this step with the file for your version of choice. To find the latest version, see [LLVM Embedded Toolchain releases](https://github.com/ARM-software/LLVM-embedded-toolchain-for-Arm/releases). {{% /notice %}} ```url -https://github.com/ARM-software/LLVM-embedded-toolchain-for-Arm/releases/download/release-18.1.3/LLVM-ET-Arm-18.1.3-Darwin-universal.dmg +https://github.com/ARM-software/LLVM-embedded-toolchain-for-Arm/releases/download/release-19.1.5/LLVM-ET-Arm-19.1.5-Darwin-universal.dmg ``` -Install the toolchain by clicking on the dmg file and following the instructions. +Install the toolchain by clicking the dmg file and following the instructions. Add the LLVM `bin` directory to your `PATH`: ```command -export PATH=/Applications/LLVM-ET-Arm-18.1.3-Darwin-universal/bin:$PATH +export PATH=/Applications/LLVM-ET-Arm-19.1.5-Darwin-universal/bin:$PATH ``` -The toolchain binaries may be quarantined. Navigate to the `bin` directory and use the `xattr` command to remove the quarantine: +The toolchain binaries might be quarantined. Navigate to the `bin` directory and use the `xattr` command to remove the quarantine: ``` command -cd /Applications/LLVM-ET-Arm-18.1.3-Darwin-universal/bin +cd /Applications/LLVM-ET-Arm-19.1.5-Darwin-universal/bin find . -type f -perm +0111 | xargs xattr -d com.apple.quarantine ``` You can now [test your installation](#test). -## How do I install the LLVM Embedded Toolchain for Arm on Linux? {#linux} +## Install the LLVM Embedded Toolchain for Arm on Linux {#linux} -The information below assumes `Ubuntu Linux` on an `AArch64` host. Modify the filenames and paths as needed for other hosts. +The following steps assume `Ubuntu Linux` on an `AArch64` host. Modify the filenames and paths as needed for other hosts. Download the latest release using `wget`: {{% notice Note %}} -The following commands use LLVM Embedded Toolchain for Arm version 18.1.3. The same commands work with other versions. Replace the file used in these steps with the file for your version of choice. To find the latest version, see [LLVM Embedded Toolchain releases](https://github.com/ARM-software/LLVM-embedded-toolchain-for-Arm/releases). +The following commands use LLVM Embedded Toolchain for Arm version 19.1.5. The same commands work with other versions. Replace the file used in these steps with the file for your version of choice. To find the latest version, see [LLVM Embedded Toolchain releases](https://github.com/ARM-software/LLVM-embedded-toolchain-for-Arm/releases). {{% /notice %}} ```command -wget https://github.com/ARM-software/LLVM-embedded-toolchain-for-Arm/releases/download/release-18.1.3/LLVM-ET-Arm-18.1.3-Linux-AArch64.tar.xz +wget https://github.com/ARM-software/LLVM-embedded-toolchain-for-Arm/releases/download/release-19.1.5/LLVM-ET-Arm-19.1.5-Linux-AArch64.tar.xz ``` Open a terminal application and use `tar` to extract the file: ```command -tar xfJ LLVM-ET-Arm-18.1.3-Linux-AArch64.tar.xz -C $HOME +tar xfJ LLVM-ET-Arm-19.1.5-Linux-AArch64.tar.xz -C $HOME ``` Add the LLVM `bin` directory to your `PATH`: ```command -export PATH=$HOME/LLVM-ET-Arm-18.1.3-Linux-AArch64/bin:$PATH +export PATH=$HOME/LLVM-ET-Arm-19.1.5-Linux-AArch64/bin:$PATH ``` -## How do I test the LLVM Embedded Toolchain installation? {#test} +## Test the LLVM Embedded Toolchain installation {#test} You can now test your installation. -### How do I verify the clang installation? +### Verify the clang installation Use the `--version` option to verify the correct compiler is being invoked: @@ -116,18 +116,18 @@ Use the `--version` option to verify the correct compiler is being invoked: clang --version ``` -You should observe output similar to: +The output is similar to: ```output -clang version 18.1.3 +clang version 19.1.5 Target: aarch64-unknown-linux-gnu Thread model: posix -InstalledDir: /home/ubuntu/LLVM-ET-Arm-18.1.3-Linux-AArch64/bin +InstalledDir: /home/ubuntu/LLVM-ET-Arm-19.1.5-Linux-AArch64/bin ``` -### How do I build a simple application with clang? +### Build a sample application with clang -Use a text editor to create an example source file with the name `hello.c` and the code below: +Use a text editor to create an example source file with the name `hello.c` and the following code: ```C #include @@ -139,21 +139,21 @@ int main() } ``` -A number of compiler options are needed. See [Using the toolchain](https://github.com/ARM-software/LLVM-embedded-toolchain-for-Arm#using-the-toolchain) for full details. +A number of compiler options are needed. For more information, see [Using the toolchain](https://github.com/ARM-software/LLVM-embedded-toolchain-for-Arm#using-the-toolchain). -To build for `Armv6-M`: +To build for `Armv6-M`, run: ```command clang --target=armv6m-none-eabi -fno-exceptions -fno-rtti -lcrt0-semihost -lsemihost -T picolibc.ld -o hello_v6m hello.c ``` -To build for `Armv7-M`: +To build for `Armv7-M`, run: ``` clang --target=armv7m-none-eabi -fno-exceptions -fno-rtti -lcrt0-semihost -lsemihost -T picolibc.ld -o hello_v7m hello.c ``` -### How do I run the example applications? +### Run the example applications The applications can be run on [Fixed Virtual Platforms (FVP)](/install-guides/fm_fvp/fvp/). @@ -173,7 +173,7 @@ To run the `Armv7-M` example on `Cortex-M3` FVP: FVP_MPS2_Cortex-M3 -a hello_v7m ``` -You will see the `hello` message on the console (as well as other diagnostic output from the FVP): +You'll see the `hello` message on the console, as well as other diagnostic output from the FVP: ```output telnetterminal1: Listening for serial connection on port 5000 @@ -182,3 +182,4 @@ telnetterminal0: Listening for serial connection on port 5001 hello Info: /OSCI/SystemC: Simulation stopped by user. ``` +You're now ready to use LLVM Embedded Toolchain for Arm. \ No newline at end of file From 442e4d418673b91d8604004e3e5f5c22e529f061 Mon Sep 17 00:00:00 2001 From: anupras-mohapatra-arm Date: Mon, 27 Apr 2026 15:03:19 -0500 Subject: [PATCH 27/48] llvm windiws guide --- content/install-guides/llvm-embedded.md | 4 ++-- content/install-guides/llvm-woa.md | 18 ++++++++---------- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/content/install-guides/llvm-embedded.md b/content/install-guides/llvm-embedded.md index 7b82b2a4f8..540ca15693 100644 --- a/content/install-guides/llvm-embedded.md +++ b/content/install-guides/llvm-embedded.md @@ -36,7 +36,7 @@ The [LLVM Embedded Toolchain for Arm](https://github.com/ARM-software/LLVM-embed To download the latest release from GitHub, copy and paste the following URL into your browser: {{% notice Note %}} -The following step uses LLVM Embedded Toolchain for Arm version 18.1.3. The same step works with other versions. Replace the file used in this step with the file for your version of choice. To find the latest version, see [LLVM Embedded Toolchain releases](https://github.com/ARM-software/LLVM-embedded-toolchain-for-Arm/releases). +The following step uses LLVM Embedded Toolchain for Arm version 19.1.5. The same step works with other versions. Replace the file used in this step with the file for your version of choice. To find the latest version, see [LLVM Embedded Toolchain releases](https://github.com/ARM-software/LLVM-embedded-toolchain-for-Arm/releases). {{% /notice %}} ```url @@ -49,7 +49,7 @@ Open Windows `Control Panel` and add the LLVM `bin` directory to the `Path`. Open a `Command Prompt` and [test your installation](#test). -## Install the LLVM Embedded Toolchain for Arm on macOS? {#macos} +## Install the LLVM Embedded Toolchain for Arm on macOS {#macos} To download the latest release from GitHub, copy and paste the following URL into your browser: diff --git a/content/install-guides/llvm-woa.md b/content/install-guides/llvm-woa.md index 88a057475f..04af41f3ae 100644 --- a/content/install-guides/llvm-woa.md +++ b/content/install-guides/llvm-woa.md @@ -31,13 +31,9 @@ layout: installtoolsall # DO NOT MODIFY. Always true for tool install ar [LLVM version 12 or higher](https://llvm.org/) natively supports Windows on Arm. [View the supported Arm architecture features](https://developer.arm.com/Tools%20and%20Software/LLVM%20Toolchain#Supported-Devices) in the open-sourced LLVM toolchain. -## How do I download and install the LLVM toolchain for Windows on Arm? +## Download and install the LLVM toolchain for Windows on Arm -{{% notice Note %}} -The following commands use LLVM version 18.1.8. The same commands work with other versions. Replace the file used in these steps with the file for your version of choice. To find the latest version, see [LLVM releases](https://github.com/llvm/llvm-project/releases). -{{% /notice %}} - -The latest version (at the time of writing) of the LLVM toolchain with Windows on Arm native support is 18.1.8. [Download the pre-built binary](https://github.com/llvm/llvm-project/releases/download/llvmorg-18.1.8/LLVM-18.1.8-woa64.exe). +The latest version (at the time of writing) of the LLVM toolchain with Windows on Arm native support is 22.1.4. To find the latest version, see [LLVM releases](https://github.com/llvm/llvm-project/releases). [Download the pre-built binary](https://github.com/llvm/llvm-project/releases/download/llvmorg-22.1.4/LLVM-22.1.4-woa64.exe). {{% notice Note %}} A warning message may appear in your browser due to the publisher being listed as `Unknown`. The warning is: @@ -47,7 +43,7 @@ A warning message may appear in your browser due to the publisher being listed a It is safe to ignore this warning and proceed. {{% /notice %}} -After download, run `LLVM-18.1.8-woa64.exe` on a Windows on Arm machine. The installer will start. By default, the installer does not add LLVM to the system `PATH`. If you easily want to invoke LLVM from any directory, select the option to `Add LLVM to the system PATH for all users`. +After download, run `LLVM-22.1.4-woa64.exe` on a Windows on Arm machine. The installer will start. By default, the installer does not add LLVM to the system `PATH`. If you easily want to invoke LLVM from any directory, select the option to `Add LLVM to the system PATH for all users`. ![img1 #center](/install-guides/_images/llvm-setup.png) @@ -57,7 +53,7 @@ The setup will complete successfully. Select `Finish` to close the installer. ![img2 #center](/install-guides/_images/llvm-finish.png) -## How do I check the LLVM toolchain installation? +## Verify the LLVM toolchain installation Open a Windows Command prompt or a PowerShell prompt and run: @@ -67,16 +63,18 @@ clang --version The output should look like: ```output -clang version 18.1.8 +clang version 22.1.4 Target: aarch64-pc-windows-msvc Thread model: posix InstalledDir: C:\Program Files\LLVM\bin ``` -## What other LLVM versions are available? +## Other available LLVM versions You can download other LLVM builds from [the download repository](https://releases.llvm.org/download.html). {{% notice Note%}} The pre-built binary for Windows on Arm is typically named `LLVM--woa64.exe`. {{% /notice %}} + +You're now ready to use LLVM toolchain for Windows on Arm. From b2b5190949f32b1b9c3ce3b922bc9285ba991307 Mon Sep 17 00:00:00 2001 From: anupras-mohapatra-arm Date: Mon, 27 Apr 2026 16:14:03 -0500 Subject: [PATCH 28/48] multipass edits --- content/install-guides/llvm-woa.md | 4 +- content/install-guides/multipass.md | 133 +++++++++++++--------------- 2 files changed, 67 insertions(+), 70 deletions(-) diff --git a/content/install-guides/llvm-woa.md b/content/install-guides/llvm-woa.md index 04af41f3ae..2d2011986d 100644 --- a/content/install-guides/llvm-woa.md +++ b/content/install-guides/llvm-woa.md @@ -33,7 +33,9 @@ layout: installtoolsall # DO NOT MODIFY. Always true for tool install ar ## Download and install the LLVM toolchain for Windows on Arm -The latest version (at the time of writing) of the LLVM toolchain with Windows on Arm native support is 22.1.4. To find the latest version, see [LLVM releases](https://github.com/llvm/llvm-project/releases). [Download the pre-built binary](https://github.com/llvm/llvm-project/releases/download/llvmorg-22.1.4/LLVM-22.1.4-woa64.exe). +The latest version (at the time of writing) of the LLVM toolchain with Windows on Arm native support is 22.1.4. To find the latest version, see [LLVM releases](https://github.com/llvm/llvm-project/releases). + +[Download the pre-built binary](https://github.com/llvm/llvm-project/releases/download/llvmorg-22.1.4/LLVM-22.1.4-woa64.exe). {{% notice Note %}} A warning message may appear in your browser due to the publisher being listed as `Unknown`. The warning is: diff --git a/content/install-guides/multipass.md b/content/install-guides/multipass.md index 31287fc451..46ca191408 100644 --- a/content/install-guides/multipass.md +++ b/content/install-guides/multipass.md @@ -33,80 +33,75 @@ multi_install: false # Set to true if first page of multi-page articl multitool_install_part: false # Set to true if a sub-page of a multi-page article, else false layout: installtoolsall # DO NOT MODIFY. Always true for tool install articles --- -{{% notice Note %}} -A computer running macOS with Apple Silicon or an Arm Linux computer with KVM enabled is required to complete the installation. -{{% /notice %}} - -[Multipass](https://multipass.run/) provides cloud style virtual machines (VMs). Multipass is popular among developers for efficient, local testing. When run on macOS with Apple Silicon or on Linux with a Raspberry Pi 5, Multipass provides a similar experience to cloud instances. A local, software compatible equivalent of an Arm cloud instance on your desk with good performance is an important option for developers. -Multipass provides a clear CLI to easily start virtual machine instances, do development tasks, and clean the VMs from your computer. +[Multipass](https://multipass.run/) provides cloud-style virtual machines (VMs) on a variety of platforms and host operating systems. Multipass is popular among developers for efficient local testing. When run on macOS with Apple Silicon or on Linux with a Raspberry Pi 5, Multipass provides a similar experience to cloud instances. A local, software-compatible equivalent of an Arm cloud instance with good performance is an important option for developers. -## What are the prerequisites for running Multipass? +Multipass provides a clear command line interface (CLI) to easily start virtual machine instances, do development tasks, and clean the VMs from your computer. -Multipass runs on a variety of platforms and host operating systems. The information below covers running Multipass on macOS with Apple Silicon and Arm Linux with the goal of creating a compatible Ubuntu Linux environment for developers working on cloud instances. +Multipass uses the terms virtual machine and instance synonymously. In this guide, you'll learn how to create a compatible Ubuntu Linux environment for working on cloud instances. -Multipass uses the terms virtual machine and instance synonymously. - -## How do I install Multipass on macOS? +{{% notice Note %}} +A computer running macOS with Apple Silicon or an Arm Linux computer with Kernel-based Virtual Machine (KVM) enabled is required to complete the installation. +{{% /notice %}} -### How do I download Multipass for macOS? {#download} +## Download Multipass for macOS {#download} -Download Multipass for macOS. +Download Multipass for macOS from GitHub: {{% notice Note %}} -The following commands use Multipass version 1.16.1. The same commands work with other versions. Replace the file used in these steps with the file for your version of choice. To find the latest version, see [Multipass releases](https://github.com/canonical/multipass/releases). +The following commands use Multipass version 1.16.2. The same commands work with other versions. Replace the file used in these steps with the file for your version of choice. To find the latest version, see [Multipass releases](https://github.com/canonical/multipass/releases). {{% /notice %}} ```console -wget https://github.com/canonical/multipass/releases/download/v1.16.1/multipass-1.16.1+mac-Darwin.pkg +wget https://github.com/canonical/multipass/releases/download/v1.16.2/multipass-1.16.2+mac-Darwin.pkg ``` -### How do I install Multipass on macOS? +## Install Multipass on macOS -Install the download using the package command. +Install the download using the package command: ```console -sudo installer -pkg multipass-1.16.1+mac-Darwin.pkg -target / +sudo installer -pkg multipass-1.16.2+mac-Darwin.pkg -target / ``` -The getting started instructions below use the command line interface. If you prefer to use the graphical interface start it from the macOS Launchpad, the initial screen is shown below. You can use the UI to create, start, and stop virtual machines. +The following getting started instructions use the command line interface. If you prefer to use the graphical interface, start it from the macOS Launchpad. The following image shows the initial screen. You can use the UI to create, start, and stop virtual machines. ![Connect #center](/install-guides/_images/multipass-gui.png) -Multipass is now installed. Proceed to [Get Started with Multipass](#getstarted). +Multipass is now installed. You can now [get Started with Multipass](#getstarted). -## How do I install Multipass on Arm Linux? +## Install Multipass on Arm Linux Multipass can be used on Arm Linux computers such as the Raspberry Pi 5. -Running Multipass on Linux requires the KVM hypervisor. KVM does not typically work on virtual machines, it requires bare metal. +Running Multipass on Linux requires the KVM hypervisor. KVM does not typically work on virtual machines. It requires bare metal. -The instructions have been tested on a Raspberry Pi 5 running Raspberry Pi OS and Ubuntu. +The following instructions have been tested on a Raspberry Pi 5 running Raspberry Pi OS and Ubuntu. -### How do I check if KVM is available? +### Check if KVM is available Install and run the `kvm-ok` command to confirm KVM is available. -Install `kvm-ok` on Debian based Linux distributions using: +Install `kvm-ok` on Debian-based Linux distributions: ```bash sudo apt install cpu-checker -y ``` -To check if KVM is available run: +To check if KVM is available, run: ```console sudo kvm-ok ``` -If KVM is available the output will be similar to: +If KVM is available, the output is similar to: ```output INFO: /dev/kvm exists KVM acceleration can be used ``` -If KVM is not available the output will be similar to: +If KVM is not available, the output is similar to: ```output INFO: /dev/kvm does not exist @@ -117,11 +112,11 @@ HINT: sudo /usr/sbin/kvm-ok If KVM is available, proceed with the install. -### How do I install the Snap daemon on Arm Linux? +### Install the Snap daemon on Arm Linux -You may need to install the Snap daemon, `snapd`, before installing Multipass. +You might need to install the Snap daemon, `snapd`, before installing Multipass. -If you are not sure if it is running, execute the command: +If you aren't sure if it is running, execute the command: ```console snap version @@ -129,7 +124,7 @@ snap version If the command is found and version information is printed, then `snapd` is running. -If you need to install `snapd` run: +If you need to install `snapd`, run: ```bash sudo apt install snapd -y @@ -137,42 +132,42 @@ sudo apt install snapd -y {{% notice Note %}} You can select from three Multipass releases: stable, beta, or edge. The default version is stable. -Add `--beta` or `--edge` to the install command below to select these more recent versions. +Add `--beta` or `--edge` to the following install command to select these more recent versions. {{% /notice %}} ```bash sudo snap install multipass ``` -## How do I get started with Multipass? {#getstarted} +## Get started with Multipass {#getstarted} -Multipass is now installed, you can try it out. +Multipass is now installed. You can try it out. -### How do I confirm Multipass is installed? +### Confirm Multipass is installed -To confirm multipass is installed run the `version` command. +To confirm multipass is installed, run: ```bash multipass version ``` -If the `multipass` command is not found, you can add `/snap/bin` to the Bash search path using: +If the `multipass` command is not found, add `/snap/bin` to the Bash search path: ```bash export PATH=$PATH:/snap/bin ``` -### How do I list available Ubuntu images? +### List available Ubuntu images -Multipass runs Ubuntu images. The last three LTS (long-term support) versions are available. A Docker environment with Portainer is also available as well as a few other images. +Multipass runs Ubuntu images. The last three long-term support (LTS) versions are available. A Docker environment with Portainer is also available, as well as a few other images. -To see the available images run the `find` command. Any of the listed images can be used to create a new instance. +To see the available images, run the `find` command. Any of the listed images can be used to create a new instance. ```bash multipass find ``` -The output from `find` will be similar to the below. +The output from `find` is similar to: ```output Image Aliases Version Description @@ -191,49 +186,47 @@ ros2-humble 0.1 A development and ros2-jazzy 0.1 A development and testing environment for ROS 2 Jazzy. ``` -### How do I launch a Multipass instance? +### Launch a Multipass instance The default values for launching instances allocate 1 CPU, create a small disk (5 Gb), and limited memory (1 Gb). By default, the name of the instance is automatically assigned. -Most developers are likely to want to modify the defaults. - -Use the command below to launch a virtual machine instance with non-default values. +Use the following command to launch a virtual machine instance with non-default values. ```console multipass launch lts --name m1u --cpus 4 --disk 16G --memory 4G ``` -Once launched, the command prompt returns and the instance is running in the background. +After the instance is launched, the command prompt returns and the instance is running in the background. -### How do I connect to a Multipass instance? +### Connect to a Multipass instance -Use the `list` command to identify created instances. Make note of the instance names as the name is used in other commands. +Use the `list` command to identify created instances. Note the instance names as the name is used in other commands. ```console multipass list ``` -To start a command line shell on a running instance use the `shell` command. +To start a command line shell on a running instance, use the `shell` command: ```console multipass shell m1u ``` -### How do I execute a command on a Multipass instance? +### Execute a command on a Multipass instance -To run a specific command from the host on the instance use the `exec` command. The command to be run comes after the ``--`` +To run a specific command from the host on the instance, use the `exec` command. The command to be run comes after the ``--``: ```console multipass exec m1u -- uname -a ``` -The `uname` output will look similar to: +The `uname` output is similar to: ```output Linux m1u 6.8.0-36-generic #36-Ubuntu SMP PREEMPT_DYNAMIC Mon Jun 10 13:20:23 UTC 2024 aarch64 aarch64 aarch64 GNU/Linux ``` -### How do I print instance information with Multipass? +### Print instance information The `info` command prints information about the instance, including the IP address. @@ -257,11 +250,11 @@ Memory usage: 355.3MiB out of 3.8GiB Mounts: -- ``` -### How do I mount a host directory into a Multipass instance? +### Mount a host directory into a Multipass instance -To access a large number of files on the host machine without copying or transferring them into the instance use the `mount` command. This command makes a host directory visible in the instance and all files can be accessed. Modifications made from inside the instance will directly change the files on the host. +To access a large number of files on the host machine without copying or transferring them into the instance, use the `mount` command. This command makes a host directory visible in the instance and all files can be accessed. Modifications made from inside the instance will directly change the files on the host. -For example, to mount a host directory called `dev` and have it appear in the instance use the `mount` command. +For example, to mount a host directory called `dev` and have it appear in the instance, use the `mount` command: ```console multipass mount dev m1u:/home/ubuntu/dev @@ -269,9 +262,9 @@ multipass mount dev m1u:/home/ubuntu/dev There are also options to adjust the user and group IDs as needed to avoid permission problems. -### How do I unmount a host directory from a Multipass instance? +### Unmount a host directory from a Multipass instance -Use the `umount` command to unmount the directory. +Use the `umount` command to unmount the directory: ```console multipass umount m1u:/home/ubuntu/dev @@ -279,39 +272,39 @@ multipass umount m1u:/home/ubuntu/dev Directories can be dynamically mounted and unmounted without stopping the instance. -### How do I stop and start a Multipass instance? +### Stop and start a Multipass instance Multipass instances can be stopped and started quickly. -To stop the instance. +Stop the instance: ```console multipass stop m1u ``` -Following the stop the state will change to Stopped on the list command. +After stopping the instance, the state will change to Stopped on the list command. -To start the instance. +Start the instance: ```console multipass start m1u ``` -### How do I clean up Multipass instances? - -Multipass instances are easy to delete. There is one extra level of protection to recover deleted instances before they are fully deleted. +### Clean up Multipass instances -Use the `delete` command to delete. +Use the `delete` command to delete the instance: ```console multipass delete m1u ``` -After delete, the state will change to Deleted, but it is still recoverable. +After deletion, the state will change to Deleted. There is one extra level of protection to recover deleted instances before they are fully deleted. + +Use the `recover` command to recover the deleted instance: ```console multipass recover m1u ``` -Use the `purge` command to permanently remove all deleted instances. +Use the `purge` command to permanently remove all deleted instances: ```console multipass purge @@ -319,3 +312,5 @@ multipass purge {{% notice Note %}} Purged instances are no longer recoverable. {{% /notice %}} + +You're now ready to use Multipass. \ No newline at end of file From c6289827fb2e9bea797b7e52ae589634a4c4d0b5 Mon Sep 17 00:00:00 2001 From: anupras-mohapatra-arm Date: Mon, 27 Apr 2026 16:33:53 -0500 Subject: [PATCH 29/48] minor update to heading size for instructions for install guides --- .github/copilot-instructions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index c6709dbc16..d7519da701 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -80,7 +80,7 @@ The `_index.md` file should contain the following front matter and content secti ### Install guide requirements -Install guides focus on installing and verifying one tool on Arm platforms. They do not teach workflows or applied usage. Use existing install guides as reference. +Install guides focus on installing and verifying one tool on Arm platforms. They do not teach workflows or applied usage. #### Front matter requirements From ad7be0f8cf7593ced4f7d935cc0d8f6a91abbbbe Mon Sep 17 00:00:00 2001 From: anupras-mohapatra-arm Date: Tue, 28 Apr 2026 10:43:00 -0500 Subject: [PATCH 30/48] oc install guide --- .github/copilot-instructions.md | 6 +-- content/install-guides/nomachine.md | 63 ++++++++++++++--------------- content/install-guides/oc.md | 34 ++++++++-------- 3 files changed, 49 insertions(+), 54 deletions(-) diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index d7519da701..bd92c4693d 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -103,7 +103,7 @@ Do not modify fixed template fields. If `multi_install` is set to true, the first page must act as an overview for the series. Sub-pages must set `multitool_install_part: true`. -### Required content structure +#### Required content structure Install guides should include: @@ -127,7 +127,7 @@ Install guides should include: Optional: - Uninstall instructions -### Scope boundaries +#### Scope boundaries Install guides must not include: - End-to-end workflows @@ -137,7 +137,7 @@ Install guides must not include: Learning Paths may link to install guides for setup steps. Install guides should not duplicate workflow content. -### Tool versions +#### Tool versions When providing commands for downloading or installing software, use a specific version in the example. This ensures that the instructions are accurate and verifiable. However, also include a note before the commandsthat tells readers the same commands work with other versions. Provide a link to where the latest version can be found. The note can be formatted as follows: diff --git a/content/install-guides/nomachine.md b/content/install-guides/nomachine.md index 24022e02e4..19c3e69818 100644 --- a/content/install-guides/nomachine.md +++ b/content/install-guides/nomachine.md @@ -19,19 +19,15 @@ tool_install: true weight: 1 --- -[NoMachine](https://www.nomachine.com/) can be used to connect to a remote Linux desktop, including Arm servers and cloud instances. +[NoMachine](https://www.nomachine.com/) is a client-server application that you can use to connect to a remote Linux desktop, including Arm servers and cloud instances. The NoMachine server runs on the remote machine. The client runs on the local machine and connects to the remote server. -During development it may be useful to quickly create a remote desktop on an Arm server. +During development, it might be useful to quickly create a remote desktop on an Arm server. -This section provides info about how to setup NoMachine on a remote Arm Linux machine running Ubuntu. +In this guide, you'll learn how to set up NoMachine on a remote Arm Linux machine running Ubuntu. -## What is NoMachine? +### Install the xfce4 desktop -NoMachine is a client server application. The NoMachine server runs on the remote machine. The client runs on the local machine and connects to the remote server. - -### How do I install the xfce4 desktop? - -To connect to a remote desktop, desktop software must be installed. There are many options for this, but using [xfce4](https://www.xfce.org/) makes for a minimal install with good performance. +To connect to a remote desktop, you need to install desktop software. You can use [xfce4](https://www.xfce.org/) for a minimal install with good performance. Install the desktop software. @@ -43,11 +39,9 @@ sudo apt update; sudo apt upgrade -y sudo apt-get install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils xfce4-terminal -y ``` -### How do I install NoMachine on a remote server? +### Install NoMachine on a remote server -Create two files on the server in the home directory `$HOME`. The contents of the files is below. - -Use a text editor to copy and paste this script into a file on the remote machine at `$HOME/nx-key.sh` +Create two files on the server in the home directory `$HOME`. Use a text editor to copy and paste this script into a file on the remote machine at `$HOME/nx-key.sh`. The contents of the files are as follows: ```file { file_name="nx-key.sh" } #!/bin/bash @@ -60,10 +54,10 @@ else fi ``` -Use a text editor to copy and paste this script into a file on the remote machine at `$HOME/install-nomachine.sh` +Use a text editor to copy and paste this script into a file on the remote machine at `$HOME/install-nomachine.sh`: {{% notice Note %}} -The following commands use NoMachine version 9.0.188. The same commands work with other versions. Replace the file used in these steps with the file for your version of choice. To find the latest version, see [NoMachine downloads](https://downloads.nomachine.com/). +The following commands use NoMachine version 9.0.188. The same commands work with other versions. Replace the file used in these steps with the file for your version of choice. To download the latest version, see [NoMachine downloads](https://downloads.nomachine.com/). {{% /notice %}} ```file { file_name="install-nomachine.sh" } @@ -83,27 +77,27 @@ sudo systemctl set-default multi-user exit 0 ``` -Give both scripts executable permission. +Give both scripts executable permission: ```bash chmod +x nx-key.sh install-nomachine.sh ``` -On the remote machine, run the install script. +On the remote machine, run the install script: ```bash { ret_code="0" } ./install-nomachine.sh ``` -### How do I set a user password for a NoMachine connection? +### Set a user password for a NoMachine connection For NoMachine to work, it's best to have a user account on the remote machine with a password. Many cloud instances have accounts without passwords and use only ssh keys to connect. -If the user account already has a password, this step can be skipped. +If the user account already has a password, you can skip this step. -To enable passwords edit the file `/etc/sshd_config` and set `PasswordAuthentication to yes`. +To enable passwords, edit the file `/etc/sshd_config` and set `PasswordAuthentication to yes`. -To enable it in a script or from the command line use: +To enable it in a script or from the command line, run: ```console sudo sed -i '/PasswordAuthentication no/c\PasswordAuthentication yes' /etc/ssh/sshd_config @@ -115,7 +109,7 @@ Restart the SSH daemon: sudo systemctl restart ssh ``` -Set a password for the user account. The example shows ubuntu, but change the username as needed. +Set a password for the user account. The example shows ubuntu. Change the username as needed. ```console sudo passwd ubuntu @@ -126,30 +120,33 @@ Enter a new password. Remember the password for later when the client is connected. -### How do I open the NoMachine port? +### Open the NoMachine port The default port for NoMachine is `4000`. If needed, open this port in the security group. Make sure to open ports only from your IP address, not from anywhere. -### How do I install the NoMachine client? +### Install the NoMachine client [Download](https://downloads.nomachine.com/) and install NoMachine on the client you want to connect from. There are options for most operating systems including Android and iOS. -Start NoMachine on the client computer. The first step is to connect. Enter a name for the connection and the (public) IP of the remote machine. The default port is `4000`. +Start NoMachine on the client computer by following these steps: -![Connect #center](/install-guides/_images/nx-connect.png) +1. Enter a name for the connection and the (public) IP of the remote machine. The default port is `4000`. -The next screen is the login screen. Enter the username and password for the account on the remote machine. +![NoMachine client connection screen showing the Host field and NX port 4000. Use this screen to create a connection profile for your Arm server.#center](/install-guides/_images/nx-connect.png "NoMachine connection profile") -![Login #center](/install-guides/_images/nx-login.png) +2. The next screen is the login screen. Enter the username and password for the account on the remote machine. -A question about creating a new display may be presented, answer Yes. +![NoMachine login screen with username and password fields. Enter the Linux account credentials from your Arm server to start the session.#center](/install-guides/_images/nx-login.png "NoMachine login") -![Confirm #center](/install-guides/_images/nx-confirm.png) +3. If a question about creating a new display is presented, answer Yes. -NoMachine will resize the remote desktop to fit in the client window. The best option is to change the remote display resolution to match the client window size. +![NoMachine prompt asking whether to create a new display. Select Yes to start the remote desktop session.#center](/install-guides/_images/nx-confirm.png "Create a new display") +4. NoMachine will resize the remote desktop to fit in the client window. Change the remote display resolution to match the client window size. -![Resize #center](/install-guides/_images/nx-resize.png) +![NoMachine display settings screen showing resolution options. Choose a resolution that matches your client window for clear desktop rendering.#center](/install-guides/_images/nx-resize.png "Set display resolution") -Finally, the desktop will appear and is ready to use. +5. Finally, the desktop will appear and is ready to use. ![Linux desktop #center](/install-guides/_images/nx-desktop.png) + +You're now ready to use NoMachine. \ No newline at end of file diff --git a/content/install-guides/oc.md b/content/install-guides/oc.md index 7a1c2fe4a5..a785b55d7f 100644 --- a/content/install-guides/oc.md +++ b/content/install-guides/oc.md @@ -20,15 +20,13 @@ test_maintenance: false tool_install: true weight: 1 --- -The OpenShift command-line interface (CLI), `oc`, allows you to work with OpenShift Container Platform projects from a terminal. You can use `oc` to create applications, manage OpenShift Container Platform projects, and perform administrative tasks. +You can use the OpenShift command-line interface (CLI) to work with OpenShift Container Platform projects from a terminal. You can use OpenShift CLI (oc) to create applications, manage OpenShift Container Platform projects, and perform administrative tasks. The OpenShift CLI is a superset of the Kubernetes `kubectl` command. When you install `oc`, you get both the OpenShift-specific functionality and all standard Kubernetes `kubectl` commands in a single tool. This means you can use `oc` to manage both OpenShift and standard Kubernetes resources. -The OpenShift CLI is available for macOS and Linux and supports the Arm architecture. +The OpenShift CLI is available for macOS and Linux and supports the Arm architecture. In this guide, you'll learn how to install the latest version of OpenShift CLI for Ubuntu on Arm and macOS with Apple Silicon. -## What should I consider before installing the OpenShift CLI? - -This article provides a quick solution to install the latest version of the OpenShift CLI for Ubuntu on Arm and macOS with Apple Silicon. +## Before you begin Confirm that you are using an Arm-based computer by running: @@ -36,21 +34,21 @@ Confirm that you are using an Arm-based computer by running: uname -m ``` -If you are on Arm Linux the output should be: +If you are on Arm Linux, the output should be: ```output aarch64 ``` -If you are on macOS with Apple Silicon the output should be: +If you are on macOS with Apple Silicon, the output should be: ```output arm64 ``` -## How do I download and install the OpenShift CLI? +## Download and install the OpenShift CLI -There are multiple ways to install the OpenShift CLI. The methods below download the latest stable version directly from the OpenShift mirror. +There are multiple ways to install the OpenShift CLI. The following methods download the latest stable version directly from the OpenShift mirror. ### Install on Arm Linux @@ -74,14 +72,14 @@ sudo mv oc kubectl /usr/local/bin/ rm openshift-client-mac-arm64.tar.gz README.md ``` -Both installations include both `oc` and `kubectl` commands. The `oc` command provides the full OpenShift functionality, while the `kubectl` command gives you compatibility with standard Kubernetes clusters. Since `oc` is a superset of `kubectl`, you can use `oc` for all Kubernetes operations, but having both commands available gives you flexibility in your workflow. +Both installations include both `oc` and `kubectl` commands. The `oc` command provides the full OpenShift functionality, while the `kubectl` command gives you compatibility with standard Kubernetes clusters. Because `oc` is a superset of `kubectl`, you can use `oc` for all Kubernetes operations, but having both commands available gives you flexibility in your workflow. {{% notice Tip %}} You can use either `oc` or `kubectl` to manage standard Kubernetes resources. However, `oc` includes OpenShift-specific features and is preferred for working with OpenShift clusters. {{% /notice %}} -## Understanding oc and kubectl +## Understand oc and kubectl The OpenShift CLI (`oc`) is built as a superset of the Kubernetes CLI (`kubectl`). @@ -90,7 +88,7 @@ This means: - You can use `oc` anywhere you would use `kubectl` - OpenShift-specific features such as `oc login`, `oc new-project`, `oc new-app`, are available to manage OpenShift resources -## How do I verify the OpenShift CLI installation? +## Verify the OpenShift CLI installation Verify the OpenShift CLI is installed by checking the version: @@ -98,20 +96,20 @@ Verify the OpenShift CLI is installed by checking the version: oc version --client ``` -The output shows the client version information: +The output shows the client version information and is similar to: ```output Client Version: 4.19.3 Kustomize Version: v5.5.0 ``` -You can also verify that `kubectl` is available and shows the same version (since it's the same binary): +You can also verify that `kubectl` is available and shows the same version (because it's the same binary): ```bash { target="ubuntu:latest" } kubectl version --client ``` -The output shows the kubectl client version: +The output shows the kubectl client version and is similar to: ```output Client Version: v1.32.1 @@ -120,7 +118,7 @@ Kustomize Version: v5.5.0 Both commands are now available for managing Kubernetes and OpenShift resources. -## How do I get started with the OpenShift CLI? +## Get started with the OpenShift CLI To get help with available commands, run: @@ -222,12 +220,12 @@ Use "oc --help" for more information about a given command. Use "oc options" for a list of global command-line options (applies to all commands). ``` -To connect to an OpenShift cluster, you need to log in using: +To connect to an OpenShift cluster, you need to log in: ```console oc login ``` -Replace `` with your OpenShift cluster's URL. You will be prompted for your username and password. +Replace `` with the URL of your OpenShift cluster. You'll be prompted for your username and password. You are now ready to use the OpenShift CLI to manage your OpenShift Container Platform projects and applications. From 79f461521396eef6347c2cd008f9f860c1758649 Mon Sep 17 00:00:00 2001 From: anupras-mohapatra-arm Date: Tue, 28 Apr 2026 10:55:00 -0500 Subject: [PATCH 31/48] openvscode install guide --- content/install-guides/oc.md | 11 +--- content/install-guides/openvscode-server.md | 56 ++++++++++----------- 2 files changed, 29 insertions(+), 38 deletions(-) diff --git a/content/install-guides/oc.md b/content/install-guides/oc.md index a785b55d7f..ffb324ac1f 100644 --- a/content/install-guides/oc.md +++ b/content/install-guides/oc.md @@ -22,7 +22,7 @@ weight: 1 --- You can use the OpenShift command-line interface (CLI) to work with OpenShift Container Platform projects from a terminal. You can use OpenShift CLI (oc) to create applications, manage OpenShift Container Platform projects, and perform administrative tasks. -The OpenShift CLI is a superset of the Kubernetes `kubectl` command. When you install `oc`, you get both the OpenShift-specific functionality and all standard Kubernetes `kubectl` commands in a single tool. This means you can use `oc` to manage both OpenShift and standard Kubernetes resources. +The OpenShift CLI is a superset of the Kubernetes `kubectl` command. When you install `oc`, you get OpenShift-specific functionality such as `oc login`, `oc new-project`, and `oc new-app` to manage OpenShift resources. You also get all standard Kubernetes `kubectl` commands in a single tool. This means you can use `oc` to manage both OpenShift and standard Kubernetes resources. The OpenShift CLI is available for macOS and Linux and supports the Arm architecture. In this guide, you'll learn how to install the latest version of OpenShift CLI for Ubuntu on Arm and macOS with Apple Silicon. @@ -79,15 +79,6 @@ You can use either `oc` or `kubectl` to manage standard Kubernetes resources. Ho {{% /notice %}} -## Understand oc and kubectl - -The OpenShift CLI (`oc`) is built as a superset of the Kubernetes CLI (`kubectl`). - -This means: - -- You can use `oc` anywhere you would use `kubectl` -- OpenShift-specific features such as `oc login`, `oc new-project`, `oc new-app`, are available to manage OpenShift resources - ## Verify the OpenShift CLI installation Verify the OpenShift CLI is installed by checking the version: diff --git a/content/install-guides/openvscode-server.md b/content/install-guides/openvscode-server.md index 61206fbdb4..aff8e24fcd 100644 --- a/content/install-guides/openvscode-server.md +++ b/content/install-guides/openvscode-server.md @@ -26,13 +26,13 @@ multitool_install_part: false # Set to true if a sub-page of a multi-page arti layout: installtoolsall # DO NOT MODIFY. Always true for tool install articles --- -OpenVSCode Server is a version of VS Code which runs on any computer and can be accessed using a browser. The project was initiated by Gitpod and is available on [GitHub](https://github.com/gitpod-io/openvscode-server/) +OpenVSCode Server is a version of VS Code which runs on any computer and can be accessed using a browser. The project was initiated by Gitpod and is available on [GitHub](https://github.com/gitpod-io/openvscode-server/). -OpenVSCode Server supports the Arm architecture and is useful for developing on a remote Arm machine. It can be used on cloud instances, without requiring a Linux desktop to be installed. It's also useful when developing on a local Arm machine with a Linux subsystem, such as Windows Subsystem for Linux (WSL), ChromeOS with Linux enabled, or Multipass. +OpenVSCode Server supports the Arm architecture and is useful for developing on a remote Arm machine. You can use it on cloud instances without needing to install a Linux desktop. It's also useful when developing on a local Arm machine with a Linux subsystem, such as Windows Subsystem for Linux (WSL), ChromeOS with Linux enabled, or Multipass. -## What do I need before installing OpenVSCode Server? +In this guide, you'll learn how to install OpenVSCode Server natively on an Arm Linux machine. -Follow the instructions below to install OpenVSCode Server natively on an Arm Linux machine. +## Before you begin Confirm you are using an Arm machine by running: ```bash @@ -46,44 +46,44 @@ aarch64 If you see a different result, you are not using an Arm computer running 64-bit Linux. -## How do I download OpenVSCode Server? +## Download OpenVSCode Server -Download a release of OpenVSCode Server from the [GitHub release area](https://github.com/gitpod-io/openvscode-server/releases). The releases are in sync with VS Code and change frequently. Make sure to download the `arm64` version. +Download a release of OpenVSCode Server from [GitHub](https://github.com/gitpod-io/openvscode-server/releases). The releases are in sync with VS Code and change frequently. Make sure to download the `arm64` version. For example, use `wget` to download. {{% notice Note %}} -The following commands use OpenVSCode Server version 1.101.2. The same command works with other versions. Replace the file used in these steps with the file for your version of choice. To find the latest version, see [OpenVSCode Server releases](https://github.com/gitpod-io/openvscode-server/releases). +The following commands use OpenVSCode Server version 1.109.5. The same command works with other versions. Replace the file used in these steps with the file for your version of choice. To find the latest version, see [OpenVSCode Server releases](https://github.com/gitpod-io/openvscode-server/releases). {{% /notice %}} ```bash -wget https://github.com/gitpod-io/openvscode-server/releases/download/openvscode-server-v1.101.2/openvscode-server-v1.101.2-linux-arm64.tar.gz +wget https://github.com/gitpod-io/openvscode-server/releases/download/openvscode-server-v1.109.5/openvscode-server-v1.109.5-linux-arm64.tar.gz ``` -## How do I install OpenVSCode Server? +## Install OpenVSCode Server Install the download by extracting the file ```bash -tar xvfz openvscode-server-v1.101.2-linux-arm64.tar.gz +tar xvfz openvscode-server-v1.109.5-linux-arm64.tar.gz ``` -## How do I start OpenVSCode Server? +## Start OpenVSCode Server To start OpenVSCode Server run: ```bash -./openvscode-server-v1.101.2-linux-arm64/bin/openvscode-server +./openvscode-server-v1.109.5-linux-arm64/bin/openvscode-server ``` -The server will print a URL to access VS Code in a browser. The URL is localhost URL. If your machine is a remote system or a Linux subsystem there are two options to connect using your local browser. +The server will print a URL to access VS Code in a browser. The URL is a localhost URL. If your machine is a remote system or a Linux subsystem, there are two options to connect using your local browser. - Use SSH to forward port 3000 and connect using localhost - Open port 3000 on the remote machine and use the public IP address instead of localhost -### How do I connect using SSH port forwarding? +### Connect using SSH port forwarding -Refer to [SSH](/install-guides/ssh/) for more info about SSH. +For more information about SSH, see [SSH](/install-guides/ssh/). Use the `-L` option of `ssh` to forward port 3000. @@ -91,36 +91,36 @@ Use the `-L` option of `ssh` to forward port 3000. ssh -L 3000:localhost:3000 user@ip-address ``` -After connecting with port forwarding, use the localhost link printed by `openvscode-server`. It includes a token for security and will be similar to: +After connecting with port forwarding, use the localhost link printed by `openvscode-server`. It includes a token for security and is similar to: ```output http://localhost:3000/?tkn=40711257-5e5d-4906-b88f-fe13b1f317b7 ``` -Open the link in your local browser and VS Code will appear. +Open the link in your local browser. VS Code will appear. -### How do I connect by opening a port on the remote machine? +### Connect by opening a port on the remote machine -The second option is to open port `3000` for access. On a cloud instance this involves changing the security group to open TCP port 3000. For best security, Make sure to open the port for your IP address only, not from all IP addresses. +The second option is to open port `3000` for access. On a cloud instance, this involves changing the security group to open TCP port 3000. For best security, make sure to open the port for your IP address only, not from all IP addresses. -Each cloud provider will have instructions on how to work with security group. Refer to the [AWS documentation](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/working-with-security-groups.html#adding-security-group-rule) as an example. +Each cloud provider will have instructions on how to work with security group. For an example. see the [AWS documentation](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/working-with-security-groups.html#adding-security-group-rule). With the port open, substitute the public IP address of the instance instead of localhost. -On ChromeOS you can use the Linux configuration settings to automatically do port forwarding. No SSH connection is needed. +On ChromeOS, you can use the Linux configuration settings to automatically do port forwarding. You don't need an SSH connection. -![port forwarding #center](/install-guides/_images/chromeospf.png) +![Screenshot of the ChromeOS Linux port forwarding settings showing port 3000 forwarded to the Linux environment so you can open OpenVSCode Server from your local browser.#center](/install-guides/_images/chromeospf.png) -## What other configuration options are available? +## Other available configuration options -There are command line options to change the port, the token, and other configuration options. To see the options run: +There are command line options to change the port, the token, and other configuration options. To see the options, run: ```bash -./openvscode-server-v1.101.2-linux-arm64/bin/openvscode-server --help +./openvscode-server-v1.109.5-linux-arm64/bin/openvscode-server --help ``` -If you are running all on a local machine the token can be eliminated using the `--without-connection-token` option. +If you are running entirely on a local machine, you can eliminate the token using the `--without-connection-token` option. -It's also possible to run an existing docker image which uses Ubuntu Linux for Arm and mounts your host directory to access files on your computer. Refer to the [GitHub README](https://github.com/gitpod-io/openvscode-server#readme) for more information. +It's also possible to run an existing Docker image which uses Ubuntu Linux for Arm and mounts your host directory to access files on your computer. For more information, see the [GitHub README](https://github.com/gitpod-io/openvscode-server#readme). -Install your favorite Extensions, select your favorite Color Theme, and enjoy VS Code in the browser. +You're now ready to use OpenVSCode. You can install your favorite Extensions, select your favorite Color Theme, and enjoy VS Code in the browser. From a39af2de942c476ee91640789432364d4e8e974e Mon Sep 17 00:00:00 2001 From: anupras-mohapatra-arm Date: Tue, 28 Apr 2026 11:05:28 -0500 Subject: [PATCH 32/48] porting advisor --- content/install-guides/openvscode-server.md | 2 +- content/install-guides/porting-advisor.md | 20 +++++++++----------- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/content/install-guides/openvscode-server.md b/content/install-guides/openvscode-server.md index aff8e24fcd..efa44fba6b 100644 --- a/content/install-guides/openvscode-server.md +++ b/content/install-guides/openvscode-server.md @@ -121,6 +121,6 @@ There are command line options to change the port, the token, and other configur If you are running entirely on a local machine, you can eliminate the token using the `--without-connection-token` option. -It's also possible to run an existing Docker image which uses Ubuntu Linux for Arm and mounts your host directory to access files on your computer. For more information, see the [GitHub README](https://github.com/gitpod-io/openvscode-server#readme). +You can also run an existing Docker image which uses Ubuntu Linux for Arm and mounts your host directory to access files on your computer. For more information, see the [GitHub README](https://github.com/gitpod-io/openvscode-server#readme). You're now ready to use OpenVSCode. You can install your favorite Extensions, select your favorite Color Theme, and enjoy VS Code in the browser. diff --git a/content/install-guides/porting-advisor.md b/content/install-guides/porting-advisor.md index fcb02408b9..1314e21f34 100644 --- a/content/install-guides/porting-advisor.md +++ b/content/install-guides/porting-advisor.md @@ -39,11 +39,9 @@ Supported operating systems include Linux, Windows, and macOS. Porting Advisor analyzes C/C++, Python, Java, Fortran, and Go applications. -## What prerequisites do I need before using Porting Advisor? +In this guide, you'll learn how to install and use Porting Advisor on Ubuntu or [Amazon Linux 2023](https://aws.amazon.com/linux/amazon-linux-2023/). -Follow the instructions below to install and use Porting Advisor on Ubuntu or [Amazon Linux 2023](https://aws.amazon.com/linux/amazon-linux-2023/). - -When the instructions are different, operating system specific tabs are provided. +## Before you begin Confirm you are using an Arm machine by running: @@ -96,7 +94,7 @@ sudo dnf install maven -y {{< /tab >}} {{< /tabpane >}} -## How do I install Porting Advisor? +## Install Porting Advisor Download Porting Advisor from GitHub: @@ -105,11 +103,11 @@ git clone https://github.com/aws/porting-advisor-for-graviton.git cd porting-advisor-for-graviton ``` -Porting Advisor can be run as a Python script or as an executable. If you want to run the executable, you should still complete the run as a script section to confirm your environment is setup correctly. +You can run Porting Advisor as a Python script or as an executable. If you want to run the executable, you should still complete the steps for running as a script to confirm your environment is set up correctly. -### How do I run Porting Advisor as a Python script? +### Run Porting Advisor as a Python script -To setup to run as a python script, create a Python virtual environment: +To set up to run as a python script, create a Python virtual environment: {{< tabpane code=true >}} {{< tab header="Ubuntu" language="bash">}} @@ -144,7 +142,7 @@ usage: porting-advisor [-h] [--issue-types ISSUE_TYPES] [--no-filter] [--no-prog ``` -### How do I run Porting Advisor as an executable? +### Run Porting Advisor as an executable Running Porting Advisor as an executable requires a build step. @@ -176,7 +174,7 @@ The output will be the same help message printed by the Python invocation. You can copy the executable from the `dist` folder to any another machine (with the same operating system and architecture) and use Porting Advisor immediately. There is no need to install anything related to Python. -### How do I test Porting Advisor with a sample project? +### Test Porting Advisor with a sample project The Porting Advisor includes some small examples in the `sample-projects` directory of the GitHub repository. @@ -201,5 +199,5 @@ Report generated successfully. Hint: you can use --output FILENAME.html to gener Try out the other sample projects. -You are ready to use Porting Advisor for Graviton on your own projects. +You are now ready to use Porting Advisor for Graviton on your own projects. From 4db5ed5dc3e3c5013a9a1c3a8126def4914488ee Mon Sep 17 00:00:00 2001 From: anupras-mohapatra-arm Date: Tue, 28 Apr 2026 11:13:38 -0500 Subject: [PATCH 33/48] powershell install guide --- content/install-guides/powershell.md | 29 +++++++++++++--------------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/content/install-guides/powershell.md b/content/install-guides/powershell.md index 873ec256ff..fc92c690b3 100644 --- a/content/install-guides/powershell.md +++ b/content/install-guides/powershell.md @@ -19,13 +19,11 @@ multitool_install_part: false # Set to true if a sub-page of a multi-page arti layout: installtoolsall # DO NOT MODIFY. Always true for tool install articles --- -PowerShell is a cross-platform task automation solution made up of a command-line shell, a scripting language, and a configuration management framework. It runs on a variety of operating systems, including Windows, Linux, and macOS. +PowerShell is a cross-platform task automation solution made up of a command-line shell, a scripting language, and a configuration management framework. It runs on a variety of operating systems, including Windows, Linux, and macOS. -## What do I need before installing PowerShell? +There are multiple ways to install PowerShell. In this guide, you'll learn how to install PowerShell on an Arm Linux computer. -PowerShell is available for a variety of operating systems and Linux distributions and there are multiple ways to install it. - -This guide provides a quick solution to install PowerShell on an Arm Linux computer. +## Before you begin Confirm you are using an Arm machine by running: @@ -41,7 +39,7 @@ aarch64 If you see a different result, you are not using an Arm computer running 64-bit Linux. -## How do I install PowerShell on Arm Linux? +## Install PowerShell on Arm Linux {{% notice Note %}} The PowerShell installation documentation for Linux package managers does not work for the Arm architecture because there is no Arm support in the repositories. This may change for future versions of PowerShell. @@ -50,14 +48,14 @@ The PowerShell installation documentation for Linux package managers does not wo You can download a release file for the Arm architecture from GitHub and install it using the steps below: {{% notice Note %}} -The following commands use PowerShell version 7.5.2. The same commands work with other versions. Replace the file used in these steps with the file for your version of choice. To find the latest version, see [PowerShell releases](https://github.com/PowerShell/PowerShell/releases). +The following commands use PowerShell version 7.6.1. The same commands work with other versions. Replace the file used in these steps with the file for your version of choice. To find the latest version, see [PowerShell releases](https://github.com/PowerShell/PowerShell/releases). {{% /notice %}} 1. Copy and paste the commands below to your Linux shell prompt: ```bash { target="ubuntu:latest" } # Download the powershell '.tar.gz' archive -curl -L -o /tmp/powershell.tar.gz https://github.com/PowerShell/PowerShell/releases/download/v7.5.2/powershell-7.5.2-linux-arm64.tar.gz +curl -L -o /tmp/powershell.tar.gz https://github.com/PowerShell/PowerShell/releases/download/v7.6.1/powershell-7.6.1-linux-arm64.tar.gz # Create the target folder where powershell will be placed sudo mkdir -p /opt/microsoft/powershell/7 @@ -84,30 +82,29 @@ The path is printed: /usr/bin/pwsh ``` -3. To verify the installed version run: +3. Verify the installed version: ```bash { target="ubuntu:latest" } pwsh --version ``` -The version is printed: +The output is similar to: ```output -PowerShell 7.5.2 +PowerShell 7.6.1 ``` -You are now ready to use PowerShell on your Arm Linux computer. - -## How do I get started with PowerShell? +## Verify PowerShell installation -To print a hello world message using `pwsh` run the following commands: +To verify your installation of PowerShell, print a hello world message using `pwsh`: ```bash { target="ubuntu:latest" } pwsh -c Write-Host Hello Arm Linux world! ``` -The hello message is printed: +The output is similar to: ```output Hello Arm Linux world! ``` +You are now ready to use PowerShell on your Arm Linux computer. \ No newline at end of file From 99041085d12be2b07e3026e8518ea35f3f9c8fa2 Mon Sep 17 00:00:00 2001 From: anupras-mohapatra-arm Date: Tue, 28 Apr 2026 11:21:18 -0500 Subject: [PATCH 34/48] pulumi --- content/install-guides/pulumi.md | 48 +++++++++++++------------------- 1 file changed, 20 insertions(+), 28 deletions(-) diff --git a/content/install-guides/pulumi.md b/content/install-guides/pulumi.md index cc084fbe4b..642d24d11b 100644 --- a/content/install-guides/pulumi.md +++ b/content/install-guides/pulumi.md @@ -16,15 +16,11 @@ multitool_install_part: false # Set to true if a sub-page of a multi-page arti layout: installtoolsall # DO NOT MODIFY. Always true for tool install articles --- -[Pulumi](https://www.pulumi.com/) is a multi-language infrastructure as code tool. Pulumi is [open source](https://github.com/pulumi/pulumi) and makes it easy to deploy cloud infrastructure. +[Pulumi](https://www.pulumi.com/) is a multi-language infrastructure as code (IaC) tool. Pulumi is [open source](https://github.com/pulumi/pulumi) and makes it easy to deploy cloud infrastructure. -## What do I need before installing Pulumi? +Pulumi is available for a variety of operating systems and Linux distributions. In this guide, you'll learn how to install Pulumi on Linux. -Pulumi is available for a variety of operating systems and Linux distributions and has multiple ways to install it. - -This article provides a quick solution to install Pulumi on Linux. - -## How do I install Pulumi? {#install} +## Install Pulumi {#install} Run the following command to download and install Pulumi on Linux: @@ -32,11 +28,11 @@ Run the following command to download and install Pulumi on Linux: curl -fsSL https://get.pulumi.com | sh ``` -The installer output will be similar to: +The installer output is similar to: ```output -=== Installing Pulumi v3.77.1 === -+ Downloading https://github.com/pulumi/pulumi/releases/download/v3.77.1/pulumi-v3.77.1-linux-arm64.tar.gz... +=== Installing Pulumi v3.232.0 === ++ Downloading https://github.com/pulumi/pulumi/releases/download/v3.232.0/pulumi-v3.232.0-linux-arm64.tar.gz... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 @@ -72,26 +68,22 @@ pulumi version ``` ```output -v3.135.1 +v3.232.0 ``` -You are ready to use Pulumi on your Linux machine. - -## How do I get started with Pulumi? {#start} +## Verify Pulumi installation with an example {#start} -Pulumi keeps your projects and state information in Pulumi Cloud, making it easy to access them from anywhere. If you want to use Pulumi Cloud visit [app.pulumi.com](https://app.pulumi.com/) and sign up. +Pulumi keeps your projects and state information in Pulumi Cloud, making it easy to access them from anywhere. If you want to use Pulumi Cloud, see [app.pulumi.com](https://app.pulumi.com/). -It's not necessary to use Pulumi Cloud to get started, you can store project information on your local computer. +It's not necessary to use Pulumi Cloud to get started. You can store project information on your local computer. -Below is a simple example to try out Pulumi. +The following is an example to try out Pulumi. The example uses Docker to pull a container image from Docker Hub to your local machine using Python. -The example demonstrates using Docker to pull a container image from Docker Hub to your local machine using Python. - -To run the example, you need to install Docker. Refer to the [Docker install guide](/install-guides/docker/) for instructions. +To run the example, you need to install Docker. For instructions, see the [Docker install guide](/install-guides/docker/). You also need Python. Make sure you have `python` and `pip` installed. -For `Ubuntu 22.04` on Arm you can run the commands below to install: +For `Ubuntu 22.04` on Arm, you can run the following commands to install: ```bash sudo apt install python-is-python3 -y @@ -110,7 +102,7 @@ Log in to your local machine, a shortcut to use `~/.pulumi` to store project dat pulumi login --local ``` -For the example you need to create 3 files: +For the example, you need to create 3 files: - Python required package list in `requirements.txt` - Pulumi project information in `Pulumi.yaml` - Python code in `__main__.py` @@ -157,15 +149,15 @@ pulumi up There are 4 prompts to respond to: -1. Confirm you want to create a new stack. (just hit return) +1. Confirm you want to create a new stack. Press return 2. Enter a name for the stack. -3. When prompted, enter a passphrase for the stack (twice). +3. When prompted, enter a passphrase for the stack twice. 4. Answer `yes` to the final question to create the stack. -An example output for `pulumi up` is shown below: +The output of `pulumi up` is similar to: ```output Please choose a stack, or create a new one: [Use arrows to move, type to filterPlease choose a stack, or create a new one: @@ -202,17 +194,17 @@ Duration: 1s ``` -After the Python script runs you have the container on your machine. Confirm this using the `docker images` command: +After the Python script runs, you have the container on your machine. Confirm this using the `docker images` command: ```console docker images ``` -The output will be similar to: +The output is similar to: ```output REPOSITORY TAG IMAGE ID CREATED SIZE alpine latest f6648c04cd6c 2 days ago 7.66MB ``` - +You are now ready to use Pulumi on your Linux machine. From 5337a92838165281a237f19d5963ac8c1e4f24b2 Mon Sep 17 00:00:00 2001 From: anupras-mohapatra-arm Date: Tue, 28 Apr 2026 11:41:31 -0500 Subject: [PATCH 35/48] python on Windows --- content/install-guides/py-woa.md | 40 ++++++++++++++++---------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/content/install-guides/py-woa.md b/content/install-guides/py-woa.md index 85b0d638c0..a129ec24c4 100644 --- a/content/install-guides/py-woa.md +++ b/content/install-guides/py-woa.md @@ -30,11 +30,11 @@ layout: installtoolsall # DO NOT MODIFY. Always true for tool install ar Python has native support for [Windows on Arm](https://learn.microsoft.com/en-us/windows/arm/overview). Starting with version 3.11, an official installer is available. The latest version is 3.13.0. -A number of developer-ready Windows on Arm [devices](/learning-paths/laptops-and-desktops/intro/find-hardware/) are available. +You can find a number of developer-ready Windows on Arm [devices](/learning-paths/laptops-and-desktops/intro/find-hardware/). -Windows on Arm instances are available with Microsoft Azure. For further information, see [Deploy a Windows on Arm virtual machine on Microsoft Azure](/learning-paths/cross-platform/woa_azure/). +Windows on Arm instances are available with Microsoft Azure. For more information, see [Deploy a Windows on Arm virtual machine on Microsoft Azure](/learning-paths/cross-platform/woa_azure/). -## How do I download and install Python for Windows on Arm? +## Download and install Python for Windows on Arm To download and install Python for Windows on Arm, there is more than one option: @@ -45,19 +45,19 @@ To download and install Python for Windows on Arm, there is more than one option curl https://www.python.org/ftp/python/3.13.0/python-3.13.0-arm64.exe --output python-3.13.0-arm64.exe ``` -Once you have downloaded Python, run the installer `exe` file on a Windows on Arm machine. +After you have downloaded Python, run the installer `exe` file on a Windows on Arm machine. The installer will start. -Tick the checkbox **Add python.exe to PATH** to enable you to easily invoke Python from any directory. +Tick the checkbox **Add python.exe to PATH** to allow you to easily invoke Python from any directory. -![Install #center](/install-guides/_images/py1-woa.png) +![Screenshot of the Python ARM64 installer on Windows on Arm with the Add python.exe to PATH checkbox selected so Python can run from any terminal directory.#center](/install-guides/_images/py1-woa.png) -**Setup was successful** is displayed when complete. +When the installation completes, you'll see a window with the message **Setup was successful**. -![Complete #center](/install-guides/_images/py2-woa.png) +![Screenshot of the Python installer completion screen showing Setup was successful, confirming the ARM64 installation finished correctly.#center](/install-guides/_images/py2-woa.png) -## How do I start Python on Windows? +## Start Python on Windows To start Python on Windows, at a Windows Command prompt or a PowerShell prompt, use `python` or `py` to start the interpreter: @@ -79,9 +79,9 @@ Enter `exit()` to leave the interpreter: exit() ``` -## How can I run a Python example? +## Verify installation by running a Python example -To run a Python example, and confirm that Python is working, use a text editor to save the code below to a file named `uname.py`. +To confirm that Python is working, you can run a Python example. Use a text editor to save the following code to a file named `uname.py`: ```python import platform @@ -95,14 +95,14 @@ Run the code: py uname.py ``` -Running on a Windows on Arm machine produces an output similar to: +The output is similar to: ```output Python version 3.13.0 Machine is Windows 11 ARM64 ``` -## How do I install Python packages? +## Install Python packages To install Python packages, you can use Python `pip`. @@ -111,7 +111,7 @@ For example, to install [Flask](https://palletsprojects.com/p/flask/): pip install Flask ``` -Use a text editor to save the code below as `hello.py`: +Use a text editor to save the following code as `hello.py`: ```python import platform @@ -131,7 +131,7 @@ Run the application: python hello.py ``` -The output will be similar to: +The output is similar to: ```output * Serving Flask app 'hello' * Debug mode: off @@ -141,13 +141,13 @@ WARNING: This is a development server. Do not use it in a production deployment. * Running on http://10.8.0.10:5000 Press CTRL+C to quit ``` -Using the URL that the application prints, open a browser. Here is an example: +Using the URL that the application prints, open a browser. The following is an example URL: ```url http://127.0.0.1:5000 ``` The output is displayed in the browser window. -![Complete #center](/install-guides/_images/flask-woa.png) +![Browser screenshot showing the Flask hello page with Windows and ARM64 platform details, verifying your Python web app runs on Windows on Arm.#center](/install-guides/_images/flask-woa.png) The accesses are reported in the command window: @@ -160,17 +160,17 @@ The accesses are reported in the command window: Use **Ctrl + C** to stop the application. -## Is Python IDLE available? +## Find Python IDLE Python `IDLE` is included in the installation. IDLE is a simple IDE for Python development. You can locate it in the start menu. You can create and run Python applications in this environment. -For example, use **File**, then **Open...** (or **Ctrl + O**) to open the above `uname.py`. +For example, use **File**, then **Open...** (or **Ctrl + O**) to open `uname.py`. Then select **Run** and **Run module** (or **F5**) to execute. -![IDLE uname #center](/install-guides/_images/py3-woa.png) +![Screenshot of Python IDLE running uname.py and displaying Windows 11 ARM64 output, confirming script execution in the IDLE environment.#center](/install-guides/_images/py3-woa.png) You are now ready to use Python on your Windows on Arm device. From 5f82e8bcf1e871f904c3e4b2aece8dd7b3b19956 Mon Sep 17 00:00:00 2001 From: anupras-mohapatra-arm Date: Tue, 28 Apr 2026 12:05:00 -0500 Subject: [PATCH 36/48] Swift --- content/install-guides/py-woa.md | 2 +- content/install-guides/pytorch-woa.md | 20 ++++++++--------- content/install-guides/swift.md | 32 +++++++++++++-------------- 3 files changed, 26 insertions(+), 28 deletions(-) diff --git a/content/install-guides/py-woa.md b/content/install-guides/py-woa.md index a129ec24c4..7486127c9e 100644 --- a/content/install-guides/py-woa.md +++ b/content/install-guides/py-woa.md @@ -28,7 +28,7 @@ multitool_install_part: false # Set to true if a sub-page of a multi-page arti layout: installtoolsall # DO NOT MODIFY. Always true for tool install articles --- -Python has native support for [Windows on Arm](https://learn.microsoft.com/en-us/windows/arm/overview). Starting with version 3.11, an official installer is available. The latest version is 3.13.0. +Python has native support for [Windows on Arm](https://learn.microsoft.com/en-us/windows/arm/overview). Starting with version 3.11, an official installer is available. You can find a number of developer-ready Windows on Arm [devices](/learning-paths/laptops-and-desktops/intro/find-hardware/). diff --git a/content/install-guides/pytorch-woa.md b/content/install-guides/pytorch-woa.md index 29a4b64844..1b2ebf97af 100644 --- a/content/install-guides/pytorch-woa.md +++ b/content/install-guides/pytorch-woa.md @@ -29,13 +29,13 @@ multitool_install_part: false # Set to true if a sub-page of a multi-page arti layout: installtoolsall # DO NOT MODIFY. Always true for tool install articles --- -PyTorch has native support for [Windows on Arm](https://learn.microsoft.com/en-us/windows/arm/overview). Starting with PyTorch 2.7 release, you can access Arm native builds of PyTorch for Windows available for Python 3.12. +PyTorch has native support for [Windows on Arm](https://learn.microsoft.com/en-us/windows/arm/overview). Starting with the PyTorch 2.7 release, you can access Arm native builds of PyTorch for Windows available for Python 3.12. A number of developer-ready Windows on Arm [devices](/learning-paths/laptops-and-desktops/intro/find-hardware/) are available. -Windows on Arm instances are available with Microsoft Azure. For further information, see [Deploy a Windows on Arm virtual machine on Microsoft Azure](/learning-paths/cross-platform/woa_azure/). +Windows on Arm instances are available with Microsoft Azure. For more information, see [Deploy a Windows on Arm virtual machine on Microsoft Azure](/learning-paths/cross-platform/woa_azure/). -## How do I install PyTorch for Windows on Arm? +## Install PyTorch for Windows on Arm {{% notice Environment Details %}} * PyTorch 2.7.0 @@ -43,7 +43,7 @@ Windows on Arm instances are available with Microsoft Azure. For further informa * Windows 11 for Arm64 {{% /notice %}} -Before you install PyTorch on your Windows on Arm machine, you will need to install [Python version 3.12 for Windows on Arm](https://www.python.org/downloads/release/python-3129/). Select the Windows ARM64 installer. +Before you install PyTorch on your Windows on Arm machine, you'll need to install [Python version 3.12 for Windows on Arm](https://www.python.org/downloads/release/python-3129/). Select the Windows ARM64 installer. {{% notice Note %}} Make sure to install Python 3.12 as the Arm native builds for PyTorch on Windows are built with Python version 3.12 {{% /notice %}} @@ -52,18 +52,18 @@ Verify your Python installation at a Windows Command prompt or a PowerShell prom ```command python --version ``` -The output should look like: +The output is similar to: ```output Python 3.12.9 ``` -Once you have downloaded Python, you can install the PyTorch Stable release (2.7.0) on your Windows on Arm machine. +After you have downloaded Python, you can install the PyTorch Stable release (2.7.0) on your Windows on Arm machine. ```command pip3 install torch==2.7.0 --index-url https://download.pytorch.org/whl/cpu ``` -You will see that the `arm64` wheel for PyTorch is installed on your machine: +You'll see that the `arm64` wheel for PyTorch is installed on your machine: ```output Downloading https://download.pytorch.org/whl/cpu/torch-2.7.0%2Bcpu-cp312-cp312-win_arm64.whl (107.9 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 107.9/107.9 MB 29.7 MB/s eta 0:00:00 @@ -83,9 +83,9 @@ You can also install the nightly preview versions of PyTorch on your Windows Arm pip install --pre torch --index-url https://download.pytorch.org/whl/nightly/cpu ``` -## How can I run a PyTorch example? +## Run a PyTorch example -To run a PyTorch example and confirm that PyTorch is working, use a text editor to save the code below to a file named `pytorch_woa.py`: +To run a PyTorch example and confirm that PyTorch is working, use a text editor to save the followiing code to a file named `pytorch_woa.py`: ```python import torch @@ -119,7 +119,7 @@ Run the code: ```console python pytorch_woa.py ``` -Running on a Windows on Arm machine produces an output similar to: +The output is similar to: ```output PyTorch version: 2.7.0+cpu diff --git a/content/install-guides/swift.md b/content/install-guides/swift.md index ad33936045..a3d7e2fdb5 100644 --- a/content/install-guides/swift.md +++ b/content/install-guides/swift.md @@ -19,13 +19,11 @@ tool_install: true weight: 1 --- -[Swift](https://swift.org/) is an open-source programming language developed by Apple. It was initially created for use with Apple's iOS, macOS, watchOS, and tvOS operating systems, but has since gained popularity as a general-purpose language suitable for a wide range of Linux and Windows applications. Swift is known for its safety, speed, and expressiveness, making it ideal for both beginners and experienced programmers. +[Swift](https://swift.org/) is an open-source programming language initially developed by Apple for use with Apple's iOS, macOS, watchOS, and tvOS operating systems. It has since gained popularity as a general-purpose language suitable for a wide range of Linux and Windows applications. Swift is known for its safety, speed, and expressiveness, making it ideal for both beginners and experienced programmers. -## What do I need to install Swift? +Swift is available for macOS, Windows, and Linux, including Arm Linux distributions. In this guide, you'll learn how to install Swift on Ubuntu for Arm. -Swift is available for macOS, Windows, and Linux, including Arm Linux distributions. - -This guide provides a quick solution to install Swift on Ubuntu for Arm. +## Before you begin Confirm you are using an Arm machine by running: @@ -41,7 +39,7 @@ aarch64 If you see a different result, you are not using an Arm computer running 64-bit Linux. -### What software packages are needed? +### Required software packages Before you install Swift on Ubuntu 24.04, install the following packages: @@ -67,43 +65,43 @@ sudo apt-get -y install \ zlib1g-dev ``` -## How do I download and install Swift? +## Dwnload and install Swift Download Swift for Arm Linux: {{% notice Note %}} -The following commands use Swift version 6.1.2 on Ubuntu 24.04. The same commands work with other versions. Replace the file used in these steps with the file for your version of choice. To find all available versions, see [Download Swift](https://www.swift.org/download/). +The following commands use Swift version 6.3.1 on Ubuntu 24.04. The same commands work with other versions. Replace the file used in these steps with the file for your version of choice. To find all available versions, see [Download Swift](https://www.swift.org/download/). {{% /notice %}} ```bash -wget https://download.swift.org/swift-6.1.2-release/ubuntu2404-aarch64/swift-6.1.2-RELEASE/swift-6.1.2-RELEASE-ubuntu24.04-aarch64.tar.gz +wget https://download.swift.org/swift-6.3.1-release/ubuntu2404-aarch64/swift-6.3.1-RELEASE/swift-6.3.1-RELEASE-ubuntu24.04-aarch64.tar.gz ``` Extract the archive: ```bash -sudo tar -xf swift-6.1.2-RELEASE-ubuntu24.04-aarch64.tar.gz -C /usr/local +sudo tar -xf swift-6.3.1-RELEASE-ubuntu24.04-aarch64.tar.gz -C /usr/local ``` Add the `bin/` directory to your search path: ```bash -echo 'export PATH="$PATH:/usr/local/swift-6.1.2-RELEASE-ubuntu24.04-aarch64/usr/bin"' >> ~/.bashrc +echo 'export PATH="$PATH:/usr/local/swift-6.3.1-RELEASE-ubuntu24.04-aarch64/usr/bin"' >> ~/.bashrc source ~/.bashrc ``` -## How can I confirm Swift is working? +## Confirm Swift is working -You can print the version with: +To confirm Swift is working, print the version: ```bash swift --version ``` -The expected output is: +The output is similar to: ```output -Swift version 6.1.2 (swift-6.1.2-RELEASE) +Swift version 6.3.1 (swift-6.3.1-RELEASE) Target: aarch64-unknown-linux-gnu ``` @@ -121,7 +119,7 @@ Compile and run the program: swift hello.swift ``` -The output will be: +The output will be similar to: ```output Hello from Swift on Arm Linux! @@ -140,5 +138,5 @@ The output will be the same: Hello from Swift on Arm Linux! ``` -You are ready to use the Swift programming language on your Arm Linux computer. +You are now ready to use the Swift programming language on your Arm Linux computer. From 45b42787592eab3c2fa2d99499f54f71ddcb4291 Mon Sep 17 00:00:00 2001 From: anupras-mohapatra-arm Date: Tue, 28 Apr 2026 12:29:20 -0500 Subject: [PATCH 37/48] terraform --- content/install-guides/sysbox.md | 52 ++++++++++++++--------------- content/install-guides/terraform.md | 32 ++++++++---------- 2 files changed, 40 insertions(+), 44 deletions(-) diff --git a/content/install-guides/sysbox.md b/content/install-guides/sysbox.md index 16306b96a3..2d5bcc2b9f 100644 --- a/content/install-guides/sysbox.md +++ b/content/install-guides/sysbox.md @@ -33,21 +33,19 @@ multitool_install_part: false # Set to true if a sub-page of a multi-page arti layout: installtoolsall # DO NOT MODIFY. Always true for tool install articles --- -[Sysbox](https://github.com/nestybox/sysbox/blob/master/README.md) enables you to use Docker containers for workloads that typically require virtual machines. Containers run with Sysbox are able to run software that relies on the [systemd System and Service Manager](https://systemd.io/) that is not usually present in containers, and it does this without the need for a full virtual machine and hardware emulation. +[Sysbox](https://github.com/nestybox/sysbox/blob/master/README.md) allows you to use Docker containers for workloads that typically require virtual machines (VMs). Containers run with Sysbox are able to run software that relies on the [systemd System and Service Manager](https://systemd.io/) that is not usually present in containers, and it does this without the need for a full virtual machine and hardware emulation. Running Docker inside Docker, and Kubernetes inside Docker, are also Sysbox use cases. Without Sysbox, these are difficult because the Docker daemon requires systemd. In summary, Sysbox is a powerful container runtime that provides many of the benefits of virtual machines without the overhead of running a full VM. It is good for workloads that require the ability to run system-level software. -## What do I need to run Sysbox? - Sysbox runs on Linux and supports Arm. -Sysbox has limited support for older versions of Linux, but recent Linux versions are easily compatible. +## Before you begin -If you are unsure about your Linux distribution and Linux kernel version, you can check [Sysbox Distro Compatibility](https://github.com/nestybox/sysbox/blob/master/docs/distro-compat.md) +Sysbox has limited support for older versions of Linux, but recent Linux versions are easily compatible. To check whether your Linux distribution and Linux kernel version are supported, see [Sysbox Distro Compatibility](https://github.com/nestybox/sysbox/blob/master/docs/distro-compat.md). -Sysbox is a container runtime, and so Docker is required before installing Sysbox. +Sysbox is a container runtime, so Docker is required before installing Sysbox. In most cases, you can install Docker on Arm Linux with the commands: @@ -56,31 +54,31 @@ curl -fsSL get.docker.com -o get-docker.sh && sh get-docker.sh sudo usermod -aG docker $USER ; newgrp docker ``` -Refer to the [Docker install guide](/install-guides/docker/docker-engine/) for more information. +For more information, see the [Docker install guide](/install-guides/docker/docker-engine/). You can use Sysbox on a virtual machine from a [cloud service provider](/learning-paths/servers-and-cloud-computing/intro/find-hardware/), a Raspberry Pi 5, or any other Arm Linux-based computer. -## How do I install Sysbox? +## Install Sysbox -Download the Sysbox official package from [Sysbox Releases](https://github.com/nestybox/sysbox/releases/) +Download the Sysbox official package from [Sysbox Releases](https://github.com/nestybox/sysbox/releases/). You can download the Debian package for Arm from the command line: {{% notice Note %}} -The following commands use Sysbox version 0.6.5. The same commands work with other versions. Replace the file used in these steps with the file for your version of choice. To find the latest version, see [Sysbox releases](https://github.com/nestybox/sysbox/releases/). +The following commands use Sysbox version 0.6.7. The same commands work with other versions. Replace the file used in these steps with the file for your version of choice. To find the latest version, see [Sysbox releases](https://github.com/nestybox/sysbox/releases/). {{% /notice %}} ```bash -wget https://downloads.nestybox.com/sysbox/releases/v0.6.5/sysbox-ce_0.6.5-0.linux_arm64.deb +wget https://downloads.nestybox.com/sysbox/releases/v0.6.7/sysbox-ce_0.6.7-0.linux_arm64.deb ``` Install the package using the `apt` command: ```bash -sudo apt-get install ./sysbox-ce_0.6.5-0.linux_arm64.deb -y +sudo apt-get install ./sysbox-ce_0.6.7-0.linux_arm64.deb -y ``` -If you are not using a Debian-based Linux distribution, you can use instructions to build Sysbox from the source code. Refer to [Sysbox Developer's Guide: Building & Installing](https://github.com/nestybox/sysbox/blob/master/docs/developers-guide/build.md) for further information. +If you are not using a Debian-based Linux distribution, you can use instructions to build Sysbox from the source code. For more information, see [Sysbox Developer's Guide: Building & Installing](https://github.com/nestybox/sysbox/blob/master/docs/developers-guide/build.md). Run `systemctl` to confirm if Sysbox is running: @@ -96,11 +94,11 @@ If Sysbox is running, you see the output: sysbox.service loaded active running Sysbox container runtime ``` -## How can I get set up with Sysbox quickly? +## Verify Sysbox installation -You can try Sysbox by creating a container image that includes systemd and Docker. +You can test Sysbox by creating a container image that includes systemd and Docker. -Use a text editor to copy the text below to a file named `Dockerfile`: +Use a text editor to copy the following text to a file named `Dockerfile`: ```console {file_name="Dockerfile"} FROM ubuntu:24.04 @@ -138,17 +136,17 @@ Use Sysbox as the container runtime to create a new container: docker run --runtime=sysbox-runc -P --hostname=sbox sysbox-test ``` -The animated output below shows the Linux init process running. You can log in with the password `ubuntu`, or change it in the Dockerfile above. +The following animated output shows the Linux init process running. You can log in with the password `ubuntu`, or change it in the Dockerfile. -You can use Docker inside the container and the SSH server operates as expected. Both are possible because systemd is running in the container. +You can use Docker inside the container. The SSH server operates as expected. Both are possible because systemd is running in the container. -![Connect #center](/install-guides/_images/sysbox.gif) +![Animated terminal showing systemd init process starting in the Sysbox container, followed by a login prompt where you can enter the ubuntu user credentials to verify the container is running with full system services.#center](/install-guides/_images/sysbox.gif) -## How can I use SSH to connect to a Sysbox container? +## Use SSH to connect to a Sysbox container -To connect using SSH, you can identify the IP address of your Sysbox container in two alternative ways, from inside the container, or from outside the container. +To connect using SSH, you can identify the IP address of your Sysbox container in two ways: from inside the container, or from outside the container. -To find the IP address from inside the container use the `ifconfig` command: +To find the IP address from inside the container, use the `ifconfig` command: ```console ifconfig @@ -168,7 +166,7 @@ eth0: flags=4163 mtu 1500 The `inet` IP address for `eth0` is the one you can use to SSH from outside the Sysbox container. -For this example, the SSH command is below. Modify the IP address for your container. +For this example, the SSH command is the following. Replace the IP address with that of your container. ```console ssh ubuntu@172.20.0.2 @@ -178,7 +176,7 @@ Log in using the same `ubuntu` username and password. You can also use the `docker` command to identify the IP address and port from outside the container. -Run the command below from another shell outside of the Sysbox container: +Run the following command from another shell outside of the Sysbox container: ```bash docker ps @@ -191,7 +189,7 @@ CONTAINER ID IMAGE COMMAND CREATED STATUS 3a42487cddc0 sysbox-test "/sbin/init --log-le…" 10 minutes ago Up 10 minutes 0.0.0.0:32768->22/tcp, [::]:32768->22/tcp determined_hopper ``` -Look in the `PORTS` column for the port number that is connected to port 22 of the container, in this example it is 32768. You can use `localhost`, `0.0.0.0` or the actual IP of your machine with the identified port. +Look in the `PORTS` column for the port number that is connected to port 22 of the container. In this example, it is 32768. You can use `localhost`, `0.0.0.0` or the actual IP of your machine with the identified port. SSH to the container using the connected port: @@ -207,4 +205,6 @@ You can exit the Sysbox container using: sudo halt ``` -Sysbox behaves like a virtual machine and you can use it to run applications that require system services normally not available in containers. It is useful for testing and development tasks because the container changes are not saved, meaning that you can create a clean testing environment simply by restarting the Sysbox container. +Sysbox behaves like a virtual machine that you can use to run applications that require system services normally not available in containers. It is useful for testing and development tasks because the container changes are not saved, meaning that you can create a clean testing environment simply by restarting the Sysbox container. + +You're now ready to use Sysbox. \ No newline at end of file diff --git a/content/install-guides/terraform.md b/content/install-guides/terraform.md index 75f08c91a6..0512a03387 100644 --- a/content/install-guides/terraform.md +++ b/content/install-guides/terraform.md @@ -22,15 +22,13 @@ tool_install: true weight: 1 --- -[Terraform](https://www.terraform.io/) automates cloud infrastructure. It is an infrastructure as code tool. +[Terraform](https://www.terraform.io/) automates cloud infrastructure. It is an infrastructure as code (IaC) tool. -Terraform is available for Windows, macOS, Linux and supports the Arm architecture. +Terraform is available for Windows, macOS, Linux and supports the Arm architecture. For general installation information that covers all supported operating systems, see the [Terraform documentation](https://developer.hashicorp.com/terraform/downloads). -## What do I need before installing Terraform? +In this guide, you'll learn how to install Terraform for Ubuntu on Arm and macOS on Apple Silicon. -[General installation information](https://developer.hashicorp.com/terraform/downloads) is available which covers all supported operating systems. - -This guide provides a quick solution to install Terraform for Ubuntu on Arm and macOS on Apple Silicon. +## Before you begin Confirm you are using an Arm machine by running: @@ -50,11 +48,11 @@ For macOS, the output should be: arm64 ``` -## How do I download and install Terraform for Ubuntu? +## Download and install Terraform for Ubuntu -The easiest way to install Terraform for Ubuntu on Arm is to use the zip file and copy the executable. +To install Terraform for Ubuntu on Arm, use a zip file and copy the executable. -The installation options with the Ubuntu package manager at time of writing do not work well, but please try them as they may improve. + Make sure `unzip`, `curl`, and `wget` are available. @@ -71,9 +69,9 @@ unzip terraform_${TER_VER}_linux_arm64.zip sudo cp terraform /usr/local/bin/ ``` -## How do I download and install Terraform for macOS? +## Download and install Terraform for macOS -If you have [brew](https://brew.sh/) installed, installing Terraform for macOS is simple as: +If you have [brew](https://brew.sh/) installed, you can use it to install Terraform for macOS with the following commands: ```console brew tap hashicorp/tap @@ -82,7 +80,7 @@ brew install hashicorp/tap/terraform If you don't have brew installed or prefer to directly install via binary, you can download [Terraform for ARM64](https://developer.hashicorp.com/terraform/install#darwin) directly from the Terraform website. -## How do I verify Terraform installation? +## Verify Terraform installation After installing, you can enter the following command to verify the installation: @@ -90,19 +88,17 @@ After installing, you can enter the following command to verify the installation terraform version ``` -The output will be similar to the output shown below. - -For Linux: +The output for Linux is similar to: ```output -Terraform v1.10.5 +Terraform v1.14.9 on linux_arm64 ``` -For macOS: +The output for macOS is similar to: ```output -Terraform v1.10.5 +Terraform v1.14.9 on darwin_arm64 ``` From 7f3688730a086b989d61060f48ffcd4cd4f7bcda Mon Sep 17 00:00:00 2001 From: anupras-mohapatra-arm Date: Tue, 28 Apr 2026 16:28:57 -0500 Subject: [PATCH 38/48] wpa guides --- content/install-guides/tkn.md | 20 ++++--- .../windows-perf-vs-extension.md | 52 ++++++++++--------- .../install-guides/windows-perf-wpa-plugin.md | 42 +++++++-------- 3 files changed, 58 insertions(+), 56 deletions(-) diff --git a/content/install-guides/tkn.md b/content/install-guides/tkn.md index 7329a6bd99..c9420ff7e9 100644 --- a/content/install-guides/tkn.md +++ b/content/install-guides/tkn.md @@ -23,13 +23,11 @@ tool_install: true weight: 1 --- -The Tekton CLI, `tkn`, is a command-line interface for Tekton Pipelines. It allows you to create, manage, and interact with Tekton resources such as tasks, pipelines, and pipeline runs from your terminal. +The Tekton CLI, `tkn`, is a command-line interface for Tekton Pipelines. You can use `tkn` to create, manage, and interact with Tekton resources such as tasks, pipelines, and pipeline runs from your terminal. -Tekton CLI is available for macOS and Linux and supports the Arm architecture. +Tekton CLI is available for macOS and Linux and supports the Arm architecture. In this guide, you'll learn how to install the latest version of the Tekton CLI for Ubuntu on Arm and macOS with Apple Silicon. -## What should I consider before installing the Tekton CLI? - -This article provides a quick way to install the latest version of the Tekton CLI for Ubuntu on Arm and macOS with Apple Silicon. +## Before you begin Confirm you are using an Arm computer by running: @@ -49,7 +47,7 @@ If you are on macOS with Apple Silicon the output should be: arm64 ``` -## How do I download and install the Tekton CLI? +## Download and install the Tekton CLIs You can install the Tekton CLI in multiple ways. The following methods download the latest stable release directly from GitHub. @@ -64,7 +62,7 @@ sudo apt install ./tektoncd-cli-${TKN_VERSION#v}_Linux-ARM64.deb ``` {{% notice Tip %}} -If the version query fails, you can manually set `TKN_VERSION` to a known stable version like `v0.41.0`. +If the version query fails, you can manually set `TKN_VERSION` to a known stable version such as `v0.41.0`. {{% /notice %}} ### Install on macOS @@ -85,7 +83,7 @@ Alternatively, you can install using Homebrew on macOS: brew install tektoncd-cli ``` -## How do I verify the Tekton CLI installation? +## Verify the Tekton CLI installation Verify the Tekton CLI is installed by checking the version: @@ -93,7 +91,7 @@ Verify the Tekton CLI is installed by checking the version: tkn version ``` -The output shows the client version information: +The output shows the client version information and is similar to: ```output Client version: 0.41.0 @@ -138,7 +136,7 @@ Flags: Use "tkn [command] --help" for more information about a command. ``` -## How do I get started with the Tekton CLI? +## Get started with the Tekton CLI To use the Tekton CLI effectively, you need access to a Kubernetes cluster with Tekton Pipelines installed. You can check if Tekton is available in your cluster: @@ -150,7 +148,7 @@ If Tekton Pipelines is not installed, you might see an error message. In that ca ### Common Tekton CLI commands -Below are some common commands to get you started. +The following are some common commands to get you started. List pipelines: diff --git a/content/install-guides/windows-perf-vs-extension.md b/content/install-guides/windows-perf-vs-extension.md index ca8b71264d..c3d1296aa6 100644 --- a/content/install-guides/windows-perf-vs-extension.md +++ b/content/install-guides/windows-perf-vs-extension.md @@ -28,9 +28,9 @@ layout: installtoolsall # DO NOT MODIFY. Always true for tool install articles WindowsPerf is a lightweight performance profiling tool inspired by Linux Perf, and designed specifically for Windows on Arm. -The WindowsPerf GUI is a Visual Studio 2022 extension that provides an intuitive, integrated experience within the Visual Studio Integrated Development Environment (IDE). The extension enables developers to interact with WindowsPerf, adjust settings, and visualize performance data seamlessly in Visual Studio. +The WindowsPerf GUI is a Visual Studio 2022 extension that provides an intuitive, integrated experience within the Visual Studio Integrated Development Environment (IDE). The extension allows developers to interact with WindowsPerf, adjust settings, and visualize performance data seamlessly in Visual Studio. -## What steps must I complete before installing the Visual Studio Extension for WindowsPerf? +## Before you begin Before installing the Visual Studio Extension for WindowsPerf, complete the following steps: @@ -42,7 +42,7 @@ Before installing the Visual Studio Extension for WindowsPerf, complete the foll The disassembly feature requires `llvm-objdump` in the search path. Verify that your `%PATH%` variable includes the location of `llvm-objdump` to ensure proper functionality. {{% /notice %}} -### How do I install the extension using the Visual Studio Extension Manager? +### Install the extension using the Visual Studio Extension Manager To install the Visual Studio extension for WindowsPerf from Visual Studio, use the Extension Manager: @@ -52,53 +52,55 @@ To install the Visual Studio extension for WindowsPerf from Visual Studio, use t 4. Select the `Install` button. 5. Restart Visual Studio to complete installation. -![Install #center](/install-guides/_images/wperf-vs-extension-install-page.png) +![Screenshot of the Visual Studio Extension Manager search results showing the WindowsPerf extension with the Install button highlighted, ready to begin installation.#center](/install-guides/_images/wperf-vs-extension-install-page.png) -### How do I install the extension from GitLab? +### Install the extension from GitLab You can also install the WindowsPerf Visual Studio Extension from GitLab. -Using a browser, visit the [Releases](https://gitlab.com/Linaro/WindowsPerf/vs-extension/-/releases) page and download the latest file. For example, `windowsperf-gui-3.1.3.zip`. +Using a browser, visit the [Releases](https://gitlab.com/Linaro/WindowsPerf/vs-extension/-/releases) page and download the latest file. For example, `windowsperf-gui-5.4.0.zip`. -Unzip the downloaded file and double click on the `WindowsPerfGUI.vsix` file. +Unzip the downloaded file and double-click on the `WindowsPerfGUI.vsix` file. Follow the prompts to install the Visual Studio extension. -![VSIX Install #center](/install-guides/_images/vs-ext-install.png) +![Screenshot of the VSIX installer dialog confirming the WindowsPerfGUI extension is being installed into Visual Studio 2022.#center](/install-guides/_images/vs-ext-install.png) {{% notice Note %}} Ensure that any previous version of the extension is uninstalled and that Visual Studio is closed before installing the extension. {{% /notice %}} -### How do I build and install the extension from source code? +### Build and install the extension from source code -Building the source is not required, but is an alternative installation method if you want to customize the extension. +You don't need to build the source, but it is an alternative installation method if you want to customize the extension. -To build the source code, clone [the repository](https://gitlab.com/Linaro/WindowsPerf/vs-extension.git) using Git. +To build the source code, clone [the repository](https://gitlab.com/Linaro/WindowsPerf/vs-extension.git) using Git: ```console git clone https://gitlab.com/Linaro/WindowsPerf/vs-extension.git ``` -Double click the `WindowsPerfGUI.sln` solution file to open the project Visual Studio. +Double-click the `WindowsPerfGUI.sln` solution file to open the project Visual Studio. {{% notice Note %}} -Visual Studio may prompt you to install additional components required to build the project, install these components. +Visual Studio might prompt you to install additional components required to build the project. Install these components. {{% /notice %}} -Open the `Build` menu and select `Build Solution` to create `WindowsPerfGUI.dll` and `WindowsPerfGUI.vsix`. You can replace the currently installed files with these files to try any changes you have made. +Open the `Build` menu and select `Build Solution` to create `WindowsPerfGUI.dll` and `WindowsPerfGUI.vsix`. You can replace the currently installed files with these files to try any changes you've made. -### How do I set up WindowsPerf in Visual Studio? +### Set up WindowsPerf in Visual Studio -After the extension is installed, you must link the extension with the `wperf.exe` file by navigating to `Tools > Options > WindowsPerf > WindowsPerf Path` in Visual Studio. +After installing the extension, you need to link the extension with the `wperf.exe` file by navigating to `Tools > Options > WindowsPerf > WindowsPerf Path` in Visual Studio. Use the `Select` button to navigate to your `wperf.exe` and the `Validate` button to confirm the executable is found. -![Validate #center](/install-guides/_images/wperf-validate.png) +![Screenshot of the Visual Studio Options page for WindowsPerf showing the wperf.exe path field and the Validate button, which must succeed before the extension can run.#center](/install-guides/_images/wperf-validate.png) -This step is crucial for utilizing the extension, and the extension will not work without this configuration. +{{% notice Warning %}} +This step is crucial for utilizing the extension. The extension will not work without this configuration. +{{% /notice %}} -## What are the key features of the WindowsPerf extension? +## Key features of the WindowsPerf extension The WindowsPerf extension is composed of several key features, each designed to streamline the user experience: @@ -107,16 +109,18 @@ The WindowsPerf extension is composed of several key features, each designed to * Output Logging: All commands executed through the GUI are logged, ensuring transparency and aiding with performance analysis. * Sampling UI: Customize your sampling experience by selecting events, setting frequency and duration, choosing programs for sampling, and comprehensively analyzing results. -The sampling interface is shown below: +The sampling interface is shown as follows: -![Sampling preview #center](/install-guides/_images/wperf-vs-extension-sampling-preview.webp) +![Screenshot of the WindowsPerf Visual Studio extension sampling UI showing event selection, frequency and duration controls, and the program to sample, giving an overview of available sampling options.#center](/install-guides/_images/wperf-vs-extension-sampling-preview.webp) * Counting Settings UI: Build a `wperf stat` command from scratch using the configuration interface, then view the output in VS Code or open it with Windows Performance Analyzer (WPA). -The interface to configure counting is shown below: +The interface to configure counting is shown as follows: + +![Screenshot of the WindowsPerf Visual Studio extension counting configuration UI for building a wperf stat command, showing event and core selection fields before starting a counting session.#center](/install-guides/_images/wperf-vs-extension-counting-preview.png) -![Counting preview #center](/install-guides/_images/wperf-vs-extension-counting-preview.png) +You're now ready to use the WindowsPerf extension on VSCode. -## How do I uninstall the WindowsPerf extension? +## Uninstall the WindowsPerf extension To uninstall the extension in Visual Studio: diff --git a/content/install-guides/windows-perf-wpa-plugin.md b/content/install-guides/windows-perf-wpa-plugin.md index 6904182195..584abcce17 100644 --- a/content/install-guides/windows-perf-wpa-plugin.md +++ b/content/install-guides/windows-perf-wpa-plugin.md @@ -26,8 +26,6 @@ multitool_install_part: false # Set to true if a sub-page of a multi-page articl layout: installtoolsall # DO NOT MODIFY. Always true for tool install articles --- -## What is the Windows Performance Analyzer plugin? - The Windows Performance Analyzer (WPA) plugin connects [WindowsPerf](/learning-paths/laptops-and-desktops/windowsperf/) to the Windows Performance Analyzer. Windows Perf is a lightweight performance profiling tool inspired by Linux Perf and designed for Windows on Arm. Windows Performance Analyzer provides developers with diagnostics and performance tuning. It generates data tables and graphs of Event Tracing for Windows (ETW) events, which are recorded in one of three ways: @@ -39,23 +37,23 @@ WPA can open Event Trace Log (ETL) files, which you can use for analysis. The WPA plugin is built using the [Microsoft Performance Toolkit SDK](https://github.com/microsoft/microsoft-performance-toolkit-sdk), which is a collection of tools to create and extend performance analysis applications. The plugin parses JSON output from Windows Perf so that it can be visualized in WPA. -## What are the features of the WPA plugin? +## Features of the WPA plugin -The WindowsPerf GUI extension includes features that are designed to streamline the user experience, and these are detailed below. +The WindowsPerf GUI extension includes the following features that are designed to streamline the user experience. ### Timeline view The timeline view visualizes the `wperf stat` timeline data plotted by event group: -![Timeline By Core Table](/install-guides/_images/wpa-timeline-by-core.png) +![Screenshot of the WPA timeline view grouped by core, showing event activity over time so you can verify that wperf stat timeline data is rendered correctly.#center](/install-guides/_images/wpa-timeline-by-core.png) ### Telemetry view The telemetry view displays telemetry events grouped by unit: -![Telemetry Table](/install-guides/_images/wpa-telemetry-table.png) +![Screenshot of the WPA telemetry table grouped by unit, highlighting parsed WindowsPerf telemetry entries you can inspect during analysis.#center](/install-guides/_images/wpa-telemetry-table.png) -## How do I install the WPA plugin? +## Install the WPA plugin Before installing the plugin, you need to install WPA. @@ -65,13 +63,13 @@ For Windows on Arm devices, you can install WPA from the Microsoft Store. Open the Microsoft Store and search for "windows performance analyzer". -![WPA store](/install-guides/_images/wpa-store.png) +![Screenshot of the Microsoft Store search results showing Windows Performance Analyzer so you can select the correct app before installation.#center](/install-guides/_images/wpa-store.png) Hover over the card, and you will see that the **Free** button becomes a **Get** button. Click the **Get** button to start the installation. Wait for WPA to be installed, and then launch it from the Windows menu. -![WPA installation #center](/install-guides/_images/wpa-installation.png) +![Screenshot of the Windows Performance Analyzer Microsoft Store page with the Get button state, indicating installation is in progress or ready to start.#center](/install-guides/_images/wpa-installation.png) {{% notice Note %}} The WPA plugin requires WPA version `11.0.7.2` or higher. You can check the version by clicking **Help** > **About Windows Performance Analyzer**. @@ -88,19 +86,19 @@ Download the `.zip` file from the [Windows Perf WPA plugin releases page](https: Alternatively, you can download the `.zip` file from a command prompt: {{% notice Note %}} -The following commands use Windows Perf WPA Plugin version 1.0.3. The same commands work with other versions. Replace the file used in these steps with the file for your version of choice. To find the latest version, see [Windows Perf WPA Plugin releases](https://gitlab.com/Linaro/WindowsPerf/wpa-plugin/-/releases). +The following commands use Windows Perf WPA Plugin version 2.0.0. The same commands work with other versions. Replace the file used in these steps with the file for your version of choice. To find the latest version, see [Windows Perf WPA Plugin releases](https://gitlab.com/Linaro/WindowsPerf/wpa-plugin/-/releases). {{% /notice %}} ```console mkdir wpa-plugin cd wpa-plugin -curl -L -O https://gitlab.com/api/v4/projects/50944937/packages/generic/wperf-wpa-plugin/1.0.3/wpa-plugin-1.0.3.zip +curl -L -O https://gitlab.com/api/v4/projects/50944937/packages/generic/wperf-wpa-plugin/2.0.0/wpa-plugin-2.0.0.zip ``` Extract the `.dll` file from the downloaded `.zip` file. ```console -tar -xmf wpa-plugin-1.0.3.zip +tar -xmf wpa-plugin-2.0.0.zip ``` The file `WPAPlugin.dll` is now in your `wpa-plugin` directory. @@ -111,7 +109,7 @@ There are three ways that you can use the `WPAPlugin.dll` file: Use the `-addsearchdir` flag to tell `wpa` where to find plugins. -For example, if you downloaded the `.dll` in your `Downloads` directory, you can run `wpa` as shown below: +For example, if you downloaded the `.dll` in your `Downloads` directory, you can run `wpa`: ```bash wpa -addsearchdir %USERPROFILE%\Downloads\wpa-plugin-1.0.3 @@ -126,21 +124,23 @@ Set the `WPA_ADDITIONAL_SEARCH_DIRECTORIES` environment variable to the location The default location is: `C:\\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\CustomDataSources` -## How can I verify that the WPA plugin is installed? +## Verify that the WPA plugin is installed -To verify the plugin is loaded, launch WPA and the plugin should appear on the Installed Plugins list. +To verify the plugin is loaded, launch WPA. The plugin should appear on the Installed Plugins list. -![WPA installation confirmation](/install-guides/_images/wpa-install-plugin.png) +![Screenshot of WPA Installed Plugins list showing WPAPlugin.dll loaded, confirming the WindowsPerf WPA plugin installation was successful.#center](/install-guides/_images/wpa-install-plugin.png) -## How can I run the WPA plugin from the command line? +## Run the WPA plugin from the command line -To open a JSON file directly from the command line, you can use the `-i` flag to specify the file path to open. +To open a JSON file directly from the command line, use the `-i` flag to specify the file path to open. -For example, to open `timeline_long.json` in your `downloads` directory, run the command: +For example, to open `timeline_long.json` in your `downloads` directory, run: ```console wpa -addsearchdir %USERPROFILE%\Downloads\wpa-plugin-1.0.3 -i %USERPROFILE%\Downloads\timeline_long.json ``` -## How do I uninstall the WPA plugin? +You're now ready to use the WPA plugin. + +## Uninstall the WPA plugin -To uninstall the plugin, simply delete the `WPAPlugin.dll` file. +To uninstall the plugin, delete the `WPAPlugin.dll` file. From 7b5bccde54ef45eda6ed7f27239a3c036e70fdf8 Mon Sep 17 00:00:00 2001 From: anupras-mohapatra-arm Date: Tue, 28 Apr 2026 17:02:24 -0500 Subject: [PATCH 39/48] wperf --- content/install-guides/wperf.md | 61 +++++++++++++++++++-------------- 1 file changed, 36 insertions(+), 25 deletions(-) diff --git a/content/install-guides/wperf.md b/content/install-guides/wperf.md index 091cf747d2..b5d24753db 100644 --- a/content/install-guides/wperf.md +++ b/content/install-guides/wperf.md @@ -30,23 +30,23 @@ multitool_install_part: false # Set to true if a sub-page of a multi-page arti layout: installtoolsall # DO NOT MODIFY. Always true for tool install articles --- -WindowsPerf is a Linux Perf-inspired Windows on Arm performance profiling tool. Profiling is based on the Arm AArch64 PMU and its hardware counters. WindowsPerf supports the counting model for obtaining aggregate counts of occurrences of PMU events, and the sampling model for determining the frequencies of event occurrences produced by program locations at the function, basic block, and instruction levels. WindowsPerf is an open-source project hosted on [GitLab](https://gitlab.com/Linaro/WindowsPerf/windowsperf/) +WindowsPerf is a Linux Perf-inspired performance profiling tool for Windows on Arm. Profiling is based on the Arm AArch64 PMU and its hardware counters. WindowsPerf supports the counting model for obtaining aggregate counts of occurrences of PMU events, and the sampling model for determining the frequencies of event occurrences produced by program locations at the function, basic block, and instruction levels. WindowsPerf is an open-source project hosted on [GitLab](https://gitlab.com/Linaro/WindowsPerf/windowsperf/). WindowsPerf consists of a kernel-mode driver and a user-space command-line tool. You can seamlessly integrate the WindowsPerf command line tool with both the [WindowsPerf Visual Studio Extension](#vs2022) and the [WindowsPerf VS Code Extension](#vscode). These extensions, which you can download from the Visual Studio Marketplace, enhance the functionality of WindowsPerf by providing a user-friendly interface, and additional features for performance analysis and debugging. This integration allows developers to efficiently analyze and optimize their applications directly within their preferred development environment. {{% notice Note%}} -You cannot use WindowsPerf on virtual machines, such as cloud instances. +You can't use WindowsPerf on virtual machines, such as cloud instances. {{% /notice %}} -## How do I install WindowsPerf using winget? +## Install WindowsPerf using winget -You can now install WindowsPerf directly from [winget](https://learn.microsoft.com/en-us/windows/package-manager/). Open an `Administrator` terminal on PowerShell and type +You can now install WindowsPerf directly from [winget](https://learn.microsoft.com/en-us/windows/package-manager/). Open an `Administrator` terminal on PowerShell and run: ```console winget install WindowsPerf ``` -The output should look like: +The output is similar to: ```output Found WindowsPerf [Arm.WindowsPerf] Version 4.3.1.0 @@ -59,11 +59,11 @@ Starting package install... Successfully installed ``` -![Winget installation video](/install-guides/_images/wperf-winget-installation.gif) +![Animated terminal output showing winget installing WindowsPerf, including package download, hash verification, and Successfully installed status to confirm installation completion.#center](/install-guides/_images/wperf-winget-installation.gif) -It will install the latest available WindowsPerf along with the [WPA plugins](/learning-paths/laptops-and-desktops/windowsperf_wpa_plugin/). To check that the installation was done correctly open a new terminal tab or window and follow the instructions under the [verify installation section](/install-guides/wperf/#verify-install). +The command will install the latest available WindowsPerf along with the [WPA plugins](/learning-paths/laptops-and-desktops/windowsperf_wpa_plugin/). To check that the installation was successful, open a new terminal tab or window and follow the instructions under the [verify installation section](/install-guides/wperf/#verify-install). -### How do I uninstall WindowsPerf using winget? +### Uninstall WindowsPerf using winget If you need to uninstall WindowsPerf, open an `Administrator` terminal on PowerShell and run: @@ -71,7 +71,7 @@ If you need to uninstall WindowsPerf, open an `Administrator` terminal on PowerS winget uninstall WindowsPerf ``` -The output from a successful uninstallation will look like: +The output from a successful uninstallation is similar to: ```output Found WindowsPerf [Arm.WindowsPerf] @@ -80,16 +80,15 @@ Successfully uninstalled ``` {{% notice Note%}} -WinPerf is an open-source project. If you would like to develop WindowsPerf yourself, you may also need to install the Windows Driver Kit (WDK). Please refer to this link for more details. -https://learn.microsoft.com/en-us/windows-hardware/drivers/wdk-release-notes +WinPerf is an open-source project. If you'd like to develop WindowsPerf yourself, you may also need to install the Windows Driver Kit (WDK). For more information, see [WDK release notes](https://learn.microsoft.com/en-us/windows-hardware/drivers/wdk-release-notes). {{% /notice %}} -## How do I verify that WindowsPerf is installed correctly? {#verify-install} +## Verify that WindowsPerf is installed correctly {#verify-install} You can check everything is working by running the `wperf` executable. {{% notice Note%}} -Once you have installed the driver, you can use `wperf` without `Administrator` privileges. +After you've installed the driver, you can use `wperf` without `Administrator` privileges. {{% /notice %}} For example: @@ -98,7 +97,7 @@ For example: wperf --version ``` -You see output similar to: +The output is similar to: ```output Component Version GitVer FeatureString @@ -108,35 +107,47 @@ You see output similar to: ``` -## How do I install the WindowsPerf Virtual Studio Extension? {#vs2022} +## Install the WindowsPerf Virtual Studio Extension? {#vs2022} WindowsPerf GUI (Graphical User Interface) is a Visual Studio 2022 extension designed to bring a seamless UI experience to WindowsPerf, the command-line performance profiling tool for Windows on Arm. It is available on the [Visual Studio Marketplace](https://marketplace.visualstudio.com/). -Install by opening **Extensions** menu, click **Manage Extensions**, and click **Browse**. Type `WindowsPerf` to search for Arm WindowsPerf GUI extension. Click **Install**. +To install the extension: + +1. Open the **Extensions** menu in Visual Studio. +2. Select **Manage Extensions**, then select **Browse**. +3. Search for `WindowsPerf`. +4. Select **Install** for the Arm WindowsPerf GUI extension. {{% notice How to set up wperf.exe path in the extension%}} -In order to set the path to the `wperf.exe` executable, go to **Tools** -> **Options** -> **WindowsPerf** -> **WindowsPerf Path** and set the absolute path to the wperf.exe executable and then click on the **Validate** button. +To set the path to the `wperf.exe` executable, go to **Tools** -> **Options** -> **WindowsPerf** -> **WindowsPerf Path** and set the absolute path to the wperf.exe executable and then click on the **Validate** button. {{% /notice %}} -Also, visit WindowsPerf GUI project website on [GitLab](https://gitlab.com/Linaro/WindowsPerf/vs-extension) for more details and latest updates. +Also, for more details and latest updates, see the WindowsPerf GUI project website on [GitLab](https://gitlab.com/Linaro/WindowsPerf/vs-extension). -## How do I install the WindowsPerf VS Code Extension? {#vscode} +## Install the WindowsPerf VS Code Extension {#vscode} In addition to the command-line tools, `WindowsPerf` is available on the [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=Arm.windowsperf). -Install by opening the **Extensions** view (Ctrl+Shift+X) and searching for `WindowsPerf`. Click **Install**. +To install and configure the extension: -Open **Settings** (Ctrl+,) > **Extensions** > **WindowsPerf**, and specify the path to the `wperf` executable. +1. Open the **Extensions** view in VS Code using **Ctrl+Shift+X**. +2. Search for `WindowsPerf`. +3. Select **Install**. +4. Open **Settings** using **Ctrl+,**. +5. Go to **Extensions** > **WindowsPerf**. +6. Set the path to the `wperf` executable. {{% notice Non-Windows on Arm host%}} -You can only generate reports from a Windows on Arm device. +You can generate reports only from a Windows on Arm device. -If using a non-Windows on Arm host, you can import and analyze `WindowsPerf` JSON reports from such devices. +If you're using a non-Windows on Arm host, you can import and analyze `WindowsPerf` JSON reports from such devices. -You do not need to install `wperf` on non-Windows on Arm devices. +You don't need to install `wperf` on non-Windows on Arm devices. {{% /notice %}} -## What related resources are available for WindowsPerf? +## Related resources + +You're now ready to use WindowsPerf. For more information about WindowsPerf, see the following links: ### WindowsPerf From 3222afca11d6775ccb45d399efbb97258a8242c4 Mon Sep 17 00:00:00 2001 From: anupras-mohapatra-arm Date: Mon, 4 May 2026 11:35:24 -0500 Subject: [PATCH 40/48] updates to newly added docker replacement content --- content/install-guides/codex-cli.md | 111 -------------------- content/install-guides/gemini.md | 155 ---------------------------- 2 files changed, 266 deletions(-) diff --git a/content/install-guides/codex-cli.md b/content/install-guides/codex-cli.md index 9760ffd52d..3017492442 100644 --- a/content/install-guides/codex-cli.md +++ b/content/install-guides/codex-cli.md @@ -344,117 +344,6 @@ startup_timeout_sec = 60 {{< /tab >}} {{< /tabpane-normal >}} -### Optional: Use a Docker replacement containerization tool - -You can use other containerization tools besides Docker that are free and do not require licenses, such as Podman, Finch, Colima, and Rancher Desktop. Choose one of the options below and use its CLI in place of `docker`. - -{{< tabpane-normal >}} - {{< tab header="Podman" >}} -Install: [Podman](https://podman.io/docs/installation) - -Pull the Arm MCP Server image: -```console -podman pull armlimited/arm-mcp:latest -``` - -Add the following configuration to the user-level `~/.codex/config.toml` file: -```toml -[mcp_servers.arm-mcp] -command = "podman" -args = [ - "run", - "--rm", - "-i", - "--pull=always", - "-v", "/path/to/your/workspace:/workspace", - "-v", "/path/to/your/ssh/private_key:/run/keys/ssh-key.pem:ro", - "-v", "/path/to/your/ssh/known_hosts:/run/keys/known_hosts:ro", - "armlimited/arm-mcp:latest" -] -startup_timeout_sec = 60 -``` - {{< /tab >}} - {{< tab header="Finch" >}} -Install: [Finch](https://runfinch.com/docs/getting-started/installation/) - -Pull the Arm MCP Server image: -```console -finch pull armlimited/arm-mcp:latest -``` - -Add the following configuration to the user-level `~/.codex/config.toml` file: -```toml -[mcp_servers.arm-mcp] -command = "finch" -args = [ - "run", - "--rm", - "-i", - "--pull=always", - "-v", "/path/to/your/workspace:/workspace", - "-v", "/path/to/your/ssh/private_key:/run/keys/ssh-key.pem:ro", - "-v", "/path/to/your/ssh/known_hosts:/run/keys/known_hosts:ro", - "armlimited/arm-mcp:latest" -] -startup_timeout_sec = 60 -``` - {{< /tab >}} - {{< tab header="Colima" >}} -Install: [Colima](https://github.com/abiosoft/colima#installation) - -Colima provides a Docker-compatible CLI via Docker contexts. - -Pull the Arm MCP Server image: -```console -docker pull armlimited/arm-mcp:latest -``` - -Add the following configuration to the user-level `~/.codex/config.toml` file: -```toml -[mcp_servers.arm-mcp] -command = "docker" -args = [ - "run", - "--rm", - "-i", - "--pull=always", - "-v", "/path/to/your/workspace:/workspace", - "-v", "/path/to/your/ssh/private_key:/run/keys/ssh-key.pem:ro", - "-v", "/path/to/your/ssh/known_hosts:/run/keys/known_hosts:ro", - "armlimited/arm-mcp:latest" -] -startup_timeout_sec = 60 -``` - {{< /tab >}} - {{< tab header="Rancher Desktop" >}} -Install: [Rancher Desktop](https://docs.rancherdesktop.io/getting-started/installation/) - -Rancher Desktop uses the Docker container engine via Morby. - -Pull the Arm MCP Server image: -```console -docker pull armlimited/arm-mcp:latest -``` - -Add the following configuration to the user-level `~/.codex/config.toml` file: -```toml -[mcp_servers.arm-mcp] -command = "docker" -args = [ - "run", - "--rm", - "-i", - "--pull=always", - "-v", "/path/to/your/workspace:/workspace", - "-v", "/path/to/your/ssh/private_key:/run/keys/ssh-key.pem:ro", - "-v", "/path/to/your/ssh/known_hosts:/run/keys/known_hosts:ro", - "armlimited/arm-mcp:latest" -] -startup_timeout_sec = 60 -``` - {{< /tab >}} -{{< /tabpane-normal >}} - ### Verify the Arm MCP server is working Start Codex CLI and list the tools from the MCP server to verify it is working: diff --git a/content/install-guides/gemini.md b/content/install-guides/gemini.md index e835d27d69..43175debd4 100644 --- a/content/install-guides/gemini.md +++ b/content/install-guides/gemini.md @@ -534,161 +534,6 @@ Add the following configuration to the user-level `~/.gemini/settings.json` file {{< /tab >}} {{< /tabpane-normal >}} -### Optional: Use a Docker replacement containerization tool - -You can use other containerization tools besides Docker that are free and don't require licenses, such as Podman, Finch, Colima, and Rancher Desktop. Choose one of the following options and use its CLI in place of `docker`. - -{{< tabpane-normal >}} - {{< tab header="Podman" >}} -Install: [Podman](https://podman.io/docs/installation) - -Pull the Arm MCP Server image: -```console -podman pull armlimited/arm-mcp:latest -``` - -Add the following configuration to the user-level `~/.gemini/settings.json` file: -```json -{ - "security": { - "auth": { - "selectedType": "oauth-personal" - } - }, - "mcpServers": { - "arm_mcp_server": { - "command": "podman", - "args": [ - "run", - "--rm", - "-i", - "--pull=always", - "-v", "/path/to/your/workspace:/workspace", - "-v", "/path/to/your/ssh/private_key:/run/keys/ssh-key.pem:ro", - "-v", "/path/to/your/ssh/known_hosts:/run/keys/known_hosts:ro", - "armlimited/arm-mcp:latest" - ], - "env": {}, - "timeout": 60000 - } - } -} -``` - {{< /tab >}} - {{< tab header="Finch" >}} -Install: [Finch](https://runfinch.com/docs/getting-started/installation/) - -Pull the Arm MCP Server image: -```console -finch pull armlimited/arm-mcp:latest -``` - -Add the following configuration to the user-level `~/.gemini/settings.json` file: -```json -{ - "security": { - "auth": { - "selectedType": "oauth-personal" - } - }, - "mcpServers": { - "arm_mcp_server": { - "command": "finch", - "args": [ - "run", - "--rm", - "-i", - "--pull=always", - "-v", "/path/to/your/workspace:/workspace", - "-v", "/path/to/your/ssh/private_key:/run/keys/ssh-key.pem:ro", - "-v", "/path/to/your/ssh/known_hosts:/run/keys/known_hosts:ro", - "armlimited/arm-mcp:latest" - ], - "env": {}, - "timeout": 60000 - } - } -} -``` - {{< /tab >}} - {{< tab header="Colima" >}} -Install: [Colima](https://github.com/abiosoft/colima#installation) - -Colima provides a Docker-compatible CLI via Docker contexts. - -Pull the Arm MCP Server image: -```console -docker pull armlimited/arm-mcp:latest -``` - -Add the following configuration to the user-level `~/.gemini/settings.json` file: -```json -{ - "security": { - "auth": { - "selectedType": "oauth-personal" - } - }, - "mcpServers": { - "arm_mcp_server": { - "command": "docker", - "args": [ - "run", - "--rm", - "-i", - "--pull=always", - "-v", "/path/to/your/workspace:/workspace", - "-v", "/path/to/your/ssh/private_key:/run/keys/ssh-key.pem:ro", - "-v", "/path/to/your/ssh/known_hosts:/run/keys/known_hosts:ro", - "armlimited/arm-mcp:latest" - ], - "env": {}, - "timeout": 60000 - } - } -} -``` - {{< /tab >}} - {{< tab header="Rancher Desktop" >}} -Install: [Rancher Desktop](https://docs.rancherdesktop.io/getting-started/installation/) - -Rancher Desktop uses the Docker container engine via Morby. - -Pull the Arm MCP Server image: -```console -docker pull armlimited/arm-mcp:latest -``` - -Add the following configuration to the user-level `~/.gemini/settings.json` file: -```json -{ - "security": { - "auth": { - "selectedType": "oauth-personal" - } - }, - "mcpServers": { - "arm_mcp_server": { - "command": "docker", - "args": [ - "run", - "--rm", - "-i", - "--pull=always", - "-v", "/path/to/your/workspace:/workspace", - "-v", "/path/to/your/ssh/private_key:/run/keys/ssh-key.pem:ro", - "-v", "/path/to/your/ssh/known_hosts:/run/keys/known_hosts:ro", - "armlimited/arm-mcp:latest" - ], - "env": {}, - "timeout": 60000 - } - } -} -``` - {{< /tab >}} -{{< /tabpane-normal >}} - ### Verify the Arm MCP server is working Start the Gemini CLI and list the tools from the MCP server to verify it's working: From a8386680b7b924f4322292f359095b893432ddf4 Mon Sep 17 00:00:00 2001 From: anupras-mohapatra-arm Date: Mon, 4 May 2026 11:37:07 -0500 Subject: [PATCH 41/48] space --- .github/copilot-instructions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index 1cc941c822..3f6c9ef508 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -139,7 +139,7 @@ Learning Paths may link to install guides for setup steps. Install guides should #### Tool versions -When providing commands for downloading or installing software, use a specific version in the example. This ensures that the instructions are accurate and verifiable. However, also include a note before the commandsthat tells readers the same commands work with other versions. Provide a link to where the latest version can be found. The note can be formatted as follows: +When providing commands for downloading or installing software, use a specific version in the example. This ensures that the instructions are accurate and verifiable. However, also include a note before the commands that tells readers the same commands work with other versions. Provide a link to where the latest version can be found. The note can be formatted as follows: {{% notice Note %}} The following commands use version . The same commands work with other versions. Replace the file used in these steps with the file for your version of choice. To find the latest version, see [Link to page with release info](URL). From 411df26e1abc6505e14c615c78ce0a82c3b8e662 Mon Sep 17 00:00:00 2001 From: anupras-mohapatra-arm Date: Mon, 4 May 2026 11:50:28 -0500 Subject: [PATCH 42/48] updating review list --- .github/install-guide-review.md | 65 +++++++++++++++++---------------- 1 file changed, 33 insertions(+), 32 deletions(-) diff --git a/.github/install-guide-review.md b/.github/install-guide-review.md index c079a0a13d..da732d2b36 100644 --- a/.github/install-guide-review.md +++ b/.github/install-guide-review.md @@ -1,6 +1,6 @@ # Install Guide Review Tracker -Progress: 0 / 97 reviewed +Progress: 43 / 98 reviewed Legend: [x] reviewed | [ ] not started | 🔒 hidden/not published @@ -12,9 +12,9 @@ Legend: [x] reviewed | [ ] not started | 🔒 hidden/not published |-------|-------|-----------|--------------|----------| | skopeo | Skopeo | ✓ | 2025-02-05 | [ ] | | aws-cli | AWS CLI | ✓ | 2025-02-05 | [ ] | -| helm | Helm | ✓ | 2025-02-05 | [ ] | -| py-woa | Python for Windows on Arm | ✓ | 2025-02-05 | [ ] | -| sysbox | Sysbox | ✓ | 2025-02-05 | [ ] | +| helm | Helm | ✓ | 2025-02-05 | [x] | +| py-woa | Python for Windows on Arm | ✓ | 2025-02-05 | [x] | +| sysbox | Sysbox | ✓ | 2025-02-05 | [x] | | eksctl | eksctl (Amazon EKS CLI) | ✓ | 2025-02-10 | [x] | | kubectl | Kubectl | ✓ | 2025-02-10 | [ ] | | bedrust | Bedrust - invoke models on Amazon Bedrock | ✓ | 2025-04-10 | [x] | @@ -26,41 +26,42 @@ Legend: [x] reviewed | [ ] not started | 🔒 hidden/not published | nerdctl | Nerdctl | ✓ | 2025-04-25 | [ ] | | papi | Performance API (PAPI) | ✓ | 2025-04-25 | [ ] | | perf | Perf for Linux on Arm (LinuxPerf) | ✓ | 2025-04-25 | [ ] | -| pulumi | Pulumi | ✓ | 2025-04-25 | [ ] | -| terraform | Terraform | ✓ | 2025-04-25 | [ ] | +| pulumi | Pulumi | ✓ | 2025-04-25 | [x] | +| terraform | Terraform | ✓ | 2025-04-25 | [x] | | topdown-tool | Telemetry Solution (Topdown Methodology) | ✓ | 2025-04-25 | [ ] | -| cmake | CMake | ✓ | 2025-04-26 | [ ] | -| docker/ | Docker (multi-page) | ✓ | 2025-04-26 | [ ] | +| cmake | CMake | ✓ | 2025-04-26 | [x] | +| docker/ | Docker (multi-page) | ✓ | 2025-04-26 | [x] | | hyper-v | Hyper-V on Arm | ✓ | 2025-04-26 | [ ] | | aws_access_keys | AWS Credentials | ✓ | 2025-04-30 | [ ] | | aws-sam-cli | AWS SAM CLI | ✓ | 2025-04-30 | [ ] | | azure_login | Azure Authentication | ✓ | 2025-04-30 | [ ] | -| porting-advisor | Porting Advisor for Graviton | ✓ | 2025-04-30 | [ ] | +| porting-advisor | Porting Advisor for Graviton | ✓ | 2025-04-30 | [x] | | vscode-tunnels | VS Code Tunnels | ✓ | 2025-04-30 | [ ] | | ssh | SSH | ✓ | 2025-05-02 | [ ] | -| finch | Finch on Arm Linux | ✓ | 2025-05-22 | [ ] | +| finch | Finch on Arm Linux | ✓ | 2025-05-22 | [x] | | browsers/ | Browsers on Arm (multi-page) | ✓ | 2025-06-18 | [ ] | | go | Go | ✓ | 2025-07-16 | [x] | -| nomachine | NoMachine | ✓ | 2025-07-16 | [ ] | -| powershell | PowerShell | ✓ | 2025-07-16 | [ ] | -| swift | Swift | ✓ | 2025-07-16 | [ ] | -| oc | OpenShift CLI (oc) | ✓ | 2025-07-24 | [ ] | -| tkn | Tekton CLI (tkn) | ✓ | 2025-07-24 | [ ] | +| nomachine | NoMachine | ✓ | 2025-07-16 | [x] | +| powershell | PowerShell | ✓ | 2025-07-16 | [x] | +| swift | Swift | ✓ | 2025-07-16 | [x] | +| oc | OpenShift CLI (oc) | ✓ | 2025-07-24 | [x] | +| tkn | Tekton CLI (tkn) | ✓ | 2025-07-24 | [x] | | azure-cli | Azure CLI | ✓ | 2025-07-28 | [ ] | | pytorch | PyTorch | ✓ | 2025-10-14 | [ ] | -| multipass | Multipass | ✓ | 2025-10-17 | [ ] | +| multipass | Multipass | ✓ | 2025-10-17 | [x] | | vnc | VNC on Arm Linux | ✓ | 2025-11-24 | [ ] | | kiro-cli | Kiro CLI | ✓ | 2025-12-10 | [ ] | | linux-migration-tools | Arm Linux Migration Tools | ✓ | 2026-01-08 | [ ] | | aperf | APerf | ✓ | 2026-01-19 | [x] | -| gcc/ | GNU Compiler (multi-page) | ✓ | 2026-01-28 | [ ] | -| gemini | Gemini CLI | ✓ | 2026-01-30 | [ ] | -| java | Java | ✓ | 2026-01-30 | [ ] | -| openvscode-server | OpenVSCode Server | ✓ | 2026-01-30 | [ ] | +| gcc/ | GNU Compiler (multi-page) | ✓ | 2026-01-28 | [x] | +| gemini | Gemini CLI | ✓ | 2026-01-30 | [x] | +| java | Java | ✓ | 2026-01-30 | [x] | +| openvscode-server | OpenVSCode Server | ✓ | 2026-01-30 | [x] | | sbt | sbt | ✓ | 2026-01-30 | [ ] | -| wperf | WindowsPerf (wperf) | ✓ | 2026-01-30 | [ ] | +| wperf | WindowsPerf (wperf) | ✓ | 2026-01-30 | [x] | | asct | Arm System Characterization Tool | 🔒 hidden | 2026-02-06 | [x] | -| git-woa | Git for Windows on Arm | ✓ | 2026-02-26 | [ ] | +| git-woa | Git for Windows on Arm | ✓ | 2026-02-26 | [x] | +| flatpak | Flatpak | ✓ | 2026-04-20 | [x] | | dotnet | .NET SDK | ✓ | 2026-03-02 | [ ] | --- @@ -82,13 +83,13 @@ Legend: [x] reviewed | [ ] not started | 🔒 hidden/not published | keilstudio_vs | Arm Keil Studio for VS Code | ✓ | 2025-04-26 | [ ] | | license/ | Arm Software Licensing (multi-page) | ✓ | 2025-04-26 | [ ] | | streamline | Arm Streamline | ✓ | 2025-04-26 | [ ] | -| llvm-embedded | LLVM Embedded Toolchain for Arm | ✓ | 2025-04-30 | [ ] | +| llvm-embedded | LLVM Embedded Toolchain for Arm | ✓ | 2025-04-30 | [x] | | rust_embedded | Rust for Embedded Applications | ✓ | 2025-04-30 | [ ] | | ams | Arm Performance Studio | ✓ | 2025-08-08 | [ ] | | fm_fvp/ | Arm Fast Models and FVPs (multi-page) | ✓ | 2025-08-20 | [ ] | | stm32_vs | STM32 extensions for VS Code | ✓ | 2025-12-18 | [ ] | | mcuxpresso_vs | NXP MCUXpresso for VS Code | ✓ | 2026-01-14 | [ ] | -| cmsis-toolbox | CMSIS-Toolbox | ✓ | 2026-01-30 | [ ] | +| cmsis-toolbox | CMSIS-Toolbox | ✓ | 2026-01-30 | [x] | --- @@ -97,10 +98,10 @@ Legend: [x] reviewed | [ ] not started | 🔒 hidden/not published | Guide | Title | Published | Last Updated | Reviewed | |-------|-------|-----------|--------------|----------| | windows-sandbox-woa | Windows Sandbox for Windows on Arm | ✓ | 2025-04-25 | [ ] | -| llvm-woa | LLVM toolchain for Windows on Arm | ✓ | 2025-04-30 | [ ] | +| llvm-woa | LLVM toolchain for Windows on Arm | ✓ | 2025-04-30 | [x] | | github-copilot | GitHub Copilot | ✓ | 2025-12-16 | [ ] | | claude-code | Claude Code | ✓ | 2026-01-15 | [ ] | -| pytorch-woa | PyTorch for Windows on Arm | ✓ | 2026-01-30 | [ ] | +| pytorch-woa | PyTorch for Windows on Arm | ✓ | 2026-01-30 | [x] | | atp | Arm Total Performance | 🔒 hidden | 2026-02-06 | [ ] | | vs-woa | Visual Studio for Windows on Arm | ✓ | 2026-02-26 | [ ] | | armpl | Arm Performance Libraries | ✓ | 2026-03-02 | [x] | @@ -111,7 +112,7 @@ Legend: [x] reviewed | [ ] not started | 🔒 hidden/not published | Guide | Title | Published | Last Updated | Reviewed | |-------|-------|-----------|--------------|----------| -| forge | Linaro Forge | ✓ | 2025-04-30 | [ ] | +| forge | Linaro Forge | ✓ | 2025-04-30 | [x] | | gfortran | GFortran | ✓ | 2025-04-30 | [ ] | | acfl | Arm Compiler for Linux | ✓ | 2026-01-29 | [x] | @@ -125,13 +126,13 @@ Legend: [x] reviewed | [ ] not started | 🔒 hidden/not published | ros2 | ROS - Robot Operating System | Odin Shen | ✓ | 2025-04-25 | [ ] | | oci-cli | Oracle Cloud Infrastructure (OCI) CLI | Daniel Gubay | ✓ | 2025-04-26 | [ ] | | aws-greengrass-v2 | AWS IoT Greengrass | Michael Hall | ✓ | 2025-05-02 | [ ] | -| dcperf | DCPerf | Kieran Hejmadi | ✓ | 2025-09-22 | [ ] | -| container | Container CLI for macOS | Rani Chowdary Mandepudi | ✓ | 2025-09-29 | [ ] | +| dcperf | DCPerf | Kieran Hejmadi | ✓ | 2025-09-22 | [x] | +| container | Container CLI for macOS | Rani Chowdary Mandepudi | ✓ | 2025-09-29 | [x] | | bolt | BOLT | Jonathan Davies | ✓ | 2025-10-22 | [x] | | arduino-pico | Arduino core for the Raspberry Pi Pico | Michael Hall | ✓ | 2025-11-11 | [ ] | -| windows-perf-vs-extension | Visual Studio Extension for WindowsPerf | Nader Zouaoui | ✓ | 2025-11-11 | [ ] | -| windows-perf-wpa-plugin | Windows Performance Analyzer (WPA) plugin | Alaaeddine Chakroun | ✓ | 2025-12-02 | [ ] | +| windows-perf-vs-extension | Visual Studio Extension for WindowsPerf | Nader Zouaoui | ✓ | 2025-11-11 | [x] | +| windows-perf-wpa-plugin | Windows Performance Analyzer (WPA) plugin | Alaaeddine Chakroun | ✓ | 2025-12-02 | [x] | | streamline-cli | Streamline CLI Tools | Julie Gaskin | ✓ | 2025-12-18 | [ ] | -| codex-cli | Codex CLI | Joe Stech | ✓ | 2026-01-08 | [ ] | +| codex-cli | Codex CLI | Joe Stech | ✓ | 2026-01-08 | [x] | | fvps-on-macos | AVH FVPs on macOS | Christopher Seidl | ✓ | 2026-01-16 | [ ] | | rust | Rust for Linux Applications | Mathias Brossard | ✓ | 2026-01-26 | [ ] | From cff7bcb2b5357a02cfbeea4910d8c3f35e32c5e3 Mon Sep 17 00:00:00 2001 From: anupras-mohapatra-arm Date: Mon, 4 May 2026 11:57:24 -0500 Subject: [PATCH 43/48] updating a note --- content/install-guides/acfl.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/install-guides/acfl.md b/content/install-guides/acfl.md index a86f4af929..9a75a7f1e2 100644 --- a/content/install-guides/acfl.md +++ b/content/install-guides/acfl.md @@ -129,7 +129,7 @@ sudo ./arm-compiler-for-linux_24.10.1_RHEL-9.sh --accept ⚠️ On RPM based systems (such as Red Hat), if an alternative version of GCC (not the GCC bundled with ACfL) is installed **after** ACfL, you will not be able to uninstall ACfL fully. For example, a GDB -(GNU Project Debugger) installation will install the native system GCC. If this +(GNU Project Debugger) installation will install the native system GCC. If this install takes place **after** ACfL, you will no longer be able to fully uninstall ACfL. {{% /notice %}} @@ -147,7 +147,7 @@ Arm Compiler for Linux is available to install with the Ubuntu system package ma Add the ACfL `apt` package repository to your system. {{% notice Note %}} - These instructions apply for Ubuntu 22.04. You can check the [available versions](https://developer.arm.com/packages/) for other releases. +These instructions are for Ubuntu 22.04. For other releases, see [available versions](https://developer.arm.com/packages/). {{% /notice %}} From cd5aa064e41bbc80def7e9dda12daaa75b02a496 Mon Sep 17 00:00:00 2001 From: anupras-mohapatra-arm Date: Mon, 4 May 2026 11:58:59 -0500 Subject: [PATCH 44/48] updating a note --- content/install-guides/anaconda.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/content/install-guides/anaconda.md b/content/install-guides/anaconda.md index 931a42fd1b..433beed081 100644 --- a/content/install-guides/anaconda.md +++ b/content/install-guides/anaconda.md @@ -58,14 +58,12 @@ sudo amazon-linux-extras install mate-desktop1.x ## Download the latest Anaconda Distribution -For the latest version of Anaconda Distribution, see [Anaconda Distribution release notes](https://www.anaconda.com/docs/getting-started/anaconda/release-notes). +To download Anaconda Distribution, run: {{% notice Note %}} -The following commands use Anaconda version 2025.12.2. The same commands work with other versions. Replace the package used in these steps with the package for your version. +The following commands use Anaconda version 2025.12.2. The same commands work with other versions. Replace the package used in these steps with the package for your version. For the latest version of Anaconda Distribution, see [Anaconda Distribution release notes](https://www.anaconda.com/docs/getting-started/anaconda/release-notes). {{% /notice %}} -To download Anaconda Distribution, run: - ```bash curl -O https://repo.anaconda.com/archive/Anaconda3-2025.12-2-Linux-aarch64.sh ``` From 675653a89509e9e81568d7c3ce51e09de230144b Mon Sep 17 00:00:00 2001 From: anupras-mohapatra-arm Date: Mon, 4 May 2026 12:00:01 -0500 Subject: [PATCH 45/48] updating a note --- content/install-guides/aperf.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/install-guides/aperf.md b/content/install-guides/aperf.md index a1219f672e..321146a3ae 100644 --- a/content/install-guides/aperf.md +++ b/content/install-guides/aperf.md @@ -57,7 +57,7 @@ To use APerf's Java profiling option (`--profile-java`), install the [async-prof You can install APerf by downloading a release from GitHub and extracting it. {{%notice Note%}} -The following commands use version `v.1.2.2`. To install the latest version of APerf, replace `v.1.2.2` in the following commands with the identifier for the latest version. To find the latest version, see [releases](https://github.com/aws/aperf/releases/) on GitHub. +The following commands use version `v.1.2.2`. The same commands work with other versions. To install the latest version of APerf, replace `v.1.2.2` in the following commands with the identifier for the latest version. To find the latest version, see [releases](https://github.com/aws/aperf/releases/) on GitHub. {{%/notice%}} You can download a release from the command line: From 99b173d5817830fe210a623d9977dc16a8e6d5a5 Mon Sep 17 00:00:00 2001 From: anupras-mohapatra-arm Date: Mon, 4 May 2026 12:12:30 -0500 Subject: [PATCH 46/48] standardizing old notes --- content/install-guides/anaconda.md | 2 +- content/install-guides/aperf.md | 6 +++--- content/install-guides/armie.md | 5 ++--- content/install-guides/armpl.md | 6 +++--- content/install-guides/asct.md | 4 ++-- content/install-guides/bolt.md | 4 ++-- content/install-guides/cmake.md | 4 ++-- 7 files changed, 15 insertions(+), 16 deletions(-) diff --git a/content/install-guides/anaconda.md b/content/install-guides/anaconda.md index 433beed081..4db393f9d1 100644 --- a/content/install-guides/anaconda.md +++ b/content/install-guides/anaconda.md @@ -61,7 +61,7 @@ sudo amazon-linux-extras install mate-desktop1.x To download Anaconda Distribution, run: {{% notice Note %}} -The following commands use Anaconda version 2025.12.2. The same commands work with other versions. Replace the package used in these steps with the package for your version. For the latest version of Anaconda Distribution, see [Anaconda Distribution release notes](https://www.anaconda.com/docs/getting-started/anaconda/release-notes). +The following commands use Anaconda version 2025.12.2. The same commands work with other versions. Replace the file used in these steps with the file for your version of choice. To find the latest version, see [Anaconda Distribution release notes](https://www.anaconda.com/docs/getting-started/anaconda/release-notes). {{% /notice %}} ```bash diff --git a/content/install-guides/aperf.md b/content/install-guides/aperf.md index 321146a3ae..81ddb8bdc4 100644 --- a/content/install-guides/aperf.md +++ b/content/install-guides/aperf.md @@ -56,9 +56,9 @@ To use APerf's Java profiling option (`--profile-java`), install the [async-prof You can install APerf by downloading a release from GitHub and extracting it. -{{%notice Note%}} -The following commands use version `v.1.2.2`. The same commands work with other versions. To install the latest version of APerf, replace `v.1.2.2` in the following commands with the identifier for the latest version. To find the latest version, see [releases](https://github.com/aws/aperf/releases/) on GitHub. -{{%/notice%}} +{{% notice Note %}} +The following commands use APerf version 1.2.2. The same commands work with other versions. Replace the file used in these steps with the file for your version of choice. To find the latest version, see [APerf releases](https://github.com/aws/aperf/releases/). +{{% /notice %}} You can download a release from the command line: diff --git a/content/install-guides/armie.md b/content/install-guides/armie.md index 88479ce84c..739d617cd0 100644 --- a/content/install-guides/armie.md +++ b/content/install-guides/armie.md @@ -53,13 +53,12 @@ sudo apt-get install environment-modules -y ## Download Arm Instruction Emulator -You can download the appropriate Arm Instruction Emulator package for your host Linux platform from the [Product Downloads section](https://developer.arm.com/downloads/-/arm-instruction-emulator) of the Arm website. +For Ubuntu Linux, download the installer package using `wget`: {{% notice Note %}} -The following commands use Arm Instruction Emulator version 25.0 for Ubuntu 22.04. The same commands work with other versions and Linux platforms. Replace the package and script used in these steps with those for your version. +The following download and install commands use Arm Instruction Emulator version 25.0 for Ubuntu 22.04. The same commands work with other versions. Replace the file used in these steps with the file for your version of choice. To find the latest version, see [Arm Instruction Emulator downloads](https://developer.arm.com/downloads/-/arm-instruction-emulator). {{% /notice %}} -For Ubuntu Linux, download the installer package using `wget`: ```bash wget https://developer.arm.com/-/media/Files/downloads/hpc/arm-instruction-emulator/25-0/ARM-Instruction-Emulator_25.0_AArch64_Ubuntu_22.04.tar.gz diff --git a/content/install-guides/armpl.md b/content/install-guides/armpl.md index d41edeffe8..27d1acb084 100644 --- a/content/install-guides/armpl.md +++ b/content/install-guides/armpl.md @@ -83,7 +83,7 @@ For more information, see [Get started with Arm Performance Libraries](https://d [Download](https://developer.arm.com/downloads/-/arm-performance-libraries) the appropriate package for your macOS distribution. {{% notice Note %}} -The following commands use Arm Performance Libraries version 26.01. The same commands work with other versions. Replace the package used in these steps with the package for your version. +The following commands use Arm Performance Libraries version 26.01. The same commands work with other versions. Replace the file used in these steps with the file for your version of choice. To find the latest version, see [Arm Performance Libraries downloads](https://developer.arm.com/downloads/-/arm-performance-libraries). {{% /notice %}} In a terminal, run the following command to download the macOS package: @@ -132,7 +132,7 @@ Arm Performance Libraries are supported on most Linux distributions such as Ubun ### Manually download and install Arm Performance Libraries -[Download](https://developer.arm.com/downloads/-/arm-performance-libraries) the appropriate package for your Linux distribution. The `deb`-based installers can be used on Ubuntu 22 and Ubuntu 24. The RPM-based installers can be used on the following supported distributions: +Download the appropriate package for your Linux distribution. The `deb`-based installers can be used on Ubuntu 22 and Ubuntu 24. The RPM-based installers can be used on the following supported distributions: - Amazon Linux 2, Amazon Linux 2023 - RHEL-8, RHEL-9, RHEL-10 @@ -141,7 +141,7 @@ Arm Performance Libraries are supported on most Linux distributions such as Ubun The following instructions are for `deb`-based installers for GCC users. {{% notice Note %}} -The following commands use Arm Performance Libraries version 26.01. The same commands work with other versions. Replace the package used in these steps with the package for your version. +The following commands use Arm Performance Libraries version 26.01. The same commands work with other versions. Replace the file used in these steps with the file for your version of choice. To find the latest version, see [Arm Performance Libraries downloads](https://developer.arm.com/downloads/-/arm-performance-libraries). {{% /notice %}} In a terminal, run the following command to download the Debian package: diff --git a/content/install-guides/asct.md b/content/install-guides/asct.md index 7c98ddb0d1..1ff1075b3d 100644 --- a/content/install-guides/asct.md +++ b/content/install-guides/asct.md @@ -77,10 +77,10 @@ For more information about installing Perf on different Linux distributions, see ## Download and install ASCT -ASCT is distributed as a Python package and requires Python 3.10 or later. To find the latest ASCT release, see the [artifacts.tools.arm.com](https://artifacts.tools.arm.com/asct/dist/) page. +ASCT is distributed as a Python package and requires Python 3.10 or later. {{% notice Note %}} -The following commands use ASCT version 0.5.1. The same commands work with other versions. Replace the package used in these steps with the package for your version. +The following commands use ASCT version 0.5.1. The same commands work with other versions. Replace the file used in these steps with the file for your version of choice. To find the latest version, see [ASCT downloads](https://artifacts.tools.arm.com/asct/dist/). {{% /notice %}} ### Download ASCT diff --git a/content/install-guides/bolt.md b/content/install-guides/bolt.md index 0b3c303cd1..7940f0c0a7 100644 --- a/content/install-guides/bolt.md +++ b/content/install-guides/bolt.md @@ -151,10 +151,10 @@ You are now ready to [verify BOLT is installed](#verify). ### Install BOLT using a binary release -To find the latest binary release, see [Releases](https://github.com/llvm/llvm-project/releases?q=&expanded=true). +To install BOLT using a binary release, follow these steps: {{% notice Note %}} -The following commands use BOLT version 22.1.3. The same commands work with other versions. Replace the package used in these steps with the package for your version. +The following commands use BOLT version 22.1.3. The same commands work with other versions. Replace the file used in these steps with the file for your version of choice. To find the latest version, see [LLVM Project releases](https://github.com/llvm/llvm-project/releases). {{% /notice %}} 1. Download a binary release diff --git a/content/install-guides/cmake.md b/content/install-guides/cmake.md index c00ba85a4b..71b8062807 100644 --- a/content/install-guides/cmake.md +++ b/content/install-guides/cmake.md @@ -105,10 +105,10 @@ With `snap`, the `cmake` executable is installed in `/snap/bin` which should alr ### Use a specific CMake release from GitHub -If you need a specific version of CMake, see [releases](https://github.com/Kitware/CMake/releases). +To install a specific version of CMake from GitHub, follow these steps: {{% notice Note %}} -The following commands use CMake version 4.3.1. The same commands work with other versions. Replace the package used in these steps with the package for your version. +The following commands use CMake version 4.3.1. The same commands work with other versions. Replace the script used in these steps with the script for your version of choice. To find the latest version, see [CMake releases](https://github.com/Kitware/CMake/releases). {{% /notice %}} 1. Download a release from GitHub: From 848cecab4fcbbb8c58c8fd02ca33383d0003963b Mon Sep 17 00:00:00 2001 From: anupras-mohapatra-arm Date: Mon, 4 May 2026 13:27:35 -0500 Subject: [PATCH 47/48] updating armie instructions after failed action --- content/install-guides/armie.md | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/content/install-guides/armie.md b/content/install-guides/armie.md index 739d617cd0..f8c2666dc9 100644 --- a/content/install-guides/armie.md +++ b/content/install-guides/armie.md @@ -53,16 +53,8 @@ sudo apt-get install environment-modules -y ## Download Arm Instruction Emulator -For Ubuntu Linux, download the installer package using `wget`: +For Ubuntu Linux, download the installer package from [Arm Instruction Emulator downloads](https://developer.arm.com/downloads/-/arm-instruction-emulator). -{{% notice Note %}} -The following download and install commands use Arm Instruction Emulator version 25.0 for Ubuntu 22.04. The same commands work with other versions. Replace the file used in these steps with the file for your version of choice. To find the latest version, see [Arm Instruction Emulator downloads](https://developer.arm.com/downloads/-/arm-instruction-emulator). -{{% /notice %}} - - -```bash -wget https://developer.arm.com/-/media/Files/downloads/hpc/arm-instruction-emulator/25-0/ARM-Instruction-Emulator_25.0_AArch64_Ubuntu_22.04.tar.gz -``` ## Install Arm Instruction Emulator @@ -71,7 +63,7 @@ To install the Arm Instruction Emulator, extract the downloaded package and run Extract the downloaded package: ```bash -tar -xf ARM-Instruction-Emulator_25.0_AArch64_Ubuntu_22.04.tar.gz +tar -xvzf ARMIE-BN-UBUNT-r25p0-00rel0.tgz ``` Run the install script: From 5e6dd1e7d3d77ca7dcf5ccad3726aee5126b3792 Mon Sep 17 00:00:00 2001 From: anupras-mohapatra-arm Date: Mon, 4 May 2026 14:14:04 -0500 Subject: [PATCH 48/48] converting some commands to console --- content/install-guides/armie.md | 4 ++-- content/install-guides/armpl.md | 6 +++--- content/install-guides/sysbox.md | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/content/install-guides/armie.md b/content/install-guides/armie.md index f8c2666dc9..5dadf10bc1 100644 --- a/content/install-guides/armie.md +++ b/content/install-guides/armie.md @@ -62,13 +62,13 @@ To install the Arm Instruction Emulator, extract the downloaded package and run Extract the downloaded package: -```bash +```console tar -xvzf ARMIE-BN-UBUNT-r25p0-00rel0.tgz ``` Run the install script: -```bash +```console sudo ./arm-instruction-emulator_25.0_Ubuntu-22.04/arm-instruction-emulator_25.0_Ubuntu-22.04.sh -a ``` diff --git a/content/install-guides/armpl.md b/content/install-guides/armpl.md index 27d1acb084..8f258d8de0 100644 --- a/content/install-guides/armpl.md +++ b/content/install-guides/armpl.md @@ -146,19 +146,19 @@ The following commands use Arm Performance Libraries version 26.01. The same com In a terminal, run the following command to download the Debian package: -```bash +```console wget https://developer.arm.com/-/cdn-downloads/permalink/Arm-Performance-Libraries/Version_26.01/arm-performance-libraries_26.01_deb_gcc.tar ``` Use `tar` to extract the file and then change directory: -```bash +```console tar xf arm-performance-libraries_26.01_deb_gcc.tar ``` Run the installation script as a super user: -```bash +```console sudo ./arm-performance-libraries_26.01_deb/arm-performance-libraries_26.01_deb.sh --accept ``` diff --git a/content/install-guides/sysbox.md b/content/install-guides/sysbox.md index 2d5bcc2b9f..7357214f38 100644 --- a/content/install-guides/sysbox.md +++ b/content/install-guides/sysbox.md @@ -69,7 +69,7 @@ The following commands use Sysbox version 0.6.7. The same commands work with oth {{% /notice %}} ```bash -wget https://downloads.nestybox.com/sysbox/releases/v0.6.7/sysbox-ce_0.6.7-0.linux_arm64.deb +wget https://github.com/nestybox/sysbox/releases/download/v0.6.7/sysbox-ce_0.6.7.linux_arm64.deb ``` Install the package using the `apt` command: