2
0
mirror of https://github.com/xcat2/xcat-core.git synced 2026-09-08 12:40:45 +00:00

docs(genesis): document s390x target

This commit is contained in:
Vinícius Ferrão
2026-09-04 00:54:19 -03:00
parent 36ca4a369f
commit 1fe530431c
5 changed files with 40 additions and 11 deletions
@@ -129,6 +129,13 @@ The following matrix is the default live validation gate for DHCP backend work.
- ``makedhcp -n``; ``kea-dhcp4 -t``; reservation add/query/delete;
xNBA shell boot; stateful subiquity and stateless compute-image handoff
through kernel, initrd, and root image when image validation is in scope
* - QEMU ``s390-ccw``
- ``s390x``
- ``ISC`` and ``Kea``
- ``s390-ccw BIOS network IPL``
- ``makedhcp -n``; backend parser; architecture ``0x001f``; DHCP options
209 and 210; TFTP fetch of the generated ``pxelinux.cfg``-style configuration,
Genesis kernel, and initramfs
Kea Boot and Reservation Regression Matrix
------------------------------------------
@@ -57,6 +57,9 @@ Supported architectures
* - ``riscv64``
- RV64GC with OpenSBI
- QEMU ``virt``
* - ``s390x``
- 64-bit z/Architecture, z10 or later
- QEMU ``s390-ccw-virtio``
``x86_64`` is the first release target and ``ppc64le`` is the second because
both have physical test systems. The other targets have the same software
@@ -66,7 +69,7 @@ trees, or controllers.
Architecture names are exact. In particular, ``ppc64`` and ``ppc64le`` are
different artifacts. The build does not preserve the old xCAT alias between
them. ``riscv32``, pre-ARMv7 processors, and i586-only x86 processors are not
supported.
supported. The ``s390x`` target does not support the 31-bit ``s390`` ABI.
Networking
----------
@@ -90,6 +93,14 @@ IPv6-only deployment also needs matching support in xCAT server code, DHCP,
boot firmware, and boot configuration. Those changes are outside this layer
and must not be hidden inside the Genesis image.
The ``s390x`` image uses virtio networking under QEMU. QEMU does not emulate
qeth, and Genesis does not yet configure qeth channel groups. Physical LPAR
and z/VM Genesis networking therefore remain unvalidated.
Genesis does not use the shared CEC serial as an s390x node identifier.
QEMU validation covers network IPL, DHCP options 209 and 210, TFTP, and the
network-specific PXELINUX configuration written by ``mknb``. Existing xCAT
s390x operating-system provisioning remains unchanged.
xCAT protocol
-------------
@@ -234,12 +245,13 @@ checksums, reports, and optional signed extensions. Packages install each
export under ``genesis-openembedded/ARCH``. ``mknb`` verifies and publishes
that export when present, while retaining the old Genesis path as a fallback.
The management-node and service-node packages recommend the ``x86_64`` and
``ppc64le`` images. These are weak dependencies so an older or partial mirror
does not block an xCAT upgrade. Other target images can be installed from the
same common repository before running ``mknb ARCH``. RPM builds based on RPM
4.11 omit the recommendations because that version cannot parse weak dependency
tags. Install the required image package explicitly on those systems.
The management-node and service-node packages recommend the ``x86_64``,
``ppc64le``, ``riscv64``, and ``s390x`` images. These are weak dependencies so
an older or partial mirror does not block an xCAT upgrade. Other target images
can be installed from the same common repository before running ``mknb ARCH``.
RPM builds based on RPM 4.11 omit the recommendations because that version
cannot parse weak dependency tags. Install the required image package
explicitly on those systems.
Server integration should be reviewed separately from the image. Independent
bugs found while testing Genesis, such as TFTP path handling or Kea policy,
@@ -259,7 +271,8 @@ actions.
``x86_64`` and ``ppc64le`` require physical tests before release. VM tests
cannot certify platform firmware, BMC behavior, storage-controller tools,
RDMA firmware operations, GPUs, Secure Boot on vendor firmware, or
board-specific device trees.
board-specific device trees. Physical ``s390x`` support also requires a qeth
activation path and IBM Z LPAR or z/VM validation.
References
----------
@@ -42,12 +42,16 @@ An export is identified by \ ``xcat-genesis.manifest``\ , which records its form
When multiple IPv4 addresses are configured for the same network, \ **mknb**\ uses a locally assigned \ ``site.master``\ for the xcatd endpoint, or the first address reported by the operating system when \ ``site.master``\ is not local. POWER discovery configurations also use this address for their kernel and initrd URLs.
OpenEmbedded images use the exact architecture names \ ``x86``\ , \ ``x86_64``\ , \ ``ppc64``\ , \ ``ppc64le``\ , \ ``armv7hf``\ , \ ``aarch64``\ , and \ ``riscv64``\ . If an OpenEmbedded \ ``ppc64le``\ image is not installed, \ **mknb**\ keeps the old behavior and uses the legacy \ ``ppc64``\ image.
OpenEmbedded images use the exact architecture names \ ``x86``\ , \ ``x86_64``\ , \ ``ppc64``\ , \ ``ppc64le``\ , \ ``armv7hf``\ , \ ``aarch64``\ , \ ``riscv64``\ , and \ ``s390x``\ . If an OpenEmbedded \ ``ppc64le``\ image is not installed, \ **mknb**\ keeps the old behavior and uses the legacy \ ``ppc64``\ image.
Canonical \ ``ppc64``\ images are big-endian. xCAT marks them so \ ``ppc64le``\ nodes do not use them as a legacy little-endian fallback. \ **mknb**\ also refuses to replace a marked \ ``ppc64``\ image with that fallback.
riscv64 nodes boot through UEFI firmware and grub2. For riscv64, \ **mknb**\ publishes the Genesis kernel and initramfs and writes one grub2 configuration per network under ``/tftpboot/boot/grub2``, named ``grub.cfg-`` followed by the network hex prefix, so that ``grub2.riscv64`` loaded by the firmware can start node discovery. The per-node files written by \ **nodeset**\ take priority over these network files. Networks served by a ``:noboot`` interface in ``site.dhcpinterfaces`` get no discovery configuration.
QEMU s390-ccw guests receive a network-specific ``pxelinux.cfg`` -style configuration through DHCP options 209 and 210. s390x Genesis does not use the shared IBM Z machine serial as a node identifier. This target supports Genesis discovery under QEMU. Existing s390x operating-system provisioning remains unchanged. Physical LPAR and z/VM Genesis networking remain unvalidated because QEMU does not emulate qeth and Genesis does not yet configure qeth channel groups.
Run \ **makedhcp -n**\ after installing the s390x image and before booting s390x nodes. This adds the required DHCP options to existing configurations.
*******
OPTIONS
+5 -1
View File
@@ -24,12 +24,16 @@ An export is identified by C<xcat-genesis.manifest>, which records its format ve
When multiple IPv4 addresses are configured for the same network, B<mknb> uses a locally assigned C<site.master> for the xcatd endpoint, or the first address reported by the operating system when C<site.master> is not local. POWER discovery configurations also use this address for their kernel and initrd URLs.
OpenEmbedded images use the exact architecture names C<x86>, C<x86_64>, C<ppc64>, C<ppc64le>, C<armv7hf>, C<aarch64>, and C<riscv64>. If an OpenEmbedded C<ppc64le> image is not installed, B<mknb> keeps the old behavior and uses the legacy C<ppc64> image.
OpenEmbedded images use the exact architecture names C<x86>, C<x86_64>, C<ppc64>, C<ppc64le>, C<armv7hf>, C<aarch64>, C<riscv64>, and C<s390x>. If an OpenEmbedded C<ppc64le> image is not installed, B<mknb> keeps the old behavior and uses the legacy C<ppc64> image.
Canonical C<ppc64> images are big-endian. xCAT marks them so C<ppc64le> nodes do not use them as a legacy little-endian fallback. B<mknb> also refuses to replace a marked C<ppc64> image with that fallback.
riscv64 nodes boot through UEFI firmware and grub2. For riscv64, B<mknb> publishes the Genesis kernel and initramfs and writes one grub2 configuration per network under C</tftpboot/boot/grub2>, named C<grub.cfg-> followed by the network hex prefix, so that C<grub2.riscv64> loaded by the firmware can start node discovery. The per-node files written by B<nodeset> take priority over these network files. Networks served by a C<:noboot> interface in C<site.dhcpinterfaces> get no discovery configuration.
QEMU s390-ccw guests receive a network-specific C<pxelinux.cfg>-style configuration through DHCP options 209 and 210. s390x Genesis does not use the shared IBM Z machine serial as a node identifier. This target supports Genesis discovery under QEMU. Existing s390x operating-system provisioning remains unchanged. Physical LPAR and z/VM Genesis networking remain unvalidated because QEMU does not emulate qeth and Genesis does not yet configure qeth channel groups.
Run B<makedhcp -n> after installing the s390x image and before booting s390x nodes. This adds the required DHCP options to existing configurations.
=head1 OPTIONS
=over 12
+2 -1
View File
@@ -16,7 +16,8 @@ xCAT-genesis-builder/oe/build x86_64
```
The build command accepts `x86`, `x86_64`, `ppc64`, `ppc64le`, `armv7hf`,
`aarch64`, and `riscv64`. Multiple architectures are built in the order given.
`aarch64`, `riscv64`, and `s390x`. Multiple architectures are built in the
order given.
Artifacts are written below `xCAT-genesis-builder/oe/.work/build/tmp/deploy/images`.
The `x86` artifact uses an i686 CPU baseline. The build carries the reviewed
Yocto release key in `oe/keys` and verifies its fingerprint locally.