Skip to content

Commit cf86914

Browse files
Merge branch 'ArmDeveloperEcosystem:main' into godot
2 parents 8e35e50 + abac95f commit cf86914

File tree

31 files changed

+1235
-175
lines changed

31 files changed

+1235
-175
lines changed

assets/contributors.csv

Lines changed: 97 additions & 96 deletions
Original file line numberDiff line numberDiff line change
@@ -1,96 +1,97 @@
1-
author,company,github,linkedin,twitter,website
2-
Jason Andrews,Arm,jasonrandrews,jason-andrews-7b05a8,,
3-
Pareena Verma,Arm,pareenaverma,pareena-verma-7853607,,
4-
Ronan Synnott,Arm,,ronansynnott,,
5-
Florent Lebeau,Arm,,,,
6-
Brenda Strech,Remote.It,bstrech,bstrech,@remote_it,www.remote.it
7-
Liliya Wu,Arm,Liliyaw,liliya-wu-8b6227216,,
8-
Julio Suarez,Arm,jsrz,juliosuarez,,
9-
Gabriel Peterson,Arm,gabrieldpeterson,gabrieldpeterson,@gabedpeterson,https://corteximplant.com/@gabe
10-
Christopher Seidl,Arm,,,,
11-
Michael Hall,Arm,,,,
12-
Kasper Mecklenburg,Arm,,,,
13-
Mathias Brossard,Arm,,,,
14-
Julie Gaskin,Arm,,,,
15-
Pranay Bakre,Arm,,,,
16-
Elham Harirpoush,Arm,,,,
17-
Frédéric -lefred- Descamps,OCI,,,,lefred.be
18-
Fr�d�ric -lefred- Descamps,OCI,,,,lefred.be
19-
Kristof Beyls,Arm,,,,
20-
David Spickett,Arm,,,,
21-
Uma Ramalingam,Arm,uma-ramalingam,,,
22-
Konstantinos Margaritis,VectorCamp,markos,konstantinosmargaritis,@freevec1,https://vectorcamp.gr/
23-
Diego Russo,Arm,diegorusso,diegor,diegor,https://www.diegor.it
24-
Jonathan Davies,Arm,,,,
25-
Zhengjun Xing,Arm,,,,
26-
Leandro Nunes,Arm,,,,
27-
Dawid Borycki,,dawidborycki,,,
28-
Ying Yu,Arm,,,,
29-
Bolt Liu,Arm,,,,
30-
Roberto Lopez Mendez,Arm,,,,
31-
Arnaud de Grandmaison,Arm,Arnaud-de-Grandmaison-ARM,arnauddegrandmaison,,
32-
Jose-Emilio Munoz-Lopez,Arm,,,,
33-
James Whitaker,Arm,,,,
34-
Johanna Skinnider,Arm,,,,
35-
Varun Chari,Arm,,,,
36-
Adnan AlSinan,Arm,,,,
37-
Graham Woodward,Arm,,,,
38-
Basma El Gaabouri,Arm,,,,
39-
Gayathri Narayana Yegna Narayanan,Arm,,,,
40-
Alexandros Lamprineas,Arm,,,,
41-
Annie Tallund,Arm,annietllnd,annietallund,,
42-
Cyril Rohr,RunsOn,crohr,cyrilrohr,,
43-
Rin Dobrescu,Arm,,,,
44-
Przemyslaw Wirkus,Arm,PrzemekWirkus,przemyslaw-wirkus-78b73352,,
45-
Nader Zouaoui,Day Devs,nader-zouaoui,nader-zouaoui,@zouaoui_nader,https://daydevs.com/
46-
Alaaeddine Chakroun,Day Devs,Alaaeddine-Chakroun,alaaeddine-chakroun,,https://daydevs.com/
47-
Koki Mitsunami,Arm,,kmitsunami,,
48-
Chen Zhang,Zilliz,,,,
49-
Tianyu Li,Arm,,,,
50-
Georgios Mermigkis,VectorCamp,gMerm,georgios-mermigkis,,https://vectorcamp.gr/
51-
Ben Clark,Arm,,,,
52-
Han Yin,Arm,hanyin-arm,nacosiren,,
53-
Willen Yang,Arm,,,,
54-
Daniel Gubay,,,,,
55-
Paul Howard,,,,,
56-
Iago Calvo Lista,Arm,,,,
57-
Stephen Theobald,Arm,,,,
58-
ThirdAI,,,,,
59-
Preema Merlin Dsouza,,,,,
60-
Dominica Abena O. Amanfo,,,,,
61-
Arm,,,,,
62-
Albin Bernhardsson,,,,,
63-
Przemyslaw Wirkus,,,,,
64-
Zach Lasiuk,,,,,
65-
Daniel Nguyen,,,,,
66-
Joe Stech,Arm,JoeStech,joestech,,
67-
visualSilicon,,,,,
68-
Konstantinos Margaritis,VectorCamp,,,,
69-
Kieran Hejmadi,,,,,
70-
Alex Su,,,,,
71-
Chaodong Gong,,,,,
72-
Owen Wu,Arm,,,,
73-
Koki Mitsunami,,,,,
74-
Nikhil Gupta,,,,,
75-
Nobel Chowdary Mandepudi,Arm,,,,
76-
Ravi Malhotra,Arm,,,,
77-
Masoud Koleini,,,,,
78-
Na Li,Arm,,,,
79-
Tom Pilar,,,,,
80-
Cyril Rohr,,,,,
81-
Odin Shen,Arm,odincodeshen,odin-shen-lmshen,,
82-
Avin Zarlez,Arm,AvinZarlez,avinzarlez,,https://www.avinzarlez.com/
83-
Shuheng Deng,Arm,,,,
84-
Yiyang Fan,Arm,,,,
85-
Julien Jayat,Arm,JulienJayat-Arm,julien-jayat-a980a397,,
86-
Geremy Cohen,Arm,geremyCohen,geremyinanutshell,,
87-
Barbara Corriero,Arm,,,,
88-
Nina Drozd,Arm,NinaARM,ninadrozd,,
89-
Jun He,Arm,JunHe77,jun-he-91969822,,
90-
Gian Marco Iodice,Arm,,,,
91-
Aude Vuilliomenet,Arm,,,,
92-
Andrew Kilroy,Arm,,,,
93-
Peter Harris,Arm,,,,
94-
Chenying Kuo,Adlink,evshary,evshary,,
95-
William Liang,,wyliang,,,
96-
Waheed Brown,Arm,https://github.com/armwaheed,https://www.linkedin.com/in/waheedbrown/,,
1+
author,company,github,linkedin,twitter,website
2+
Jason Andrews,Arm,jasonrandrews,jason-andrews-7b05a8,,
3+
Pareena Verma,Arm,pareenaverma,pareena-verma-7853607,,
4+
Ronan Synnott,Arm,,ronansynnott,,
5+
Florent Lebeau,Arm,,,,
6+
Brenda Strech,Remote.It,bstrech,bstrech,@remote_it,www.remote.it
7+
Liliya Wu,Arm,Liliyaw,liliya-wu-8b6227216,,
8+
Julio Suarez,Arm,jsrz,juliosuarez,,
9+
Gabriel Peterson,Arm,gabrieldpeterson,gabrieldpeterson,@gabedpeterson,https://corteximplant.com/@gabe
10+
Christopher Seidl,Arm,,,,
11+
Michael Hall,Arm,,,,
12+
Kasper Mecklenburg,Arm,,,,
13+
Mathias Brossard,Arm,,,,
14+
Julie Gaskin,Arm,,,,
15+
Pranay Bakre,Arm,,,,
16+
Elham Harirpoush,Arm,,,,
17+
Frédéric -lefred- Descamps,OCI,,,,lefred.be
18+
Fr�d�ric -lefred- Descamps,OCI,,,,lefred.be
19+
Kristof Beyls,Arm,,,,
20+
David Spickett,Arm,,,,
21+
Uma Ramalingam,Arm,uma-ramalingam,,,
22+
Konstantinos Margaritis,VectorCamp,markos,konstantinosmargaritis,@freevec1,https://vectorcamp.gr/
23+
Diego Russo,Arm,diegorusso,diegor,diegor,https://www.diegor.it
24+
Jonathan Davies,Arm,,,,
25+
Zhengjun Xing,Arm,,,,
26+
Leandro Nunes,Arm,,,,
27+
Dawid Borycki,,dawidborycki,,,
28+
Ying Yu,Arm,,,,
29+
Bolt Liu,Arm,,,,
30+
Roberto Lopez Mendez,Arm,,,,
31+
Arnaud de Grandmaison,Arm,Arnaud-de-Grandmaison-ARM,arnauddegrandmaison,,
32+
Jose-Emilio Munoz-Lopez,Arm,,,,
33+
James Whitaker,Arm,,,,
34+
Johanna Skinnider,Arm,,,,
35+
Varun Chari,Arm,,,,
36+
Adnan AlSinan,Arm,,,,
37+
Graham Woodward,Arm,,,,
38+
Basma El Gaabouri,Arm,,,,
39+
Gayathri Narayana Yegna Narayanan,Arm,,,,
40+
Alexandros Lamprineas,Arm,,,,
41+
Annie Tallund,Arm,annietllnd,annietallund,,
42+
Cyril Rohr,RunsOn,crohr,cyrilrohr,,
43+
Rin Dobrescu,Arm,,,,
44+
Przemyslaw Wirkus,Arm,PrzemekWirkus,przemyslaw-wirkus-78b73352,,
45+
Nader Zouaoui,Day Devs,nader-zouaoui,nader-zouaoui,@zouaoui_nader,https://daydevs.com/
46+
Alaaeddine Chakroun,Day Devs,Alaaeddine-Chakroun,alaaeddine-chakroun,,https://daydevs.com/
47+
Koki Mitsunami,Arm,,kmitsunami,,
48+
Chen Zhang,Zilliz,,,,
49+
Tianyu Li,Arm,,,,
50+
Georgios Mermigkis,VectorCamp,gMerm,georgios-mermigkis,,https://vectorcamp.gr/
51+
Ben Clark,Arm,,,,
52+
Han Yin,Arm,hanyin-arm,nacosiren,,
53+
Willen Yang,Arm,,,,
54+
Daniel Gubay,,,,,
55+
Paul Howard,,,,,
56+
Iago Calvo Lista,Arm,,,,
57+
Stephen Theobald,Arm,,,,
58+
ThirdAI,,,,,
59+
Preema Merlin Dsouza,,,,,
60+
Dominica Abena O. Amanfo,,,,,
61+
Arm,,,,,
62+
Albin Bernhardsson,,,,,
63+
Przemyslaw Wirkus,,,,,
64+
Zach Lasiuk,,,,,
65+
Daniel Nguyen,,,,,
66+
Joe Stech,Arm,JoeStech,joestech,,
67+
visualSilicon,,,,,
68+
Konstantinos Margaritis,VectorCamp,,,,
69+
Kieran Hejmadi,,,,,
70+
Alex Su,,,,,
71+
Chaodong Gong,,,,,
72+
Owen Wu,Arm,,,,
73+
Koki Mitsunami,,,,,
74+
Nikhil Gupta,,,,,
75+
Nobel Chowdary Mandepudi,Arm,,,,
76+
Ravi Malhotra,Arm,,,,
77+
Masoud Koleini,,,,,
78+
Na Li,Arm,,,,
79+
Tom Pilar,,,,,
80+
Cyril Rohr,,,,,
81+
Odin Shen,Arm,odincodeshen,odin-shen-lmshen,,
82+
Avin Zarlez,Arm,AvinZarlez,avinzarlez,,https://www.avinzarlez.com/
83+
Shuheng Deng,Arm,,,,
84+
Yiyang Fan,Arm,,,,
85+
Julien Jayat,Arm,JulienJayat-Arm,julien-jayat-a980a397,,
86+
Geremy Cohen,Arm,geremyCohen,geremyinanutshell,,
87+
Barbara Corriero,Arm,,,,
88+
Nina Drozd,Arm,NinaARM,ninadrozd,,
89+
Jun He,Arm,JunHe77,jun-he-91969822,,
90+
Gian Marco Iodice,Arm,,,,
91+
Aude Vuilliomenet,Arm,,,,
92+
Andrew Kilroy,Arm,,,,
93+
Peter Harris,Arm,,,,
94+
Chenying Kuo,Adlink,evshary,evshary,,
95+
William Liang,,wyliang,,,
96+
Waheed Brown,Arm,https://github.com/armwaheed,https://www.linkedin.com/in/waheedbrown/,,
97+
Aryan Bhusari,Arm,,https://www.linkedin.com/in/aryanbhusari,,

content/install-guides/azure-cli.md

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,7 @@ It is available for a variety of operating systems and Linux distributions and h
2222

2323
## How do I prepare to install the Azure CLI on Ubuntu?
2424

25-
[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
26-
27-
```output
28-
Ubuntu 20.04, Ubuntu 22.04, Ubuntu 24.04
29-
```
25+
[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 Ubuntu 20.04, Ubuntu 22.04, and Ubuntu 24.04.
3026

3127
## How do I install the Azure CLI using the installation script?
3228

@@ -60,8 +56,8 @@ You should see an output similar to:
6056

6157
```output
6258
{
63-
"azure-cli": "2.61.0",
64-
"azure-cli-core": "2.61.0",
59+
"azure-cli": "2.75.0",
60+
"azure-cli-core": "2.75.0",
6561
"azure-cli-telemetry": "1.1.0",
6662
"extensions": {}
6763
}
@@ -98,8 +94,8 @@ You should see an output similar to:
9894

9995
```output
10096
{
101-
"azure-cli": "2.61.0",
102-
"azure-cli-core": "2.61.0",
97+
"azure-cli": "2.75.0",
98+
"azure-cli-core": "2.75.0",
10399
"azure-cli-telemetry": "1.1.0",
104100
"extensions": {}
105101
}

content/learning-paths/mobile-graphics-and-gaming/build-llama3-chat-android-app-using-executorch-and-xnnpack/2-executorch-setup.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ The best practice is to generate an isolated Python environment in which to inst
1515
### Option 1: Create a Python virtual environment
1616

1717
```bash
18-
python3.10 -m venv executorch
19-
source executorch/bin/activate
18+
python3.10 -m venv executorch-venv
19+
source executorch-venv/bin/activate
2020
```
2121

2222
The prompt of your terminal has `executorch` as a prefix to indicate the virtual environment is active.
@@ -28,8 +28,8 @@ Install Miniconda on your development machine by following the [Installing conda
2828
Once `conda` is installed, create the environment:
2929

3030
```bash
31-
conda create -yn executorch python=3.10.0
32-
conda activate executorch
31+
conda create -yn executorch-venv python=3.10.0
32+
conda activate executorch-venv
3333
```
3434

3535
### Clone ExecuTorch and install the required dependencies
@@ -40,7 +40,7 @@ From within the conda environment, run the commands below to download the ExecuT
4040
git clone https://github.com/pytorch/executorch.git
4141
cd executorch
4242
git submodule sync
43-
git submodule update --init
43+
git submodule update --init --recursive
4444
./install_executorch.sh
4545
./examples/models/llama/install_requirements.sh
4646
```

content/learning-paths/mobile-graphics-and-gaming/build-llama3-chat-android-app-using-executorch-and-xnnpack/4-prepare-llama-models.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,8 @@ python3 -m examples.models.llama.export_llama \
4646
--metadata '{"get_bos_id":128000, "get_eos_ids":[128009, 128001, 128006, 128007]}' \
4747
--embedding-quantize 4,32 \
4848
--output_name="llama3_1B_kv_sdpa_xnn_qe_4_64_1024_embedding_4bit.pte" \
49-
--max_seq_length 1024
49+
--max_seq_length 1024 \
50+
--max_context_length 1024
5051
```
5152

5253
Due to the larger vocabulary size of Llama 3, you should quantize the embeddings with `--embedding-quantize 4,32` to further reduce the model size.

content/learning-paths/mobile-graphics-and-gaming/build-llama3-chat-android-app-using-executorch-and-xnnpack/5-run-benchmark-on-android.md

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -38,18 +38,23 @@ cmake -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK/build/cmake/android.toolchain.cmake \
3838
-DEXECUTORCH_BUILD_EXTENSION_DATA_LOADER=ON \
3939
-DEXECUTORCH_BUILD_EXTENSION_MODULE=ON \
4040
-DEXECUTORCH_BUILD_EXTENSION_TENSOR=ON \
41+
-DEXECUTORCH_BUILD_EXTENSION_FLAT_TENSOR=ON \
4142
-DEXECUTORCH_BUILD_XNNPACK=ON \
4243
-DEXECUTORCH_BUILD_KERNELS_OPTIMIZED=ON \
4344
-DEXECUTORCH_BUILD_KERNELS_QUANTIZED=ON \
4445
-DEXECUTORCH_BUILD_KERNELS_CUSTOM=ON \
46+
-DEXECUTORCH_BUILD_KERNELS_LLM=ON \
47+
-DEXECUTORCH_BUILD_EXTENSION_LLM_RUNNER=ON \
48+
-DEXECUTORCH_BUILD_EXTENSION_RUNNER_UTIL=ON \
4549
-DEXECUTORCH_XNNPACK_ENABLE_KLEIDI=ON \
4650
-DXNNPACK_ENABLE_ARM_BF16=OFF \
51+
-DBUILD_TESTING=OFF \
4752
-Bcmake-out-android .
4853

4954
cmake --build cmake-out-android -j7 --target install --config Release
5055
```
5156
{{% notice Note %}}
52-
Make sure you add -DEXECUTORCH_XNNPACK_ENABLE_KLEIDI=ON option to enable support for KleidiAI kernels in ExecuTorch with XNNPack.
57+
Starting with Executorch version 0.7 beta, KleidiAI is enabled by default. The -DEXECUTORCH_XNNPACK_ENABLE_KLEIDI=ON option is enabled and adds default support for KleidiAI kernels in ExecuTorch with XNNPack.
5358
{{% /notice %}}
5459

5560
### 3. Build Llama runner for Android
@@ -67,7 +72,8 @@ cmake -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK/build/cmake/android.toolchain.cmake \
6772
-DEXECUTORCH_BUILD_KERNELS_OPTIMIZED=ON \
6873
-DEXECUTORCH_BUILD_KERNELS_QUANTIZED=ON \
6974
-DEXECUTORCH_BUILD_KERNELS_CUSTOM=ON \
70-
-DEXECUTORCH_USE_TIKTOKEN=ON \
75+
-DSUPPORT_REGEX_LOOKAHEAD=ON \
76+
-DBUILD_TESTING=OFF \
7177
-Bcmake-out-android/examples/models/llama \
7278
examples/models/llama
7379

@@ -144,13 +150,13 @@ Reached to the end of generation
144150
145151
I 00:00:05.399314 executorch:runner.cpp:257] RSS after finishing text generation: 1269.445312 MiB (0 if unsupported)
146152
PyTorchObserver {"prompt_tokens":54,"generated_tokens":51,"model_load_start_ms":1710296339487,"model_load_end_ms":1710296343047,"inference_start_ms":1710296343370,"inference_end_ms":1710296344877,"prompt_eval_end_ms":1710296343556,"first_token_ms":1710296343556,"aggregate_sampling_time_ms":49,"SCALING_FACTOR_UNITS_PER_SECOND":1000}
147-
I 00:00:05.399342 executorch:stats.h:111] Prompt Tokens: 54 Generated Tokens: 51
148-
I 00:00:05.399344 executorch:stats.h:117] Model Load Time: 3.560000 (seconds)
149-
I 00:00:05.399346 executorch:stats.h:127] Total inference time: 1.507000 (seconds) Rate: 33.842070 (tokens/second)
150-
I 00:00:05.399348 executorch:stats.h:135] Prompt evaluation: 0.186000 (seconds) Rate: 290.322581 (tokens/second)
151-
I 00:00:05.399350 executorch:stats.h:146] Generated 51 tokens: 1.321000 (seconds) Rate: 38.607116 (tokens/second)
152-
I 00:00:05.399352 executorch:stats.h:154] Time to first generated token: 0.186000 (seconds)
153-
I 00:00:05.399354 executorch:stats.h:161] Sampling time over 105 tokens: 0.049000 (seconds)
153+
I 00:00:04.530945 executorch:stats.h:108] Prompt Tokens: 54 Generated Tokens: 69
154+
I 00:00:04.530947 executorch:stats.h:114] Model Load Time: 1.196000 (seconds)
155+
I 00:00:04.530949 executorch:stats.h:124] Total inference time: 1.934000 (seconds) Rate: 35.677353 (tokens/second)
156+
I 00:00:04.530952 executorch:stats.h:132] Prompt evaluation: 0.176000 (seconds) Rate: 306.818182 (tokens/second)
157+
I 00:00:04.530954 executorch:stats.h:143] Generated 69 tokens: 1.758000 (seconds) Rate: 39.249147 (tokens/second)
158+
I 00:00:04.530956 executorch:stats.h:151] Time to first generated token: 0.176000 (seconds)
159+
I 00:00:04.530959 executorch:stats.h:158] Sampling time over 123 tokens: 0.067000 (seconds)
154160
```
155161
156162
You have successfully run the Llama 3.1 1B Instruct model on your Android smartphone with ExecuTorch using KleidiAI kernels.

content/learning-paths/servers-and-cloud-computing/azure-vm/_index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ learning_objectives:
1717

1818
prerequisites:
1919
- A [Microsoft Azure](https://azure.microsoft.com/) account with permission to create resources, including instances using Cobalt 100 processors.
20-
- A local Linux machine with [QEMU](https://www.qemu.org/download/) and the [Azure CLI](/install-guides/azure-cli/) installed and authenticated.
20+
- A Linux machine with [QEMU](https://www.qemu.org/download/) and the [Azure CLI](/install-guides/azure-cli/) installed and authenticated.
2121

2222
author: Jason Andrews
2323

content/learning-paths/servers-and-cloud-computing/azure-vm/azure-vm.md

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ layout: learningpathall
88

99
You can view the Azure Linux 3.0 project on [GitHub](https://github.com/microsoft/azurelinux). There are links to the ISO downloads in the project README.
1010

11-
Using QEMU, you can create a raw disk image and boot a virtual machine with the ISO to install the OS onto the disk.
11+
Using QEMU, you can create a raw disk image and boot a virtual machine with the ISO to install the OS on the disk.
1212

1313
Once the installation is complete, you can convert the raw disk to a fixed-size VHD, upload it to Azure Blob Storage, and then use the Azure CLI to create a custom Arm image.
1414

@@ -20,9 +20,9 @@ Use `wget` to download the Azure Linux ISO image file.
2020
wget https://aka.ms/azurelinux-3.0-aarch64.iso
2121
```
2222

23-
Use `qemu-img` to create a 32 GB raw disk image.
23+
Use `qemu-img` to create a 32 GB empty raw disk image to install the OS.
2424

25-
This step creates a 32 GB empty raw disk image to install the OS. You can increase the disk size by modifying the value passed to `qemu-img`.
25+
You can increase the disk size by modifying the value passed to `qemu-img`.
2626

2727
```bash
2828
qemu-img create -f raw azurelinux-arm64.raw 34359738368
@@ -46,7 +46,14 @@ qemu-system-aarch64 \
4646
-device virtio-net-device,netdev=net0
4747
```
4848

49-
Once the OS boots successfully, install the Azure Linux Agent for VM provisioning, and power off the VM.
49+
Navigate through the installer by entering the hostname, username, and password for the custom image.
50+
You should use the username of `azureuser` if you want match the instructions on the following pages.
51+
52+
Be patient, it takes some time to complete the full installation.
53+
54+
At the end of installation you are prompted for confirmation to reboot the system.
55+
56+
Once the newly installed OS boots successfully, install the Azure Linux Agent for VM provisioning, and power off the VM.
5057

5158
```bash
5259
sudo dnf install WALinuxAgent -y
@@ -55,6 +62,8 @@ sudo systemctl start waagent
5562
sudo poweroff
5663
```
5764

65+
Be patient, it takes some time to install the packages and power off.
66+
5867
## Convert the raw disk to VHD Format
5968

6069
Now that the raw disk image is ready to be used, convert the image to fixed-size VHD, making it compatible with Azure.
@@ -64,7 +73,7 @@ qemu-img convert -f raw -o subformat=fixed,force_size -O vpc azurelinux-arm64.ra
6473
```
6574

6675
{{% notice Note %}}
67-
VHD files have 512 bytes of footer attached at the end. The `force_size` flag ensures that the exact virtual size specified is used for the final VHD file. Without this, QEMU may round the size or adjust for footer overhead (especially when converting from raw to VHD). The `force_size` flag forces the final image to match the original size. This flag helps make the final VHD size a clean, whole number in MB or GiB, which is required for Azure.
76+
VHD files have 512 bytes of footer attached at the end. The `force_size` flag ensures that the exact virtual size specified is used for the final VHD file. Without this, QEMU may round the size or adjust for footer overhead (especially when converting from raw to VHD). The `force_size` flag forces the final image to match the original size. This flag makes the final VHD size a whole number in MB or GB, which is required for Azure.
6877
{{% /notice %}}
6978

7079
Next, you can save the image in your Azure account.

0 commit comments

Comments
 (0)