From c25e1685d8bf1fef70fb4b60b8d31ba7dd000f50 Mon Sep 17 00:00:00 2001 From: Jason Andrews Date: Wed, 30 Apr 2025 15:33:02 -0500 Subject: [PATCH 1/2] Update more install guide heading to be questions. --- content/install-guides/aws-sam-cli.md | 14 +++---- content/install-guides/aws_access_keys.md | 2 +- content/install-guides/azure-cli.md | 6 +-- content/install-guides/azure_login.md | 4 +- content/install-guides/forge.md | 24 ++++++------ content/install-guides/fvps-on-macos.md | 8 ++-- content/install-guides/gfortran.md | 19 +++------- content/install-guides/llvm-embedded.md | 16 ++++---- content/install-guides/llvm-woa.md | 6 +-- content/install-guides/multipass.md | 38 +++++++++++-------- content/install-guides/porting-advisor.md | 10 ++--- content/install-guides/rust.md | 12 +++--- content/install-guides/rust_embedded.md | 12 +++--- content/install-guides/ssh.md | 24 ++++++------ content/install-guides/vnc.md | 12 +++--- content/install-guides/vscode-tunnels.md | 26 ++++++------- .../windows-perf-vs-extension.md | 14 +++---- content/install-guides/wperf.md | 19 +++++----- 18 files changed, 133 insertions(+), 133 deletions(-) diff --git a/content/install-guides/aws-sam-cli.md b/content/install-guides/aws-sam-cli.md index 3e76f4b72b..708452c7e7 100644 --- a/content/install-guides/aws-sam-cli.md +++ b/content/install-guides/aws-sam-cli.md @@ -20,7 +20,7 @@ weight: 1 The Amazon Web Services (AWS) Serverless Application Model (SAM) CLI is an open-source command-line tool that you can use to build, test, and deploy serverless applications. The SAM CLI provides a Lambda-like execution environment that lets you locally build, test and debug applications defined by AWS SAM templates. It is available for a variety of operating systems and Linux distributions, and supports the Arm architecture. -## Before you begin +## How do I prepare to install AWS SAM CLI on Ubuntu? Follow the instructions below to install and try the latest version of the AWS SAM CLI for Ubuntu on Arm. @@ -48,14 +48,14 @@ To install, run the following command: sudo apt install python-is-python3 python3-pip -y ``` -## Download and install the AWS SAM CLI +## How do I download and install the AWS SAM CLI? There are two options to install the SAM CLI, you can select your preferred method: * From a zip file. * Using the Python `pip` command. -### Download and install from zip file +### How do I download and install from a zip file? Use `wget`: @@ -65,7 +65,7 @@ unzip aws-sam-cli-linux-arm64.zip -d sam-install sudo ./sam-install/install ``` -### Install the SAM CLI using Python pip +### How do I install the AWS SAM CLI using Python pip? ``` sudo apt install python3-venv -y @@ -74,7 +74,7 @@ source .venv/bin/activate pip install aws-sam-cli ``` -### Confirm that the SAM CLI has been installed +### How can I confirm that the AWS SAM CLI was installed correctly? ```bash sam --version @@ -86,7 +86,7 @@ The version should be printed on screen: SAM CLI, version 1.125.0 ``` -## Example application +## How do I create an example application with the AWS SAM CLI? You can use the AWS SAM CLI to build and deploy a simple "Hello World" serverless application that includes the line `uname -m` to check the platform it is running on, by following these steps. @@ -173,5 +173,5 @@ REPORT RequestId: 513dbd6f-7fc0-4212-ae13-a9a4ce2f21f4 Init Duration: 0.26 ms Du {"statusCode": 200, "body": "{\"message\": \"aarch64\\n\"}"} ``` -You are ready to use the AWS SAM CLI to build more complex functions and deploy them into AWS. Make sure to select `arm64` as the architecture for your Lambda functions. +You are ready to use the AWS SAM CLI to build more complex functions and deploy them into AWS. Make sure to select `arm64` as the architecture for your Lambda functions. diff --git a/content/install-guides/aws_access_keys.md b/content/install-guides/aws_access_keys.md index d2447a4851..add12ade79 100644 --- a/content/install-guides/aws_access_keys.md +++ b/content/install-guides/aws_access_keys.md @@ -46,7 +46,7 @@ Copy the `Access key ID` and `Secret access key` ![aws3 #center](https://github.com/ArmDeveloperEcosystem/arm-learning-paths/assets/40816837/699c3643-f979-4548-81f9-4300828b6a06 "Copy keys") -## Configure the AWS CLI +## How do I configure the AWS CLI? Run the following command to set up your AWS CLI: diff --git a/content/install-guides/azure-cli.md b/content/install-guides/azure-cli.md index 345e8372a3..d7dc3b14e0 100644 --- a/content/install-guides/azure-cli.md +++ b/content/install-guides/azure-cli.md @@ -20,7 +20,7 @@ weight: 1 It is available for a variety of operating systems and Linux distributions and has multiple ways to install it. -## Before you begin +## How do I prepare to install the Azure CLI on Ubuntu? [General installation information](https://learn.microsoft.com/en-us/cli/azure/install-azure-cli-linux?pivots=apt) is available which covers all supported Linux distributions. Starting with version 2.46.0, Azure CLI supports Arm64 Linux distributions. The 'apt' package manager contains both x86_64 and Arm64 packages for the following linux distributions @@ -28,7 +28,7 @@ It is available for a variety of operating systems and Linux distributions and h Ubuntu 20.04, Ubuntu 22.04, Ubuntu 24.04 ``` -## Install via Azure CLI script +## How do I install the Azure CLI using the installation script? Confirm you are using an Arm machine by running: @@ -69,7 +69,7 @@ You should see an output similar to below If you prefer installing the Azure CLI using Python3, follow the instructions below. -## Download and Install using pip +## How do I download and install the Azure CLI using pip? Another way to install Azure CLI for Ubuntu on Arm is to use Python pip. diff --git a/content/install-guides/azure_login.md b/content/install-guides/azure_login.md index 350f8d6549..4b129b2298 100644 --- a/content/install-guides/azure_login.md +++ b/content/install-guides/azure_login.md @@ -26,11 +26,11 @@ layout: installtoolsall # DO NOT MODIFY. Always true for tool install ar In this section you will learn how to authenticate to the Azure environment using the Azure CLI. After log in, the CLI allows you to query and interact with Azure cloud resources. -## Before you begin +## How do I prepare to authenticate using the Azure CLI? Install the Azure CLI on your machine using the [install guide](/install-guides/azure-cli/). -## Sign in interactively +## How do I sign in interactively to Azure? Run the following command to initiate the log in: diff --git a/content/install-guides/forge.md b/content/install-guides/forge.md index 209d3c3564..31861ce215 100644 --- a/content/install-guides/forge.md +++ b/content/install-guides/forge.md @@ -27,13 +27,13 @@ Linaro Forge consists of * [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. -## Supported platforms +## What platforms are 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. This install guide assumes an Arm AArch64 platform running Ubuntu Linux. -## Download +## How do I download Linaro Forge? Download and extract the appropriate installation package from [Linaro Forge Downloads](https://www.linaroforge.com/downloadForge/). @@ -43,9 +43,9 @@ wget https://downloads.linaroforge.com/24.0.3/linaro-forge-24.0.3-linux-aarch64. tar -xf linaro-forge-24.0.3-linux-aarch64.tar ``` -## Installation +## How do I install Linaro Forge? -### Linux host +### How do I install Linaro Forge on a Linux host? Run the installer from the command line with: @@ -61,15 +61,15 @@ To install to the default directory, non-interactively: linaro-forge-24.0.3-linux-aarch64/textinstall.sh --accept-license /home/ubuntu/linaro/forge/24.0.3 ``` -### Install on macOS (remote client only) +### How do I install Linaro Forge on macOS (remote client only)? Drag and drop the client application bundle icon into the Applications directory. -### Install on Windows (remote client only) +### How do I install Linaro Forge on Windows (remote client only)? Run the Windows file executable to install the Linaro Forge Remote Client. -### Graphical installer +### How do I run the graphical installer for Linaro Forge? Optionally, you can run the installer executable with a graphical interface. @@ -78,7 +78,7 @@ cd linaro-forge-24.0.3-linux-aarch64/ ./installer ``` -## Setting up the product license +## How do I set up the product license for Linaro Forge? You must install a license file on a machine running Linaro Forge tools to debug or profile. @@ -88,9 +88,9 @@ You do not need to install a license file on a machine running Linaro Forge Remo [Free trial licenses](https://www.linaroforge.com/freeTrial/) are available for you try out Linaro Forge. -## Get started +## How do I get started with Linaro Forge? -### Debugging +### How do I 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`. @@ -124,7 +124,7 @@ 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. -### Profiling +### How do I 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)). @@ -150,7 +150,7 @@ A *.map file will be created in the current directory with profiling results whe map myapp_128p_.map ``` -### Performance Reports +### How do I 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)). diff --git a/content/install-guides/fvps-on-macos.md b/content/install-guides/fvps-on-macos.md index 107a9f0b9e..da67fa3389 100644 --- a/content/install-guides/fvps-on-macos.md +++ b/content/install-guides/fvps-on-macos.md @@ -28,13 +28,13 @@ layout: installtoolsall # DO NOT MODIFY. Always true for tool install ar --- This guide is intended to get you up and running with the [Arm Virtual Hardware (AVH) Fixed Virtual Platforms (FVPs)](https://www.arm.com/products/development-tools/simulation/virtual-hardware) on macOS. For a thorough review of all options, refer to the official documentation. -## Prerequisites +## What are the prerequisites for running AVH FVPs on macOS? [Install Docker Desktop on Mac](https://docs.docker.com/desktop/install/mac-install/). If this is for commercial use, you might require a paid subscription. -## Clone the repo +## How do I clone the repository? Open a terminal and set the working directory to the location in which you would like to store the Fast Model. Then run: @@ -44,7 +44,7 @@ git clone https://github.com/Arm-Examples/FVPs-on-Mac.git This creates the subdirectory `FVPs-on-Mac` in the current working directory. -## Build the Docker wrapper +## How do I build the Docker wrapper for AVH FVPs? Run the build script to create the Docker image and populate the `bin` folder with model wrappers: @@ -60,7 +60,7 @@ These wrappers can be used exactly like any native model executable: ./bin/FVP_MPS2_Cortex-M3 --version ``` -## Expose models to local environment +## How do I expose the models to my local environment? Add `$(pwd)/FVPs-on-Mac/bin` to `PATH` environment: diff --git a/content/install-guides/gfortran.md b/content/install-guides/gfortran.md index d37613e292..0215327664 100644 --- a/content/install-guides/gfortran.md +++ b/content/install-guides/gfortran.md @@ -25,11 +25,7 @@ weight: 1 [GNU Fortran](https://gcc.gnu.org/fortran/) is the Fortran compiler front end and run-time libraries for GCC, the GNU Compiler Collection. -GFortran is available on all Linux distributions and can be installed using the package manager. - -## Before you begin - -Follow the instructions below to install and use `gfortran` on an Arm Linux distribution. +## How do I prepare to install and use gfortran on an Arm Linux distribution? Confirm you are using an Arm machine by running: @@ -45,13 +41,11 @@ aarch64 If you see a different result, you are not using an Arm computer running 64-bit Linux. -## Download +## How do I download gfortran using the Linux package manager? The Linux package manager downloads the required files so there are no special instructions. -## Installation {#install} - -### Installing on Debian based distributions such as Ubuntu +### How do I install gfortran on Debian-based distributions such as Ubuntu? Use the `apt` command to install software packages on any Debian based Linux distribution, including Ubuntu. @@ -60,7 +54,7 @@ sudo apt update sudo apt install gfortran -y ``` -### Installing on Red Hat / Fedora / Amazon Linux +### How do I install gfortran on Red Hat, Fedora, or Amazon Linux? These Linux distributions use `yum` as the package manager. @@ -78,12 +72,11 @@ sudo yum update -y sudo yum install gcc-gfortran -y ``` - -## Setting up product license {#license} +## Do I need to set up a product license for gfortran? Arm GNU Toolchain is open source and freely available for use. No licenses need to be set up for use. -## Get started {#start} +## How do I verify the gfortran installation and get started? To confirm the installation is complete run: diff --git a/content/install-guides/llvm-embedded.md b/content/install-guides/llvm-embedded.md index 12796aab75..0b8495ab1b 100644 --- a/content/install-guides/llvm-embedded.md +++ b/content/install-guides/llvm-embedded.md @@ -31,7 +31,7 @@ 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. -## Windows {#windows} +## How do I 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: @@ -45,7 +45,7 @@ Open Windows `Control Panel` and add the LLVM `bin` directory to the `Path`. Open a `Command Prompt` and [test your installation](#test). -## macOS {#macos} +## How do I 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: @@ -70,7 +70,7 @@ find . -type f -perm +0111 | xargs xattr -d com.apple.quarantine You can now [test your installation](#test). -## Linux {#linux} +## How do I 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. @@ -92,11 +92,11 @@ Add the LLVM `bin` directory to your `PATH`: export PATH=$HOME/LLVM-ET-Arm-18.1.3-Linux-AArch64/bin:$PATH ``` -You can now [test your installation](#test). +## How do I test the LLVM Embedded Toolchain installation? {#test} -## Test installation {#test} +You can now test your installation. -### Verify the clang installation +### How do I verify the clang installation? Use the `--version` option to verify the correct compiler is being invoked: @@ -113,7 +113,7 @@ Thread model: posix InstalledDir: /home/ubuntu/LLVM-ET-Arm-18.1.3-Linux-AArch64/bin ``` -### Build a simple application +### How do I build a simple application with clang? Use a text editor to create an example source file with the name `hello.c` and the code below: @@ -141,7 +141,7 @@ To build for `Armv7-M`: clang --target=armv7m-none-eabi -fno-exceptions -fno-rtti -lcrt0-semihost -lsemihost -T picolibc.ld -o hello_v7m hello.c ``` -### Run the examples +### How do I run the example applications? The applications can be run on [Fixed Virtual Platforms (FVP)](/install-guides/fm_fvp/fvp/). diff --git a/content/install-guides/llvm-woa.md b/content/install-guides/llvm-woa.md index 44e0dfb81a..b5272317bc 100644 --- a/content/install-guides/llvm-woa.md +++ b/content/install-guides/llvm-woa.md @@ -31,7 +31,7 @@ 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. -## Download and install +## How do I 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 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). @@ -53,7 +53,7 @@ The setup will complete successfully. Select `Finish` to close the installer. ![img2 #center](/install-guides/_images/llvm-finish.png) -## Check the installation +## How do I check the LLVM toolchain installation? Open a Windows Command prompt or a PowerShell prompt and run: @@ -69,7 +69,7 @@ Thread model: posix InstalledDir: C:\Program Files\LLVM\bin ``` -## Other versions of LLVM +## What other LLVM versions are available? You can download other LLVM builds from [the download repository](https://releases.llvm.org/download.html). diff --git a/content/install-guides/multipass.md b/content/install-guides/multipass.md index 0e04942a6a..e70f0d9063 100644 --- a/content/install-guides/multipass.md +++ b/content/install-guides/multipass.md @@ -40,15 +40,15 @@ A computer running macOS with Apple Silicon or an Arm Linux computer with KVM en Multipass provides a clear CLI to easily start virtual machine instances, do development tasks, and clean the VMs from your computer. -## Before you begin +## What are the prerequisites for running Multipass? 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. -## Installation on macOS +## How do I install Multipass on macOS? -### Download {#download} +### How do I download Multipass for macOS? {#download} Download Multipass for macOS. @@ -56,7 +56,7 @@ Download Multipass for macOS. wget https://github.com/canonical/multipass/releases/download/v1.14.1-rc1/multipass-1.14.1-rc1+mac.14+gf2381bfe9.mac-Darwin.pkg ``` -### Install +### How do I install Multipass on macOS? Install the download using the package command. @@ -70,7 +70,7 @@ The getting started instructions below use the command line interface. If you pr Multipass is now installed. Proceed to [Get Started with Multipass](#getstarted). -## Installation on Arm Linux +## How do I install Multipass on Arm Linux? Multipass can be used on Arm Linux computers such as the Raspberry Pi 5. @@ -78,7 +78,7 @@ Running Multipass on Linux requires the KVM hypervisor. KVM does not typically w The instructions have been tested on a Raspberry Pi 5 running Raspberry Pi OS and Ubuntu. -### Check KVM +### How do I check if KVM is available? Install and run the `kvm-ok` command to confirm KVM is available. @@ -112,7 +112,7 @@ HINT: sudo /usr/sbin/kvm-ok If KVM is available, proceed with the install. -### Install +### How do I install the Sanp daemon on Arm Linux? You may need to install the Snap daemon, `snapd`, before installing Multipass. @@ -145,9 +145,11 @@ Add `--beta` or `--edge` to the install command below to select these more recen sudo snap install multipass ``` -Multipass is now installed. +## How do I get started with Multipass? {#getstarted} -## Get started with Multipass {#getstarted} +Multipass is now installed, you can try it out. + +### How do I confirm Multipass is installed? To confirm multipass is installed run the `version` command. @@ -161,6 +163,8 @@ If the `multipass` command is not found, you can add `/snap/bin` to the Bash sea export PATH=$PATH:/snap/bin ``` +### How do I 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. To see the available images run the `find` command. Any of the listed images can be used to create a new instance. @@ -187,7 +191,7 @@ ros-noetic 0.1 A development and ros2-humble 0.1 A development and testing environment for ROS 2 Humble. ``` -### Launching instances +### How do I 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. @@ -201,7 +205,7 @@ 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. -### Connect and use instances +### How do I 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. @@ -215,6 +219,8 @@ To start a command line shell on a running instance use the `shell` command. multipass shell m1u ``` +### How do I 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 ``--`` ```console @@ -227,7 +233,7 @@ The `uname` output will look similar to: 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 ``` -### Print information +### How do I print instance information with Multipass? The `info` command prints information about the instance, including the IP address. @@ -251,7 +257,7 @@ Memory usage: 355.3MiB out of 3.8GiB Mounts: -- ``` -### Mount a host directory +### How do I 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. @@ -263,6 +269,8 @@ 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? + Use the `umount` command to unmount the directory. ```console @@ -271,7 +279,7 @@ multipass umount m1u:/home/ubuntu/dev Directories can be dynamically mounted and unmounted without stopping the instance. -### Stop and Start +### How do I stop and start a Multipass instance? Multipass instances can be stopped and started quickly. @@ -289,7 +297,7 @@ To start the instance. multipass start m1u ``` -### Cleanup +### 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. diff --git a/content/install-guides/porting-advisor.md b/content/install-guides/porting-advisor.md index 43c2e4a4d1..1879dc94b0 100644 --- a/content/install-guides/porting-advisor.md +++ b/content/install-guides/porting-advisor.md @@ -38,7 +38,7 @@ Supported operating systems include Linux, Windows, and macOS. Porting Advisor analyzes C/C++, Python, Java, Fortran, and Go applications. -## Before you begin +## What prerequisites do I need before using Porting Advisor? Follow the instructions below to install and use Porting Advisor on Ubuntu or [Amazon Linux 2023](https://aws.amazon.com/linux/amazon-linux-2023/). @@ -95,7 +95,7 @@ sudo dnf install maven -y {{< /tab >}} {{< /tabpane >}} -## Installation +## How do I install Porting Advisor? Download Porting Advisor from GitHub: @@ -106,7 +106,7 @@ 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. -### Run as a script +### How do I run Porting Advisor as a Python script? To setup to run as a python script, create a Python virtual environment: @@ -143,7 +143,7 @@ usage: porting-advisor [-h] [--issue-types ISSUE_TYPES] [--no-filter] [--no-prog ``` -### Run as an executable +### How do I run Porting Advisor as an executable? Running Porting Advisor as an executable requires a build step. @@ -175,7 +175,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. -### Test a sample project +### How do I test Porting Advisor with a sample project? The Porting Advisor includes some small examples in the `sample-projects` directory of the GitHub repository. diff --git a/content/install-guides/rust.md b/content/install-guides/rust.md index cca756550c..7742c9afe3 100644 --- a/content/install-guides/rust.md +++ b/content/install-guides/rust.md @@ -26,7 +26,7 @@ This install guide is for Linux application developers wishing to use Rust. If you wish to use Rust to build embedded applications for Arm, refer to [Rust for Embedded Applications](/install-guides/rust_embedded/) instead. -## Before you begin +## What are the prerequisites before installing Rust on Arm Linux? Rust is available for a variety of operating systems and Linux distributions, and there are multiple ways to install it. @@ -46,9 +46,9 @@ aarch64 If you see a different result, you are not using an Arm computer running 64-bit Linux. -## Installation {#install} +## How do I install Rust on an Arm Linux system? {#install} -### Installing dependencies on Debian based distributions such as Ubuntu +### How do I install dependencies on Debian-based distributions? Use the `apt` command to install the required software packages on any Debian-based Linux distribution, including Ubuntu. @@ -57,7 +57,7 @@ sudo apt update sudo apt install -y curl gcc ``` -### Installing dependencies on Red Hat / Fedora / Amazon Linux +### How do I install dependencies on Red Hat, Fedora, or Amazon Linux? These Linux distributions use `yum` as the package manager. @@ -68,7 +68,7 @@ sudo yum update -y sudo yum install -y curl gcc ``` -### Download and install Rust +### How do I download and install Rust? Run the following command to download and install Rust: @@ -136,7 +136,7 @@ cargo 1.74.1 (ecb9851af 2023-10-18) You are ready to use the Rust programming language on your Arm Linux machine. -## Get started {#start} +## How do I get started using Rust? {#start} To compile an example program, run the following commands: diff --git a/content/install-guides/rust_embedded.md b/content/install-guides/rust_embedded.md index e5e0ddaf1b..4afc3f8402 100644 --- a/content/install-guides/rust_embedded.md +++ b/content/install-guides/rust_embedded.md @@ -29,9 +29,9 @@ This install guide describes a setup using an Ubuntu Linux host. For a thorough review of all options, refer to the official documentation. See [The Embedded Rust Book](https://docs.rust-embedded.org/book/). -## Installation {#install} +## How do I install Rust for Embedded Applications? {#install} -### Download and install Rust +### How do I download and install Rust? Run the following command to download and install Rust: @@ -56,7 +56,8 @@ The output is similar to: rustc 1.78.0 (9b00956e5 2024-04-29) cargo 1.78.0 (54d8815d0 2024-03-26) ``` -### Add Arm cross-compilation support + +### How do I add Arm cross-compilation support? Add cross compilation support for the required Arm Architectures. For example, to add support for Armv7-M architecture, you can use: ```bash @@ -67,7 +68,7 @@ For a full list of supported architectures, use: rustup target list ``` -### Install cargo-generate +### How do I install cargo-generate? To generate a project from a template, you need `cargo-generate`. To install and rebuild use: @@ -77,9 +78,10 @@ sudo apt install -y build-essential cargo install cargo-generate ``` -### Install cargo-binutils (optional) +### How do I install cargo-binutils? (optional) Other utilities are also available. For completeness, they can be installed with: + ```command cargo install cargo-binutils rustup component add llvm-tools-preview diff --git a/content/install-guides/ssh.md b/content/install-guides/ssh.md index 9046fd03c7..af6ac243ea 100644 --- a/content/install-guides/ssh.md +++ b/content/install-guides/ssh.md @@ -35,15 +35,11 @@ This section provides answers to the most frequently asked SSH setup questions r Feel free to seek out additional SSH tutorials or add more information to this page. -## SSH +## What is SSH? -SSH is a client server application. +SSH is a client-server application. An SSH server (daemon) runs on a remote machine, and an SSH client runs on the local machine. -An SSH server, also called the SSH daemon, runs on a remote machine. - -An SSH client runs on the local machine (the one you are typing on) and connects to the remote daemon. - -### Decide if the SSH daemon is already running +### How do I decide if the SSH daemon is already running? For SSH to work, the SSH daemon must be running on the remote machine. Many Linux distributions install and run the SSH daemon automatically. @@ -63,7 +59,8 @@ If the output displays "running", then the SSH daemon is already running. ```output Active: active (running) since Tue 2022-09-27 01:04:44 UTC; 17h ago ``` -### Install SSH server + +### How do I install the SSH server? If the SSH daemon is not running on the remote Linux machine, install it using the package manager. @@ -76,7 +73,7 @@ For Red Hat and Amazon Linux distributions. sudo yum install openssh-server ``` -### Start and stop the SSH daemon {#startstop} +### How do I start and stop the SSH daemon? {#startstop} The commands below are for any Linux distribution using `systemd`. This includes Debian, Ubuntu, and Amazon Linux. @@ -92,7 +89,8 @@ To restart the SSH daemon: ```bash sudo systemctl restart ssh ``` -### Use a password with SSH + +### How do I use a password with SSH? For security reasons, cloud instances don’t enable password logins and there is no password set for the user accounts (such as `ubuntu` or `ec2-user`). @@ -115,7 +113,7 @@ sudo passwd ubuntu For improved security, set the security group of the cloud instance to allow port 22 traffic (SSH) from a minimal set of IP addresses, not anywhere on the internet. Use password access with caution. -### SSH keys +### How do I manage SSH keys? SSH uses a private and a public key. The public key is placed on the remote machine (server) and the private key is kept on the local machine (client). The keys allow the client to connect to the server. @@ -156,7 +154,7 @@ With a config file SSH can be used with only the Hostname and no arguments. ssh myserver ``` -### Add a new key pair +### How do I add a new SSH key pair? If you want to give access to somebody else without enabling password access or sharing your private key, you can add another key pair to the remote machine. You may also want to change the key pair used when the remote machine was created. @@ -168,7 +166,7 @@ If you ran `ssh-keygen` on your local machine, the public key is at `~/.ssh/id_r Use the new private key on the local machine to connect. If you have `~/.ssh/id_rsa` on your local machine it will be used automatically and you can SSH to the remote machine. -### Port forwarding +### How do I set up port forwarding with SSH? You can use port forwarding to access a port on a remote computer which is blocked by a firewall or security group. This is helpful when your application is running on a remote computer with SSH access, but no other ports are open. For example, if you are running a web application on a cloud instance and it uses port 3000 you can SSH to the cloud instance with port forwarding and access the application. diff --git a/content/install-guides/vnc.md b/content/install-guides/vnc.md index 9d3bd70dd5..3b8ec2ad02 100644 --- a/content/install-guides/vnc.md +++ b/content/install-guides/vnc.md @@ -37,11 +37,11 @@ Feel free to seek out additional VNC tutorials or add more information to this p This installation only works on newer versions of Ubuntu and Debian. It was successfully tested on **Ubuntu 22.04** and is known to fail on **Ubuntu 20.04**. -## VNC +## What is VNC? VNC is a client server application. A VNC server runs on a remote machine. A VNC client runs on the local machine and connects to the remote server. -### Install VNC server and xfce4 desktop +### How do I install the VNC server and xfce4 desktop? To use VNC, a VNC server needs to be installed. There are multiple VNC servers which can be used. This recipe uses [TigerVNC](https://tigervnc.org/). @@ -59,7 +59,7 @@ Install the VNC server. sudo apt-get install tigervnc-standalone-server tigervnc-common -y ``` -### Set a VNC password +### How do I set a VNC password? Run the password command to set a password for VNC. This is not the password for the user account, just for the VNC client to connect to the VNC server. @@ -69,7 +69,7 @@ vncpasswd Remember the password for later when the client is connected. -### Configure the desktop startup +### How do I configure the desktop startup for VNC? Create a file at `$HOME/.vnc/xstartup` with the contents: @@ -84,7 +84,7 @@ Make sure the `xstartup` file has executable permission. chmod +x $HOME/.vnc/xstartup ``` -### Setup a systemd service to start and stop VNC +### How do I set up a systemd service to manage VNC? To create a systemd service to start the VNC server create the file `/etc/systemd/system/vncserver@.service` @@ -127,7 +127,7 @@ To restart the VNC service: sudo systemctl restart vncserver@1.service ``` -### Use port forwarding via SSH to connect +### How do I use port forwarding via SSH to connect to VNC? The default port for the first instance of VNC is `5901`. SSH port forwarding is the best solution for accessing the Linux desktop on a cloud machine. This way no additional ports need to be opened in the security group. diff --git a/content/install-guides/vscode-tunnels.md b/content/install-guides/vscode-tunnels.md index 99922c48f9..ec65f5eef3 100644 --- a/content/install-guides/vscode-tunnels.md +++ b/content/install-guides/vscode-tunnels.md @@ -41,7 +41,7 @@ To create a tunnel a command-line instance of VS Code is run on the remote machi Creating VS Code tunnels requires a [GitHub](https://github.com/) account. {{% /notice %}} -## Before you begin +## What are the prerequisites before installing VS Code Tunnels? Follow the instructions below to install either the CLI version or the desktop version of VS Code on an Arm Linux machine. This is the remote machine you want to use for development. @@ -65,24 +65,24 @@ For the Armv7-A architecture the output should be: armv7l ``` -## Pick a version to download +## Which version of VS Code should I download? Download either the CLI version or the desktop version of VS Code. The desktop version is the best choice if the machine has a Linux desktop and you want to use both a remote tunnel and do desktop development. The CLI version is best for tunneling only. -### Download CLI version of VS Code (tunnel only) +### How do I download the CLI version of VS Code for tunneling? Download a command line (CLI) release of VS Code from the Downloads page. -### Armv8-A +### How do I download VS Code for Armv8-A? ```console wget -O vscode.tgz 'https://code.visualstudio.com/sha/download?build=stable&os=cli-alpine-arm64' ``` -### Armv7-A +### How do I download VS Code for Armv7-A? ```console wget -O vscode.tgz 'https://code.visualstudio.com/sha/download?build=stable&os=cli-linux-armhf' ``` -### Download desktop version of VS Code (tunnel and desktop) +### How do I download the desktop version of VS Code for tunneling and desktop development? VS Code desktop also works for the remote machine. @@ -96,7 +96,7 @@ wget -O vscode.deb 'https://code.visualstudio.com/sha/download?build=stable&os=l The `snap` install is for a non-Arm architecture and does not work. {{% /notice %}} -## Install the downloaded version +## How do I install the downloaded version of VS Code? For CLI, extract the file. The result is a single executable named `code`. It is placed in the current directory. ```console @@ -106,7 +106,7 @@ For the desktop, install the Debian package. ```console sudo apt install ./vscode.deb ``` -## Start a VS Code Tunnel +## How do I start a VS Code Tunnel? On the remote machine start a VS Code tunnel. The `./` is used to indicate the CLI version which was extracted in the current directory. @@ -137,11 +137,11 @@ After the code is entered, the remote device is connected to your GitHub account ![Device Connect #center](/install-guides/_images/vsc-device-connect.png) -## Connect to remote machine +## How do I connect to the remote machine using VS Code Tunnels? The remote machine is now ready to accept client connections. These can be from a [browser](#browser) or [VS Code desktop](#vsdesktop). -### Connect using a browser {#browser} +### How do I connect using a browser? {#browser} The quickest way to connect to the remote machine is using a browser. Even a tablet or phone can be used. @@ -165,7 +165,7 @@ A list of tunnels attached to your account will be opened. If you are not signed Select the tunnel to open and VS Code will connect to the remote machine and you are ready to use VS Code on the remote machine. -### Connect using VS Code desktop {#vsdesktop} +### How do I connect using VS Code Desktop? {#vsdesktop} Connecting to a tunnel from VS Code Desktop requires the [Remote - Tunnels Extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode.remote-server). @@ -179,10 +179,10 @@ A list of tunnels attached to your account will be opened. If you are not signed Select the tunnel to open and VS Code will connect to the remote machine and you are ready to use VS Code on the remote machine. -## Close a tunnel connection +## How do I close a tunnel connection? On both browser and desktop, click the lower left (which now shows the name of the connected tunnel) and select `Close Remote Connection` to disconnect from the tunnel server. -## Summary +## What are the key takeaways? VS Code tunnels and your GitHub account make it easy to connect to Arm machines running Linux for terminal access or to do development on a remote machine with VS Code. This is done without any open ports or SSH port forwarding. diff --git a/content/install-guides/windows-perf-vs-extension.md b/content/install-guides/windows-perf-vs-extension.md index a7394d7ebe..2f1e9d57b2 100644 --- a/content/install-guides/windows-perf-vs-extension.md +++ b/content/install-guides/windows-perf-vs-extension.md @@ -30,7 +30,7 @@ WindowsPerf is a lightweight performance profiling tool inspired by Linux Perf, 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. -## Before you begin +## What steps must I complete before installing the Visual Studio Extension for WindowsPerf? 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 %}} -### Install using the Visual Studio Extension Manager +### How do I install the extension using the Visual Studio Extension Manager? To install the Visual Studio extension for WindowsPerf from Visual Studio, use the Extension Manager: @@ -54,7 +54,7 @@ To install the Visual Studio extension for WindowsPerf from Visual Studio, use t ![Install #center](/install-guides/_images/wperf-vs-extension-install-page.png) -### Install from GitLab +### How do I install the extension from GitLab? You can also install the WindowsPerf Visual Studio Extension from GitLab. @@ -70,7 +70,7 @@ Follow the prompts to install the Visual Studio extension. Ensure that any previous version of the extension is uninstalled and that Visual Studio is closed before installing the extension. {{% /notice %}} -### Build and install from source code +### How do I 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. @@ -88,7 +88,7 @@ Visual Studio may prompt you to install additional components required to build 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. -### WindowsPerf Setup +### How do I 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. @@ -98,7 +98,7 @@ Use the `Select` button to navigate to your `wperf.exe` and the `Validate` butto This step is crucial for utilizing the extension, and the extension will not work without this configuration. -## Overview of key features +## What are the key features of the WindowsPerf extension? The WindowsPerf extension is composed of several key features, each designed to streamline the user experience: @@ -116,7 +116,7 @@ The interface to configure counting is shown below: ![Counting preview #center](/install-guides/_images/wperf-vs-extension-counting-preview.png) -## Uninstall the WindowsPerf extension +## How do I uninstall the WindowsPerf extension? To uninstall the extension in Visual Studio: diff --git a/content/install-guides/wperf.md b/content/install-guides/wperf.md index aa36586b37..c7a305f8c3 100644 --- a/content/install-guides/wperf.md +++ b/content/install-guides/wperf.md @@ -34,14 +34,11 @@ WindowsPerf is a Linux Perf-inspired Windows on Arm performance profiling tool. 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. {{% /notice %}} -## Using winget - -### Install +## How do I 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 @@ -66,13 +63,16 @@ Successfully installed 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) -### Uninstall +### How do I uninstall WindowsPerf using winget? + If you need to uninstall WindowsPerf, open an `Administrator` terminal on PowerShell and run: + ```console winget uninstall WindowsPerf ``` The output from a successful uninstallation will look like: + ```output Found WindowsPerf [Arm.WindowsPerf] Starting package uninstall... @@ -84,7 +84,7 @@ WinPerf is an open-source project. If you would like to develop WindowsPerf your https://learn.microsoft.com/en-us/windows-hardware/drivers/wdk-release-notes {{% /notice %}} -## Verify install +## How do I verify that WindowsPerf is installed correctly? You can check everything is working by running the `wperf` executable. @@ -108,8 +108,7 @@ You see output similar to: ``` - -## Install WindowsPerf Virtual Studio Extension (optional) {#vs2022} +## How do I 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/items?itemName=Arm.WindowsPerfGUI). @@ -121,7 +120,7 @@ In order to set the path to the `wperf.exe` executable, go to **Tools** -> **Opt Also, visit WindowsPerf GUI project website on [GitLab](https://gitlab.com/Linaro/WindowsPerf/vs-extension) for more details and latest updates. -## Install WindowsPerf VS Code Extension (optional) {#vscode} +## How do I 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). @@ -137,7 +136,7 @@ If using a non-Windows on Arm host, you can import and analyze `WindowsPerf` JSO You do not need to install `wperf` on non-Windows on Arm devices. {{% /notice %}} -## Read related resources +## What related resources are available for WindowsPerf? ### WindowsPerf From 0816308bbec2e313b6fcab4a6c5f33e7ead004bf Mon Sep 17 00:00:00 2001 From: Jason Andrews Date: Wed, 30 Apr 2025 15:36:16 -0500 Subject: [PATCH 2/2] Update more install guide heading to be questions. --- content/install-guides/aws-sam-cli.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/install-guides/aws-sam-cli.md b/content/install-guides/aws-sam-cli.md index 708452c7e7..9556e7fa69 100644 --- a/content/install-guides/aws-sam-cli.md +++ b/content/install-guides/aws-sam-cli.md @@ -20,7 +20,7 @@ weight: 1 The Amazon Web Services (AWS) Serverless Application Model (SAM) CLI is an open-source command-line tool that you can use to build, test, and deploy serverless applications. The SAM CLI provides a Lambda-like execution environment that lets you locally build, test and debug applications defined by AWS SAM templates. It is available for a variety of operating systems and Linux distributions, and supports the Arm architecture. -## How do I prepare to install AWS SAM CLI on Ubuntu? +## How do I prepare to install the AWS SAM CLI on Ubuntu? Follow the instructions below to install and try the latest version of the AWS SAM CLI for Ubuntu on Arm.