2
0
mirror of https://github.com/xcat2/xcat-core.git synced 2025-08-08 20:40:15 +00:00

Update documentation for aarch64 and grub2 support

This commit is contained in:
Markus Hilger
2024-07-12 18:45:49 +02:00
parent 857e2909d9
commit 8329cf6631
7 changed files with 100 additions and 59 deletions

View File

@@ -9,6 +9,28 @@ In a homogeneous cluster, the management node is the same hardware architecture
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.
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.
Cross-build ppc64*/aarch64 stateless/statelite image on x86_64 management node
------------------------------------------------------------------------------
#. Download qemu-user-static binaries for ppc64le and/or aarch64: ::
wget https://github.com/multiarch/qemu-user-static/releases/latest/download/qemu-ppc64le-static -P /usr/bin
wget https://github.com/multiarch/qemu-user-static/releases/latest/download/qemu-aarch64-static -P /usr/bin
chmod 755 /usr/bin/qemu-*-static
#. Configure systemd-binfmt accordingly: ::
wget https://raw.githubusercontent.com/qemu/qemu/master/scripts/qemu-binfmt-conf.sh
bash qemu-binfmt-conf.sh --systemd 'ALL' --qemu-path '/usr/bin' --qemu-suffix '-static' --persistent 'yes'
systemctl restart systemd-binfmt.service
#. Make sure ``osimage.osarch`` of your image is set to your target architecture eg. ``ppc64le`` or ``aarch64``.
Now, ``genimage`` will use systemd-binfmt and the qemu-user-static binary to build the image for the specified architecture.
Same Operating System, Different Architecture
---------------------------------------------

View File

@@ -1,7 +1,7 @@
Mixed Cluster
=============
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.
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.
.. toctree::
:maxdepth: 2

View File

@@ -1,49 +1,50 @@
Support Matrix
==============
+---------+---------+---------+---------+---------+---------+---------+---------+---------+
| | RHEL | SLES | RHEL | SLES | Ubuntu | RHEL | SLES | Ubuntu |
| | ppc64 | ppc64 | x86_64 | x86_64 | x86_64 | ppc64le | ppc64le | ppc64el |
| | CN | CN | CN | CN | CN | CN | CN | CN |
+=========+=========+=========+=========+=========+=========+=========+=========+=========+
| RHEL | | | | | | | | |
| ppc64 | yes | yes | yes | yes | yes | yes | yes | yes |
| MN/SN | | | [1]_ | [1]_ | [1]_ | | | |
+---------+---------+---------+---------+---------+---------+---------+---------+---------+
| SLES | | | | | | | | |
| ppc64 | yes | yes | yes | yes | yes | yes | yes | yes |
| MN/SN | | | [1]_ | [1]_ | [1]_ | | | |
+---------+---------+---------+---------+---------+---------+---------+---------+---------+
| RHEL | | | | | | | | |
| x86_64 | yes | yes | yes | yes | yes | yes | yes | yes |
| MN/SN | [4]_ | [4]_ | | | | | | |
+---------+---------+---------+---------+---------+---------+---------+---------+---------+
| SLES | | | | | | | | |
| x86_64 | yes | yes | yes | yes | yes | yes | yes | yes |
| MN/SN | [4]_ | [4]_ | | | | | | |
+---------+---------+---------+---------+---------+---------+---------+---------+---------+
| Ubuntu | | | | | | | | |
| x86_64 | yes | yes | yes | yes | yes | yes | yes | yes |
| MN/SN | [5]_ | [5]_ | | | | | | |
+---------+---------+---------+---------+---------+---------+---------+---------+---------+
| RHEL | | | | | | | | |
| ppc64le | yes | yes | yes | yes | yes | yes | yes | yes |
| MN/SN | [2]_ | [2]_ | | | | | | |
+---------+---------+---------+---------+---------+---------+---------+---------+---------+
| SLES | | | | | | | | |
| ppc64le | no | no | yes | yes | yes | yes | yes | yes |
| MN/SN | | | | | | | | |
+---------+---------+---------+---------+---------+---------+---------+---------+---------+
| Ubuntu | | | | | | | | |
| ppc64el | yes | yes | yes | yes | yes | yes | yes | yes |
| MN/SN | [3]_ | [3]_ | | | | | | |
+---------+---------+---------+---------+---------+---------+---------+---------+---------+
+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
| | RHEL | SLES | RHEL | SLES | Ubuntu | RHEL | SLES | Ubuntu | RHEL | SLES | Ubuntu |
| | ppc64 | ppc64 | x86_64 | x86_64 | x86_64 | ppc64le | ppc64le | ppc64el | aarch64 | aarch64 | aarch64 |
| | CN | CN | CN | CN | CN | CN | CN | CN | CN | CN | CN |
+=========+=========+=========+=========+=========+=========+=========+=========+=========+=========+=========+=========+
| RHEL | | | | | | | | | | | |
| ppc64 | yes | yes | yes | yes | yes | yes | yes | yes | no | no | no |
| MN/SN | | | [1]_ | [1]_ | [1]_ | | | | | | |
+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
| SLES | | | | | | | | | | | |
| ppc64 | yes | yes | yes | yes | yes | yes | yes | yes | no | no | no |
| MN/SN | | | [1]_ | [1]_ | [1]_ | | | | | | |
+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
| RHEL | | | | | | | | | | | |
| x86_64 | yes | yes | yes | yes | yes | yes | yes | yes | yes | no | no |
| MN/SN | [4]_ | [4]_ | | | | | | | | | |
+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
| SLES | | | | | | | | | | | |
| x86_64 | yes | yes | yes | yes | yes | yes | yes | yes | yes | no | no |
| MN/SN | [4]_ | [4]_ | | | | | | | | | |
+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
| Ubuntu | | | | | | | | | | | |
| x86_64 | yes | yes | yes | yes | yes | yes | yes | yes | yes | no | no |
| MN/SN | [5]_ | [5]_ | | | | | | | | | |
+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
| RHEL | | | | | | | | | | | |
| ppc64le | yes | yes | yes | yes | yes | yes | yes | yes | no | no | no |
| MN/SN | [2]_ | [2]_ | | | | | | | | | |
+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
| SLES | | | | | | | | | | | |
| ppc64le | no | no | yes | yes | yes | yes | yes | yes | no | no | no |
| MN/SN | | | | | | | | | | | |
+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
| Ubuntu | | | | | | | | | | | |
| ppc64el | yes | yes | yes | yes | yes | yes | yes | yes | no | no | no |
| MN/SN | [3]_ | [3]_ | | | | | | | | | |
+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
Notes:
* 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.
* 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.
* 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.
.. rubric:: Footnotes

View File

@@ -0,0 +1,17 @@
grub2 support for x86_64 and aarch64
====================================
xCAT 2.17 enables grub2 boot support for x86_64 and aarch64 but does not ship the necessary grub2 binaries for both architectures.
If you want to use grub2 for x86_64 or aarch64 you need to download the binaries from some EL OS repository.
#. Download files from an BaseOS EL repository mirror
For EL these files are named ``grubx64.efi`` (x86_64) and ``grubaa64.efi`` (aarch64) and usually in ``BaseOS/<arch>/os/EFI/BOOT``.
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.
You can use Red Hat Enterprise Linux, AlmaLinux, Rocky Linux or even Fedora repositories to download the grub files.
#. Copy downloaded files to ``/tftpboot/boot/grub2``:
* x86_64: ``/tftpboot/boot/grub2/grub2.aarch64``
* aarch64: ``/tftpboot/boot/grub2/grub2.x86_64``

View File

@@ -10,3 +10,4 @@ Installing xCAT
automatic_install.rst
manual_install.rst
grub2.rst

View File

@@ -16,7 +16,7 @@ Differentiators
* Support Multiple Hardware
IBM Power, IBM Power LE, x86_64
IBM Power, IBM Power LE, x86_64, aarch64 (alpha support)
* Support Multiple Virtualization Infrastructures

View File

@@ -1,22 +1,22 @@
Operating System & Hardware Support Matrix
==========================================
+-------+-------+-------+-----+-------+--------+--------+--------+
| | Power | Power | zVM | Power | x86_64 | x86_64 | x86_64 |
| | | LE | | KVM | | KVM | Esxi |
+=======+=======+=======+=====+=======+========+========+========+
|RHEL | yes | yes | yes | yes | yes | yes | yes |
| | | | | | | | |
+-------+-------+-------+-----+-------+--------+--------+--------+
|SLES | yes | yes | yes | yes | yes | yes | yes |
| | | | | | | | |
+-------+-------+-------+-----+-------+--------+--------+--------+
|Ubuntu | no | yes | no | yes | yes | yes | yes |
| | | | | | | | |
+-------+-------+-------+-----+-------+--------+--------+--------+
|CentOS | no | no | no | no | yes | yes | yes |
| | | | | | | | |
+-------+-------+-------+-----+-------+--------+--------+--------+
|Windows| no | no | no | no | yes | yes | yes |
| | | | | | | | |
+-------+-------+-------+-----+-------+--------+--------+--------+
+-------+-------+-------+-----+-------+--------+--------+--------+----------+
| | Power | Power | zVM | Power | x86_64 | x86_64 | x86_64 | aarch64 |
| | | LE | | KVM | | KVM | Esxi | |
+=======+=======+=======+=====+=======+========+========+========+==========+
|RHEL | yes | yes | yes | yes | yes | yes | yes | yes |
| | | | | | | | | |
+-------+-------+-------+-----+-------+--------+--------+--------+----------+
|SLES | yes | yes | yes | yes | yes | yes | yes | no |
| | | | | | | | | |
+-------+-------+-------+-----+-------+--------+--------+--------+----------+
|Ubuntu | no | yes | no | yes | yes | yes | yes | no |
| | | | | | | | | |
+-------+-------+-------+-----+-------+--------+--------+--------+----------+
|CentOS | no | no | no | no | yes | yes | yes | no |
| | | | | | | | | |
+-------+-------+-------+-----+-------+--------+--------+--------+----------+
|Windows| no | no | no | no | yes | yes | yes | no |
| | | | | | | | | |
+-------+-------+-------+-----+-------+--------+--------+--------+----------+