Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

genesis boot failing on Intel E810 NIC cards using xCAT 2.16.4 version #7401

Open
abhishek-sa1 opened this issue Aug 10, 2023 · 5 comments
Open

Comments

@abhishek-sa1
Copy link

genesis boot failing on Intel E810 NIC cards using xCAT 2.16.4 version
image

Referring to issue #7109 understood we have to create a custom genesis image to genesis boot for Intel E810 NIC cards.

I have created genesis-base rpm file by cloning 2.16.4 xCAT code and installed it following steps mentioned in https://github.com/xcat2/xcat-core/tree/2.16.4/xCAT-genesis-builder

With this genesis image also genesis boot failed for Intel E810 NIC cards.

Since arch we are using is x86_64 and OS version RHEL 8.6, I have identified below section of code is not executing for x86_64 architecture.
image

I have modified ppc64 to x86_64 locally and created new rpm file for genesis boot and it worked after this change.

I could see instmods ice is adding in installkernel file while creating rpm file as mentioned below:
image

Except Intel E810 NIC cards, other NIC cards are booting with modprobe commands mentioned in https://github.com/xcat2/xcat-core/blob/2.16.4/xCAT-genesis-builder/xcat-cmdline.sh.

Below 2 files related to ice i have found out. Still modprobe was mandatory to boot genesis image.
image
image

Can you help me to understand why modprobe is mandatory for Intel E810 NIC cards and not required for other NIC cards? How drivers are getting loaded while genesis boot?

Also, observed genesis boot failure for NVIDIA ConnectX-6 NIC cards. Does xCAT support NVIDIA ConnectX-6 NIC cards genesis boot?

@abhishek-sa1
Copy link
Author

@gurevichmark can you help me in this?

@samveen
Copy link
Member

samveen commented Aug 11, 2023

@abhishek-sa1 This is more of a kernel module loading issue vs. genesis or xcat issue.

For fixing the issue please check on the following:

  • Which linux kernel version are you using for building the genesis image?
  • Is the driver for the card compiled into that kernel or is it a separate module file (.ko in /lib/modules/KERNEL_VERSION/ )?

When the kernel loads on the target machine, it initializes all the hardware for which the drivers are built-in. For hardware without built-in drivers, the kernel needs to be informed which drivers to load, usually via a manual insmod (or better modprobe which handles inter-module dependencies), or via config containing the module names to load from

  • /etc/modprobe.d/*.conf
  • /etc/modules-load.d/*.conf

Adding such files into the genesis tree and then rebuilding the image may solve your problem, as the mods are in the genesis tree, from what you have shown above.

Note: Please paste : it makes the task of selecting and checking so much easier.

@abhishek-sa1
Copy link
Author

@samveen
I am using kernel version 4.18.0-372.9.1.el8.x86_64 and xCAT is running on RHEL 8.6 OS with x86_64 architecture.

@abhishek-sa1
Copy link
Author

dracut-install: ERROR: installing 'dhclient'
dracut: FAILED: /usr/lib/dracut/dracut-install -D /var/tmp/dracut.PSkuHN/initramfs -a mkswap df ifenslave ssh-keygen scp clear dhclient lldpad
dracut-install: ERROR: installing 'rngd'
dracut: FAILED: /usr/lib/dracut/dracut-install -D /var/tmp/dracut.PSkuHN/initramfs -a rngd

Noticed above error while buidling rpm in x86_64 architecture and RHEL 8.6 OS.

@samveen
Copy link
Member

samveen commented Aug 15, 2023

@abhishek-sa1 with a quick check on google gave me https://bugzilla.redhat.com/show_bug.cgi?id=2054092

Would you also review the availability of the rngd command on the build system?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
2 participants