Skip to content

Commit 8329cf6

Browse files
committed
Update documentation for aarch64 and grub2 support
1 parent 857e290 commit 8329cf6

File tree

7 files changed

+100
-59
lines changed

7 files changed

+100
-59
lines changed

docs/source/advanced/mixed_cluster/building_stateless_images.rst

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,28 @@ In a homogeneous cluster, the management node is the same hardware architecture
99

1010
The issues arises in a heterogeneous cluster, where the management node is running a different level operating system *or* hardware architecture as the compute nodes in which to deploy the image. The ``genimage`` command that builds stateless images depends on various utilities provided by the base operating system and needs to be run on a node with the same hardware architecture and *major* Operating System release as the nodes that will be booted from the image.
1111

12+
When running xCAT >= 2.17 on EL >= 8 based management node with x86_64 architecture, qemu-user-static can be used to cross-build ppc64* and aarch64 osimages. Therefore, you don't need to build images on systems with the target architecture anymore.
13+
14+
Cross-build ppc64*/aarch64 stateless/statelite image on x86_64 management node
15+
------------------------------------------------------------------------------
16+
17+
#. Download qemu-user-static binaries for ppc64le and/or aarch64: ::
18+
19+
wget https://github.com/multiarch/qemu-user-static/releases/latest/download/qemu-ppc64le-static -P /usr/bin
20+
wget https://github.com/multiarch/qemu-user-static/releases/latest/download/qemu-aarch64-static -P /usr/bin
21+
chmod 755 /usr/bin/qemu-*-static
22+
23+
#. Configure systemd-binfmt accordingly: ::
24+
25+
wget https://raw.githubusercontent.com/qemu/qemu/master/scripts/qemu-binfmt-conf.sh
26+
bash qemu-binfmt-conf.sh --systemd 'ALL' --qemu-path '/usr/bin' --qemu-suffix '-static' --persistent 'yes'
27+
systemctl restart systemd-binfmt.service
28+
29+
#. Make sure ``osimage.osarch`` of your image is set to your target architecture eg. ``ppc64le`` or ``aarch64``.
30+
31+
Now, ``genimage`` will use systemd-binfmt and the qemu-user-static binary to build the image for the specified architecture.
32+
33+
1234
Same Operating System, Different Architecture
1335
---------------------------------------------
1436

docs/source/advanced/mixed_cluster/index.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
Mixed Cluster
22
=============
33

4-
The concept of mixed cluster support in xCAT is managing cluster which contain different hardware architectures. Most commonly, this is usually a cluster consisting of both Power and x86 systems.
4+
The concept of mixed cluster support in xCAT is managing cluster which contain different hardware architectures. Most commonly, this is usually a cluster consisting of both Power, ARM and x86 systems.
55

66
.. toctree::
77
:maxdepth: 2

docs/source/advanced/mixed_cluster/support_matrix.rst

Lines changed: 39 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,50 @@
11
Support Matrix
22
==============
33

4-
+---------+---------+---------+---------+---------+---------+---------+---------+---------+
5-
| | RHEL | SLES | RHEL | SLES | Ubuntu | RHEL | SLES | Ubuntu |
6-
| | ppc64 | ppc64 | x86_64 | x86_64 | x86_64 | ppc64le | ppc64le | ppc64el |
7-
| | CN | CN | CN | CN | CN | CN | CN | CN |
8-
+=========+=========+=========+=========+=========+=========+=========+=========+=========+
9-
| RHEL | | | | | | | | |
10-
| ppc64 | yes | yes | yes | yes | yes | yes | yes | yes |
11-
| MN/SN | | | [1]_ | [1]_ | [1]_ | | | |
12-
+---------+---------+---------+---------+---------+---------+---------+---------+---------+
13-
| SLES | | | | | | | | |
14-
| ppc64 | yes | yes | yes | yes | yes | yes | yes | yes |
15-
| MN/SN | | | [1]_ | [1]_ | [1]_ | | | |
16-
+---------+---------+---------+---------+---------+---------+---------+---------+---------+
17-
| RHEL | | | | | | | | |
18-
| x86_64 | yes | yes | yes | yes | yes | yes | yes | yes |
19-
| MN/SN | [4]_ | [4]_ | | | | | | |
20-
+---------+---------+---------+---------+---------+---------+---------+---------+---------+
21-
| SLES | | | | | | | | |
22-
| x86_64 | yes | yes | yes | yes | yes | yes | yes | yes |
23-
| MN/SN | [4]_ | [4]_ | | | | | | |
24-
+---------+---------+---------+---------+---------+---------+---------+---------+---------+
25-
| Ubuntu | | | | | | | | |
26-
| x86_64 | yes | yes | yes | yes | yes | yes | yes | yes |
27-
| MN/SN | [5]_ | [5]_ | | | | | | |
28-
+---------+---------+---------+---------+---------+---------+---------+---------+---------+
29-
| RHEL | | | | | | | | |
30-
| ppc64le | yes | yes | yes | yes | yes | yes | yes | yes |
31-
| MN/SN | [2]_ | [2]_ | | | | | | |
32-
+---------+---------+---------+---------+---------+---------+---------+---------+---------+
33-
| SLES | | | | | | | | |
34-
| ppc64le | no | no | yes | yes | yes | yes | yes | yes |
35-
| MN/SN | | | | | | | | |
36-
+---------+---------+---------+---------+---------+---------+---------+---------+---------+
37-
| Ubuntu | | | | | | | | |
38-
| ppc64el | yes | yes | yes | yes | yes | yes | yes | yes |
39-
| MN/SN | [3]_ | [3]_ | | | | | | |
40-
+---------+---------+---------+---------+---------+---------+---------+---------+---------+
4+
+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
5+
| | RHEL | SLES | RHEL | SLES | Ubuntu | RHEL | SLES | Ubuntu | RHEL | SLES | Ubuntu |
6+
| | ppc64 | ppc64 | x86_64 | x86_64 | x86_64 | ppc64le | ppc64le | ppc64el | aarch64 | aarch64 | aarch64 |
7+
| | CN | CN | CN | CN | CN | CN | CN | CN | CN | CN | CN |
8+
+=========+=========+=========+=========+=========+=========+=========+=========+=========+=========+=========+=========+
9+
| RHEL | | | | | | | | | | | |
10+
| ppc64 | yes | yes | yes | yes | yes | yes | yes | yes | no | no | no |
11+
| MN/SN | | | [1]_ | [1]_ | [1]_ | | | | | | |
12+
+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
13+
| SLES | | | | | | | | | | | |
14+
| ppc64 | yes | yes | yes | yes | yes | yes | yes | yes | no | no | no |
15+
| MN/SN | | | [1]_ | [1]_ | [1]_ | | | | | | |
16+
+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
17+
| RHEL | | | | | | | | | | | |
18+
| x86_64 | yes | yes | yes | yes | yes | yes | yes | yes | yes | no | no |
19+
| MN/SN | [4]_ | [4]_ | | | | | | | | | |
20+
+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
21+
| SLES | | | | | | | | | | | |
22+
| x86_64 | yes | yes | yes | yes | yes | yes | yes | yes | yes | no | no |
23+
| MN/SN | [4]_ | [4]_ | | | | | | | | | |
24+
+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
25+
| Ubuntu | | | | | | | | | | | |
26+
| x86_64 | yes | yes | yes | yes | yes | yes | yes | yes | yes | no | no |
27+
| MN/SN | [5]_ | [5]_ | | | | | | | | | |
28+
+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
29+
| RHEL | | | | | | | | | | | |
30+
| ppc64le | yes | yes | yes | yes | yes | yes | yes | yes | no | no | no |
31+
| MN/SN | [2]_ | [2]_ | | | | | | | | | |
32+
+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
33+
| SLES | | | | | | | | | | | |
34+
| ppc64le | no | no | yes | yes | yes | yes | yes | yes | no | no | no |
35+
| MN/SN | | | | | | | | | | | |
36+
+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
37+
| Ubuntu | | | | | | | | | | | |
38+
| ppc64el | yes | yes | yes | yes | yes | yes | yes | yes | no | no | no |
39+
| MN/SN | [3]_ | [3]_ | | | | | | | | | |
40+
+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
41+
4142

4243
Notes:
4344

4445
* The support statements refers to hardware control, operating system (os) provisioning, and general purpose system management where we do not see any obvious problems with the indicated combination.
4546

46-
* For diskless mixed cluster support, the initial diskless image must be created on a node running the target operating system version and architecture. see :doc:`/advanced/mixed_cluster/building_stateless_images` for more details.
47+
* For xCAT < 2.17 diskless mixed cluster support, the initial diskless image must be created on a node running the target operating system version and architecture. On xCAT >= 2.17 with x86 based management nodes QEMU emulation can be used for different architectures (eg. ppc64 or aarch64) if qemu-user-static is installed and configured via systemd-binfmt. See :doc:`/advanced/mixed_cluster/building_stateless_images` for more details.
4748

4849
.. rubric:: Footnotes
4950

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
grub2 support for x86_64 and aarch64
2+
====================================
3+
4+
xCAT 2.17 enables grub2 boot support for x86_64 and aarch64 but does not ship the necessary grub2 binaries for both architectures.
5+
If you want to use grub2 for x86_64 or aarch64 you need to download the binaries from some EL OS repository.
6+
7+
#. Download files from an BaseOS EL repository mirror
8+
9+
For EL these files are named ``grubx64.efi`` (x86_64) and ``grubaa64.efi`` (aarch64) and usually in ``BaseOS/<arch>/os/EFI/BOOT``.
10+
For very recent hardware you might need to use a newer grub version. Therefore, it's recommended to use a binary from the latest operationg system release available.
11+
You can use Red Hat Enterprise Linux, AlmaLinux, Rocky Linux or even Fedora repositories to download the grub files.
12+
13+
#. Copy downloaded files to ``/tftpboot/boot/grub2``:
14+
15+
* x86_64: ``/tftpboot/boot/grub2/grub2.aarch64``
16+
* aarch64: ``/tftpboot/boot/grub2/grub2.x86_64``
17+

docs/source/guides/install-guides/yum/install.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,4 @@ Installing xCAT
1010

1111
automatic_install.rst
1212
manual_install.rst
13+
grub2.rst

docs/source/overview/differentiators.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ Differentiators
1616

1717
* Support Multiple Hardware
1818

19-
IBM Power, IBM Power LE, x86_64
19+
IBM Power, IBM Power LE, x86_64, aarch64 (alpha support)
2020

2121
* Support Multiple Virtualization Infrastructures
2222

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
11
Operating System & Hardware Support Matrix
22
==========================================
33

4-
+-------+-------+-------+-----+-------+--------+--------+--------+
5-
| | Power | Power | zVM | Power | x86_64 | x86_64 | x86_64 |
6-
| | | LE | | KVM | | KVM | Esxi |
7-
+=======+=======+=======+=====+=======+========+========+========+
8-
|RHEL | yes | yes | yes | yes | yes | yes | yes |
9-
| | | | | | | | |
10-
+-------+-------+-------+-----+-------+--------+--------+--------+
11-
|SLES | yes | yes | yes | yes | yes | yes | yes |
12-
| | | | | | | | |
13-
+-------+-------+-------+-----+-------+--------+--------+--------+
14-
|Ubuntu | no | yes | no | yes | yes | yes | yes |
15-
| | | | | | | | |
16-
+-------+-------+-------+-----+-------+--------+--------+--------+
17-
|CentOS | no | no | no | no | yes | yes | yes |
18-
| | | | | | | | |
19-
+-------+-------+-------+-----+-------+--------+--------+--------+
20-
|Windows| no | no | no | no | yes | yes | yes |
21-
| | | | | | | | |
22-
+-------+-------+-------+-----+-------+--------+--------+--------+
4+
+-------+-------+-------+-----+-------+--------+--------+--------+----------+
5+
| | Power | Power | zVM | Power | x86_64 | x86_64 | x86_64 | aarch64 |
6+
| | | LE | | KVM | | KVM | Esxi | |
7+
+=======+=======+=======+=====+=======+========+========+========+==========+
8+
|RHEL | yes | yes | yes | yes | yes | yes | yes | yes |
9+
| | | | | | | | | |
10+
+-------+-------+-------+-----+-------+--------+--------+--------+----------+
11+
|SLES | yes | yes | yes | yes | yes | yes | yes | no |
12+
| | | | | | | | | |
13+
+-------+-------+-------+-----+-------+--------+--------+--------+----------+
14+
|Ubuntu | no | yes | no | yes | yes | yes | yes | no |
15+
| | | | | | | | | |
16+
+-------+-------+-------+-----+-------+--------+--------+--------+----------+
17+
|CentOS | no | no | no | no | yes | yes | yes | no |
18+
| | | | | | | | | |
19+
+-------+-------+-------+-----+-------+--------+--------+--------+----------+
20+
|Windows| no | no | no | no | yes | yes | yes | no |
21+
| | | | | | | | | |
22+
+-------+-------+-------+-----+-------+--------+--------+--------+----------+

0 commit comments

Comments
 (0)