About this Learning Path

Who is this for?

This is an advanced topic for developers who want to run Azure Linux 3.0 on Arm-based Cobalt 100 processors in a custom virtual machine.

What will you learn?

Upon completion of this Learning Path, you will be able to:

  • Use QEMU to create a raw disk image
  • Boot a virtual machine using an AArch64 ISO and install Azure Linux 3.0
  • Convert the raw disk image to VHD format
  • Upload the VHD file to Azure
  • Use Azure Shared Image Gallery (SIG) to create a custom image
  • Create an Azure Linux 3.0 virtual machine on Arm using the Azure CLI and the custom image

Prerequisites

Before starting, you will need the following:

  • A Microsoft Azure account with permission to create resources, including instances using Cobalt 100 processors
  • A Linux machine with QEMU and the Azure CLI installed and authenticated

Summary

AI-assisted

This summary was drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.

Close
?
You’ll build a custom Azure Linux 3.0 image for Arm and deploy it on Cobalt 100-based virtual machines. Starting from the Azure Linux aarch64 ISO, you’ll use QEMU to create a raw disk, boot the installer, and produce a working system image. You’ll convert the disk to a fixed-size VHD, upload it to Azure, and register it in Azure Shared Image Gallery using the Azure CLI. With the image ID, you’ll create a new VM on Arm-based Cobalt 100 processors. You’ll explore key decisions around image format, resource naming, and region/size selection, and finish with a VM launched from the custom image.

Frequently asked questions

AI-assisted

These FAQs were drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.

Close
?
Which ISO architecture should I download for the QEMU installation?
Use the Azure Linux 3.0 aarch64 ISO referenced in the project README. The steps boot QEMU with this ISO to install the OS onto a raw disk image.
Does the VHD need to be fixed-size before uploading to Azure?
Yes. The procedure converts the installed disk to a fixed-size VHD before upload, and the later steps assume this format when registering the image.
What environment variables should I set before running the Azure CLI upload and image registration steps?
Set RESOURCE_GROUP, LOCATION, and STORAGE_ACCOUNT as shown in the steps. Choose a LOCATION where Cobalt 100 processors are available to your subscription.
How do I confirm that my image registration in Shared Image Gallery succeeded?
After registration, obtain an image ID from the Shared Image Gallery. You will reference this IMAGE_ID in the az vm create command; having and using it confirms the image is ready.
What credentials are configured when creating the VM with `az vm create`?
The example uses --admin-username to define the Linux user and --generate-ssh-key to create an SSH key locally. This sets up key-based SSH access for the specified admin user.
Next