2
0
mirror of https://github.com/xcat2/xcat-dep.git synced 2026-09-02 15:36:04 +00:00
Files
xcat-dep/genesis-openembedded

OpenEmbedded Genesis packages

xCAT builds the Genesis image in xcat-core. This directory turns those build outputs into packages and feeds them into the xcat-dep repositories.

Run the release builder on a host that can build the OpenEmbedded layer. The xcat-core checkout must be clean. --xcat-ref checks that the checkout points to the intended commit; it does not change the checkout for you.

./genesis-openembedded/build \
  --xcat-source /path/to/xcat-core \
  --xcat-ref <tag-or-commit> \
  --all \
  --output-dir /path/to/xcat-genesis-release

The default format is all, which produces RPM, SRPM, and DEB packages. Use --format rpm or --format deb when only one package family is needed. The supported image architectures are x86, x86_64, ppc64, ppc64le, armv7hf, aarch64, and riscv64.

Each package installs one exact-architecture image under /opt/xcat/share/xcat/netboot/genesis/<architecture>/. The packages themselves are noarch or all because they are installed on the management node, not run on the target node.

The release directory contains:

  • rpm/, srpm/, and deb/ package directories
  • release.manifest, including the xcat-core commit
  • SHA256SUMS

Validate the directory before publishing it:

./genesis-openembedded/verify-release /path/to/xcat-genesis-release

Pass that same directory to the repository builders:

perl ./mockbuild-all.pl \
  --genesis-release /path/to/xcat-genesis-release \
  [other build options]

./build-apt-repo.sh \
  --genesis-release /path/to/xcat-genesis-release \
  [DIST ...]

The RPM builder skips its old per-EL Genesis build when a release is supplied. The APT builder adds the DEB packages to every selected suite. Both consumers verify package identities and checksums before collecting packages.

Without --genesis-release, both builders keep their existing behavior. The option remains opt-in until xcat-core uses the exact package names on every platform. The current RPM naming already matches x86_64, but older mappings still use ppc64 for ppc64le, and the DEB packages use amd64. Those mappings belong in a separate xcat-core change. Generated images and packages belong in release storage, not in Git.