Skip to content

Commit bcb70b8

Browse files
authored
add arm64 instructions (suse-edge#644)
* add arm64 instructions * add arm64 instructions
1 parent e9768dc commit bcb70b8

File tree

3 files changed

+50
-5
lines changed

3 files changed

+50
-5
lines changed

asciidoc/edge-book/versions.adoc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313

1414
// == SUSE Linux Micro ==
1515
:micro-base-image-raw: SL-Micro.x86_64-6.0-Base-GM2.raw
16+
:micro-base-rt-image-raw: SL-Micro.x86_64-6.0-Base-RT-GM2.raw
17+
:micro-base-rt-image-iso: SL-Micro.x86_64-6.0-Base-RT-SelfInstall-GM2.install.iso
1618
:micro-base-image-iso: SL-Micro.x86_64-6.0-Base-SelfInstall-GM2.install.iso
1719
:micro-default-image-iso: SL-Micro.x86_64-6.0-Default-SelfInstall-GM2.install.iso
1820
:version-sl-micro: 6.0

asciidoc/product/atip-automated-provision.adoc

Lines changed: 24 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -67,14 +67,20 @@ Much of the configuration via Edge Image Builder is possible, but in this guide,
6767
==== Prerequisites for connected scenarios
6868

6969
* A container runtime such as https://podman.io[Podman] or https://rancherdesktop.io[Rancher Desktop] is required to run Edge Image Builder.
70-
* The base image `{micro-base-image-raw}` must be downloaded from the https://scc.suse.com/[SUSE Customer Center] or the https://www.suse.com/download/sle-micro/[SUSE Download page].
70+
* The base image will be built using the following guide <<guides-kiwi-builder-images>> with the profile `Base-SelfInstall` (or `Base-RT-SelfInstall` for the Real-Time kernel). The process is the same for both architectures (x86-64 and aarch64).
71+
* To deploy aarch64 downstream clusters, you must set before the management cluster deployment the `deployArchitecture: arm64` parameter in the `metal3.yaml` file explained in <<arm64-mgmt-cluster,Management Cluster Documentation>>. This is required to ensure that the correct architecture is used for the downstream cluster.
72+
73+
[NOTE]
74+
====
75+
It is required to use a build host with the same architecture of the images being built. In other words, to build an `aarch64` image, it is required to use an `aarch64` build host, and vice-versa for `x86-64` (cross-builds are not supported at this time).
76+
====
7177

7278
==== Image configuration for connected scenarios
7379

7480
When running Edge Image Builder, a directory is mounted from the host, so it is necessary to create a directory structure to store the configuration files used to define the target image.
7581

7682
* `downstream-cluster-config.yaml` is the image definition file, see <<quickstart-eib>> for more details.
77-
* The base image when downloaded is `xz` compressed, which must be uncompressed with `unxz` and copied/moved under the `base-images` folder.
83+
* The base image folder will contain the output raw image generated following the guide <<guides-kiwi-builder-images>> with the profile `Base-SelfInstall` (or `Base-RT-SelfInstall` for the Real-Time kernel) must be copied/moved under the `base-images` folder.
7884
* The `network` folder is optional, see <<add-network-eib>> for more details.
7985
* The `custom/scripts` directory contains scripts to be run on first-boot:
8086
1. `01-fix-growfs.sh` script is required to resize the OS root partition on deployment
@@ -141,6 +147,8 @@ For the production environments, it is recommended to use the SSH keys that can
141147

142148
[NOTE]
143149
====
150+
`arch: x86_64` is the architecture of the image. For arm64 architecture, use `arch: aarch64`.
151+
144152
`net.ifnames=1` enables https://documentation.suse.com/smart/network/html/network-interface-predictable-naming/index.html[Predictable Network Interface Naming]
145153
146154
This matches the default configuration for the metal3 chart, but the setting must match the configured chart `predictableNicNames` value.
@@ -257,6 +265,11 @@ operatingSystem:
257265
Where `$SCC_REGISTRATION_CODE` is the registration code copied from https://scc.suse.com/[SUSE Customer Center], and the package list contains the minimum packages to be used for the Telco profiles.
258266
To use the `pf-bb-config` package (to enable the `FEC` feature and binding with drivers), the `additionalRepos` block must be included to add the `SUSE Edge Telco` repository.
259267

268+
[NOTE]
269+
====
270+
`arch: x86_64` is the architecture of the image. For arm64 architecture, use `arch: aarch64`.
271+
====
272+
260273
[#add-network-eib]
261274
===== Additional script for Advanced Network Configuration
262275

@@ -327,15 +340,21 @@ Much of the configuration is possible with Edge Image Builder, but in this guide
327340
==== Prerequisites for air-gap scenarios
328341

329342
* A container runtime such as https://podman.io[Podman] or https://rancherdesktop.io[Rancher Desktop] is required to run Edge Image Builder.
330-
* The base image `{micro-base-image-raw}` must be downloaded from the https://scc.suse.com/[SUSE Customer Center] or the https://www.suse.com/download/sle-micro/[SUSE Download page].
343+
* The base image will be built using the following guide <<guides-kiwi-builder-images>> with the profile `Base-SelfInstall` (or `Base-RT-SelfInstall` for the Real-Time kernel). The process is the same for both architectures (x86-64 and aarch64).
344+
* To deploy aarch64 downstream clusters, you must set before the management cluster deployment the `deployArchitecture: arm64` parameter in the `metal3.yaml` file explained in <<arm64-mgmt-cluster,Management Cluster Documentation>>. This is required to ensure that the correct architecture is used for the downstream cluster.
331345
* If you want to use SR-IOV or any other workload which require a container image, a local private registry must be deployed and already configured (with/without TLS and/or authentication). This registry will be used to store the images and the helm chart OCI images.
332346

347+
[NOTE]
348+
====
349+
It is required to use a build host with the same architecture of the images being built. In other words, to build an `aarch64` image, it is required to use an `aarch64` build host, and vice-versa for `x86-64` (cross-builds are not supported at this time).
350+
====
351+
333352
==== Image configuration for air-gap scenarios
334353

335354
When running Edge Image Builder, a directory is mounted from the host, so it is necessary to create a directory structure to store the configuration files used to define the target image.
336355

337356
* `downstream-cluster-airgap-config.yaml` is the image definition file, see <<quickstart-eib>> for more details.
338-
* The base image when downloaded is `xz` compressed, which must be uncompressed with `unxz` and copied/moved under the `base-images` folder.
357+
* The base image folder will contain the output raw image generated following the guide <<guides-kiwi-builder-images>> with the profile `Base-SelfInstall` (or `Base-RT-SelfInstall` for the Real-Time kernel) must be copied/moved under the `base-images` folder.
339358
* The `network` folder is optional, see <<add-network-eib>> for more details.
340359
* The `custom/scripts` directory contains scripts to be run on first-boot:
341360
1. `01-fix-growfs.sh` script is required to resize the OS root partition on deployment.
@@ -1431,8 +1450,8 @@ The directed network provisioning workflow allows to automate the Telco features
14311450

14321451
*Requirements*
14331452

1434-
- The image generated using `EIB` has to include the specific Telco packages following xref:add-telco-feature-eib[this section].
14351453
- The image generated using `EIB`, as described in the xref:eib-edge-image-connected[previous section], has to be located in the management cluster exactly on the path you configured on xref:metal3-media-server[this section].
1454+
- The image generated using `EIB` has to include the specific Telco packages following xref:add-telco-feature-eib[this section].
14361455
- The management server created and available to be used on the following sections. For more information, refer to the Management Cluster section: <<atip-management-cluster>>.
14371456

14381457
*Configuration*

asciidoc/product/atip-management-cluster.adoc

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -839,7 +839,31 @@ metal3-ironic:
839839
persistence:
840840
ironic:
841841
size: "5Gi"
842+
842843
----
844+
[#arm64-mgmt-cluster]
845+
In case you want to deploy arm64 downstream clusters using this x86_64 management cluster, you need to add the following `deployArchitecture: arm64` to the `global` section of the `metal3.yaml` file:
846+
+
847+
[,yaml]
848+
----
849+
global:
850+
ironicIP: ${METAL3_VIP}
851+
enable_vmedia_tls: false
852+
additionalTrustedCAs: false
853+
deployArchitecture: arm64
854+
metal3-ironic:
855+
global:
856+
predictableNicNames: "true"
857+
persistence:
858+
ironic:
859+
size: "5Gi"
860+
----
861+
862+
[NOTE]
863+
====
864+
In the current version, a limitation exists regarding the use of `deployArchitecture: arm64`. Specifically, if you enable the deployment of downstream arm64 clusters using this directive, the management cluster will subsequently only be able to deploy this architecture.
865+
To deploy clusters on both architectures (x86_64 and arm64), you will need to provision two separate management clusters. This limitation will be removed in a future version.
866+
====
843867

844868
[#metal3-media-server]
845869
[NOTE]

0 commit comments

Comments
 (0)