diff --git a/docs/source/advanced/mixed_cluster/building_stateless_images.rst b/docs/source/advanced/mixed_cluster/building_stateless_images.rst index daec246f5e..b08f855e02 100644 --- a/docs/source/advanced/mixed_cluster/building_stateless_images.rst +++ b/docs/source/advanced/mixed_cluster/building_stateless_images.rst @@ -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 --------------------------------------------- diff --git a/docs/source/advanced/mixed_cluster/index.rst b/docs/source/advanced/mixed_cluster/index.rst index cbe8f293c2..1e2cfe4bc8 100644 --- a/docs/source/advanced/mixed_cluster/index.rst +++ b/docs/source/advanced/mixed_cluster/index.rst @@ -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 diff --git a/docs/source/advanced/mixed_cluster/support_matrix.rst b/docs/source/advanced/mixed_cluster/support_matrix.rst index 08f85eb751..8fcbacfd0a 100644 --- a/docs/source/advanced/mixed_cluster/support_matrix.rst +++ b/docs/source/advanced/mixed_cluster/support_matrix.rst @@ -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 diff --git a/docs/source/guides/install-guides/yum/grub2.rst b/docs/source/guides/install-guides/yum/grub2.rst new file mode 100644 index 0000000000..ff0b498a34 --- /dev/null +++ b/docs/source/guides/install-guides/yum/grub2.rst @@ -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//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`` + diff --git a/docs/source/guides/install-guides/yum/install.rst b/docs/source/guides/install-guides/yum/install.rst index 0396dd0bae..f29815eccb 100644 --- a/docs/source/guides/install-guides/yum/install.rst +++ b/docs/source/guides/install-guides/yum/install.rst @@ -10,3 +10,4 @@ Installing xCAT automatic_install.rst manual_install.rst + grub2.rst diff --git a/docs/source/overview/differentiators.rst b/docs/source/overview/differentiators.rst index 10b27dcc92..2f4fe5e492 100644 --- a/docs/source/overview/differentiators.rst +++ b/docs/source/overview/differentiators.rst @@ -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 diff --git a/docs/source/overview/support_matrix.rst b/docs/source/overview/support_matrix.rst index 7e526c614e..d458c6167e 100644 --- a/docs/source/overview/support_matrix.rst +++ b/docs/source/overview/support_matrix.rst @@ -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 | +| | | | | | | | | | ++-------+-------+-------+-----+-------+--------+--------+--------+----------+