Jump to content

pxeboot RHEL 7.9 with LabVIEW 2019, using NFS - no DAQmx driver support


Ryan Vallieu

Recommended Posts

We are attempting to pxeboot a system based on our working RHEL 7.9 LabVIEW 2019 SP1 installation and load the system using NFS as our systems can't have hard drives for security reasons.  The problem I am having now is that the NFS image version doesn't seem to be loading the NI DAQmx driver. 

PXIe-8135 controller
LabVIEW 2019 SP1
DAQmx driver/code works great when run on the system with the HD to boot as normal.

We created the NFS image that the system uses using rsync.  We took everything but /proc and /sys and /home/installers (where we put package and iso images on our disconnected systems in case we need to install a package we forgot).

The system boots into RHEL 7.9 GNOME, autologin and autostart work to trigger the start of our LabVIEW EXE.  The issue is when my DAQmx device based code runs, it is telling me that the DAQmx driver basically has not been installed.  I get error -52006 when DAQmx Create Task.vi is called.

 

when I run 

nidaqmxconfig --export /tmp/ni-system when I run the system from the installed HD I get the DAQmx cards listed in Slots 6, 7, 8, and 9

 

When I use pxeboot running the NFS image for the file system:

nidaqmxconfig --export /tmp/ni-system

shows

 

Failed

 

Error -52006

The requested resource was not located.

 

Any insight?  Also posted over on NI.com, but so far no hits.

 

Edit to add: Just tried this solution - 

Coworker used the disk-booted FSP-4 system to collect all modules reported by lsmod that started with "ni" or "Ni", and created files in the rootfs on tftpboot Server for each in the directory /etc/modules-load.d/*.conf
We saw some suggestions that on systemd systems that this could work to load drivers.  This did not help.

Thus we had files like ni488k.conf, nikal.conf in the /etc/modules-load.d/ location - 

This did not work to solve the problem.

Edited by Ryan Vallieu
Link to comment

Checking around on the system for failures of the pxeboot system when starting - dmesg showed:

nikal module verification failed: signature and/or required key missing

 

According to NI: NI-KAL is driver software that supports the Linux driver architecture.

Edit: It actually did load according to lsmod, this must just be a warning.

Edited by Ryan Vallieu
Link to comment
15 hours ago, Ryan Vallieu said:

Checking around on the system for failures of the pxeboot system when starting - dmesg showed:

nikal module verification failed: signature and/or required key missing

 

According to NI: NI-KAL is driver software that supports the Linux driver architecture.

Edit: It actually did load according to lsmod, this must just be a warning.

Could this be the Linux kernel wanting to refuse to load non-GNU blessed kernel drivers to be loaded. This was a pretty controversial topic some time ago. In an effort to force graphic card manufacturers to release open source versions of their driver, the kernel folks decided that you only could load GNU marked drivers, but in order to mark your driver with the necessary symbols you had to somehow link it to some library that made your driver fall under the GNU GPL license by design.

Neither at least one of the graphic chip manufacturers nor NI were happy nor willing to do that!

Link to comment

Ok this seems to have worked but the final solution has me baffled.

 

We built the new initramfs and added a /etc/dracut.conf.d/newsystem-dracut.conf  with the space delimited list of NI modules to include.

 

We built this list from the lsmod list of the working disk booted RHEL 7.9 system that has no problem with the HW drivers and runs the code perfectly well.

 

Tried then doing the pxe boot with the new initramfs with those drivers as being verified as installed in the image through

lsinitrd /boot/initramfs-newsystem.img

 

When we pxe booted the system - it again failed to load the DAQmx driver.

 

Then we looked the list of installed drivers from my OTHER disk booted system and noticed that the pxe boot initramfs image was missing ni-serial module.

Went to the RHEL 7.9 system, did the yum install of niserial
Went back and added that to the dracut.conf.d file - and then rebuilt the initramfs with that added and took a new rsync copy of the   file system for the NFS.

 

PXE boot again...

 

This time the system WORKED!  I will reboot PXE boot again and verify.

 

I am very confused as to why this would work, when the original RHEL 7.9 disk boot image DOES NOT HAVE niserial module installed but the EXE works fine and can call DAQmx.

But - I'll take the win.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.