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:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user