2
0
mirror of https://github.com/xcat2/xcat-core.git synced 2026-09-05 12:37:54 +00:00
Commit Graph

199 Commits

Author SHA1 Message Date
Vinícius Ferrão 7a58b59d72 fix(genesis): boot the riscv64 image on firmware that describes hardware through ACPI
The riscv64 kernel was built without ACPI. Firmware that publishes ACPI
tables and no device tree - server-class RISC-V boards, and edk2 with
acpi=on - therefore left the kernel with no hardware description: it died
before console initialisation, so a node handed the image by grub2 went
silent at ExitBootServices and never reached the discovery action.

Enable ACPI, its error interfaces and the EFI stub the image is already
booted through. Rebuilt with these options, the same image on the same
firmware parses the RSDP, XSDT, FACP, DSDT, APIC, RHCT and SPCR tables,
reaches multi-user and starts discovering, and the kernel now also sees
the SMBIOS entry point the firmware exports.
2026-08-24 15:45:52 -03:00
Vinícius Ferrão 5424af302c style(genesis): trim source comments 2026-08-21 03:26:13 -03:00
Vinícius Ferrão 395e85ed1c fix(genesis): gate the action service 2026-08-21 02:13:19 -03:00
Vinícius Ferrão 07bc26f15d fix(genesis): tolerate incomplete inventory 2026-08-21 02:12:56 -03:00
Vinícius Ferrão c20ce284eb fix(genesis): keep logging non-fatal 2026-08-21 02:12:22 -03:00
Vinícius Ferrão d28e72a92c fix(genesis): read the full kernel command line 2026-08-21 02:10:22 -03:00
Vinícius Ferrão f87b6be787 docs(genesis): document signed extension bundles 2026-08-21 00:00:14 -03:00
Vinícius Ferrão 6196983a55 fix(genesis): export built system extensions 2026-08-20 23:23:02 -03:00
Vinícius Ferrão b5a2356254 fix(genesis): export generated release metadata 2026-08-20 23:21:28 -03:00
Vinícius Ferrão 88f1779aec fix(genesis): validate generated network state 2026-08-20 23:06:55 -03:00
Vinícius Ferrão 50c3b00bac feat(genesis): wire signed extension bundles 2026-08-20 23:03:49 -03:00
Vinícius Ferrão 48569f3192 fix(genesis): produce release compliance metadata 2026-08-20 22:59:24 -03:00
Vinícius Ferrão f23150c241 fix(genesis): resolve KAS paths from the repository 2026-08-20 22:58:05 -03:00
Vinícius Ferrão dc87128f0d fix(genesis): run argument-free actions safely 2026-08-20 22:55:59 -03:00
Vinícius Ferrão 8283363769 feat(genesis): package the BMC setup action 2026-08-20 22:54:52 -03:00
Vinícius Ferrão 76057702ad fix(genesis): stop retrying fatal actions 2026-08-20 22:52:16 -03:00
Vinícius Ferrão 5cea31df7a fix(genesis): restore failed network refreshes 2026-08-20 22:47:32 -03:00
Vinícius Ferrão 741afd274d fix(genesis): select the default BMC LAN 2026-08-20 22:43:05 -03:00
Vinícius Ferrão 55767b3c23 fix(genesis): tolerate missing BMC SOL 2026-08-20 22:42:16 -03:00
Vinícius Ferrão b719eb8328 fix(genesis): clamp narrow console headers 2026-08-20 22:41:25 -03:00
Vinícius Ferrão 25ad0a2928 fix(genesis): mark exported images 2026-08-20 22:29:57 -03:00
Vinícius Ferrão e4de6a06fc docs(genesis): document OpenEmbedded image 2026-08-20 22:29:57 -03:00
Vinícius Ferrão f1b0a11fb5 build(genesis): assemble release image 2026-08-20 22:29:57 -03:00
Vinícius Ferrão 593444b70d feat(genesis): add hardware providers 2026-08-20 22:29:56 -03:00
Vinícius Ferrão 4b3b917409 feat(genesis): add signed extensions 2026-08-20 22:29:56 -03:00
Vinícius Ferrão 906e75f949 feat(genesis): add status console 2026-08-20 22:29:56 -03:00
Vinícius Ferrão b632a6a94f feat(genesis): add provisioning runtime 2026-08-20 22:29:55 -03:00
Vinícius Ferrão 260a3a7079 build(genesis): add OpenEmbedded platform layer 2026-08-20 22:29:55 -03:00
Daniel Hilst b4a5a86b4b Merge pull request #7665 from VersatusHPC/harvest/genesis-ib-support
fix(genesis): find the boot NIC over InfiniBand (IPoIB)
2026-07-28 11:01:51 -03:00
Vinícius Ferrão 844a5ca2fa fix(genesis): include InfiniBand kernel modules
Signed-off-by: Vinícius Ferrão <2031761+viniciusferrao@users.noreply.github.com>
2026-07-27 15:19:33 -03:00
Vinícius Ferrão 32149f10f4 fix(genesis): only wait 20s for NIC init on ppc64
The genesis boot script sleeps 20 seconds unconditionally with the comment
"wait for NIC initialization", but that wait exists solely for System P LE
(ppc64) hardware discovery -- the surrounding section is explicitly ppc64
only. Every x86_64 and aarch64 node therefore pays a needless 20s delay on
each genesis boot.

Move the sleep inside the `[[ ${ARCH} =~ ppc64 ]]` block so only ppc64 waits.
Applied to the base script and both dracut_105 (el, ubuntu) variants.

Recovered from the unmerged lenovobuild branch (original d0916d9d).

Co-authored-by: Jarrod Johnson <10814490+jjohnson42@users.noreply.github.com>
2026-07-21 22:07:30 -03:00
Daniel Hilst 0f100de5ac fix(xCAT-genesis-base): collapse usr-merged dirs in the netboot image
Building the genesis netboot image on a usr-merged host (openSUSE Leap
15, and increasingly EL) leaves the extracted root with /bin, /sbin,
/lib and /lib64 as real directories holding the same files that already
live under /usr/*. rpm then sees each binary twice (e.g. fs/bin/bash and
fs/usr/bin/bash) and aborts the install of xCAT-genesis-base with dozens
of file conflicts, so the package cannot be installed. After unpacking
the dracut image, fold those top-level directories into /usr and replace
them with relative symlinks, matching a normal usr-merged layout. The
loop is a no-op when the image already ships them as symlinks, so EL
builds are unaffected.

Signed-off-by: Daniel Hilst <392820+dhilst@users.noreply.github.com>
2026-06-29 09:02:10 -03:00
Daniel Hilst f421c2b30c fix(xCAT-genesis-base): make 2.14.5 -> 2.18 upgrade clean on EL8/EL9
A 2.17 -> 2.18 management-node upgrade installs xCAT-genesis-base 2.18 over the
2.14.5 payload that 2.17 shipped, and aborted in three ways that only surface on
the upgrade path (a fresh EL10 install never hit them):

1. usr/lib/dracut/hooks changed type: 2.14.5 shipped it as a real directory,
   modern dracut (EL8+) makes it a symlink to ../../../var/lib/dracut/hooks. RPM
   refuses to replace a directory with a symlink across an upgrade ("file ...
   conflicts"). The %pretrans removal does not help because rpm computes the
   conflict from package metadata, not the live filesystem. Materialize the
   symlink back into a real directory (with the hook contents) in %install so the
   payload type matches the installed 2.14.5 layout.

2. The %pretrans Lua used table.getn()/unpack(), removed in Lua 5.2+, so on
   EL8/EL9 (and any upgrade where the dirs exist) the scriptlet died with
   "attempt to call a nil value (field getn)". Use #t / table.unpack.

3. The %post ran "mknb" unconditionally; during a full "dnf update xCAT" xcatd is
   stopped, so mknb cannot connect and exited non-zero, failing the whole
   transaction. Tolerate the failure and leave the genesis-base-updated marker so
   the image is rebuilt once xcatd is back.
2026-06-29 09:00:09 -03:00
Daniel Hilst d8953b0ea6 fix(xcat-genesis-base): bump package version to satisfy genesis-scripts
The genesis-base deb version was frozen at an ancient value, below the lower
bound required by xcat-genesis-scripts (xcat-genesis-base-amd64 >= 2.13.10).
apt therefore refused to install it and its dependents. Bump the version to
track current xCAT so the dependency resolves.

Signed-off-by: Daniel Hilst <392820+dhilst@users.noreply.github.com>
2026-06-24 14:20:26 -03:00
Daniel Hilst 638f0d75c4 Fix xCAT 2.18 EL10 x86_64 package build issues
Signed-off-by: Daniel Hilst <392820+dhilst@users.noreply.github.com>
2026-06-20 18:48:14 -03:00
Daniel Hilst Selli baa2380cd2 fix: Move dracut call to the .spec
This fixes a problem where the dracut image was pulling artifacts from
the build host and not the mock image, e.g. building for EL9 in EL10.

Signed-off-by: Daniel Hilst Selli <392820+dhilst@users.noreply.github.com>
2026-04-14 11:15:56 -03:00
Daniel Hilst Selli fccdc3ec64 fix: Fix genesis-base package build
Signed-off-by: Daniel Hilst Selli <392820+dhilst@users.noreply.github.com>
2026-03-30 20:46:42 -03:00
Daniel Hilst Selli 4a1905171d fix: Fix genesis boot in ppc64le
Signed-off-by: Daniel Hilst Selli <392820+dhilst@users.noreply.github.com>
2026-03-11 09:32:35 -03:00
Daniel Hilst Selli 0e0ead786f fix: Fix genesis & sequential node discovery in x86_64
Signed-off-by: Daniel Hilst Selli <392820+dhilst@users.noreply.github.com>
2026-02-25 14:08:40 -03:00
Daniel Hilst Selli d691c5ccda fix: [WIP] Build xCAT-genesis-base source package in buildrpms.pl
Signed-off-by: Daniel Hilst Selli <392820+dhilst@users.noreply.github.com>
2026-02-13 14:31:26 -03:00
Daniel Hilst Selli 8507813961 fix: Add script to build xCAT-genesis-base in EL10
Signed-off-by: Daniel Hilst Selli <392820+dhilst@users.noreply.github.com>
2026-02-06 15:28:10 -03:00
Abhishek S A e497b5aa60 Merge branch 'xcat2:master' into master 2024-07-26 16:06:23 +05:30
abhishek-sa1 5e7e00ffac xcat genesis fix for x86_64 2024-07-26 16:05:15 +05:30
Markus Hilger c8cb1d6a38 Merge pull request #7257 from Obihoernchen/aarch64
Initial aarch64 support, cross arch stateless images with qemu-user-static, grub2 for x86
2024-07-25 16:12:11 +02:00
Markus Hilger df64bf8feb Add missing shebang lines 2024-05-07 16:31:30 +02:00
Markus Hilger 295dff5c51 Fix genesis builds for aarch64 2024-02-21 11:59:50 +01:00
Markus Hilger 1fe4d1ce78 Next version will be 2.17.0 2024-02-19 19:40:50 +01:00
Mark Gurevich 272f9c17d7 Update README.md 2022-09-01 17:03:40 -04:00
Kilian Cavalotti f3ba47ef2e fix typo 2022-08-30 13:39:33 -07:00
Kilian Cavalotti d3a23d48dd hard-code latest xCAT version, in case this RPM is built outside of the xcat-core repo 2022-08-30 08:07:03 -07:00