NI Linux Real-Time Discussions

cancel
Showing results for 
Search instead for 
Did you mean: 

NI Linux not finding basic commands

Solved!
Go to solution

Hi all,

 

I am facing a problem while I want to install an USB to CAN device (IXXAT) driver on my myRIO 1950 hardware. This operation requires the use of a makefile that must be executed by using the "make" command. However, the message I get on the Linux Terminal says that this command cannot be found.

 

terminal_cap.png

 

The same happens when I try to use commands like "man" that are essential in a Linux OS. I would like to know if I am missing something in order to enable the use of these commands in the NI Linux RTOS.

 

Thanks for your attention,

 

 

0 Kudos
Message 1 of 9
(4,055 Views)

Hi benat94,

 

The OS image on controllers are generally bereft of much of the niceties of a normal, full desktop Linux install, simply as that is not the intended use of these controllers and the fact that they don't have ample storage (especially the myRIO 1950, it's among the most spartan controllers out there).

 

NI does, however, include the opkg package manager on the controller so users are able to make the decision on whether it is worth the space tradeoff to install additional packages (such as build components, which I would recommend using the metapackage packagegroup-core-buildessential for that) or manual pages (which I would kinda advise against: just use online manual pages and be aware that many of the base utilities on the controller are provided by busybox, again, due to storage size concerns).

 

Let us know if you run into other issues and what cool things you're doing with the 1950.

0 Kudos
Message 2 of 9
(4,022 Views)

Hi BradM,

 

I've understood the fact that extra packages need to be installed in order to enable the use of these commands. However, I haven't managed to do this so far.

 

The myRIO 1950 board lacks Internet connection, so I guess that all the packages that support the packagegroup-core-buildessential metapackage need to be included in the board memory manually so that they can be installed by the opkg manager. If I'm not mistaken, I must make sure that all packages that are pointed in the NI repository (http://download.ni.com/ni-linux-rt/feeds/2017/arm/all/Packages) are installed before I start with the metapackage installing process.

 

repository.PNG

The problem is that I haven't been able to find those base packages that support the metapackage in order to download them, so it would be really helpful if you could point me where to find them.

 

Thanks for your attention,

0 Kudos
Message 3 of 9
(4,012 Views)

If you need to pull package dependencies manually, you were on the right track! You can navigate the package repo and download your dependencies here: http://download.ni.com/ni-linux-rt/feeds/2017/arm/

 

0 Kudos
Message 4 of 9
(3,978 Views)

Hello again,

 

I've managed to make some slow progress by downloading the needed repository .ipk files manually, so that I can use the packagegroup-core-buildessential metapackage. However, this is an extremely annoying process for a NI hardware that lacks connection to the internet.

 

Furthermore, the problem that I'm facing right now is that some of the required perl-module group packages (such as perl-module-strict and perl-module-warnings) aren't available in these repositories (at least, I can't find them Smiley Frustrated). Do you know whether these kind of packages can be found somewhere else?

 

Thanks,

0 Kudos
Message 5 of 9
(3,949 Views)

You *may* consider rehosting the NI repository on a machine that you can connect to the internet (temporarily) and then disconnect from the internet and connect to a private network that the cRIO is on. Here is a posting that discusses one way to rehost:

 

https://forums.ni.com/t5/NI-Linux-Real-Time-Discussions/Can-I-rehost-the-NI-Linux-OPKG-repository/m-...

 

I have not yet done this but am considering it. 

0 Kudos
Message 6 of 9
(3,944 Views)

Hi Southern_Cross,

 

This solution doesn't seem to work in my case. I still need to point the NI repositories by typing the URL, and this keeps being unable to download the packages that were missing. Moreover, I still haven't managed to make SystemLink Systems Manager set a connection with my myRIO device as I have pointed in this post.

 

I'll try to think about something else to make this work. Anyway, thanks for your help Smiley Wink.

0 Kudos
Message 7 of 9
(3,929 Views)
Solution
Accepted by topic author benat94

benat94 @benat94 wrote:

Hi Southern_Cross,

 

...

 

Furthermore, the problem that I'm facing right now is that some of the required perl-module group packages (such as perl-module-strict and perl-module-warnings) aren't available in these repositories (at least, I can't find them Smiley Frustrated). Do you know whether these kind of packages can be found somewhere else?


The way that the perl component is built for 2017 (the OS you seem to be using, or at least the repo you're pointing to, which I certainly hope matches your OS version), the main perl package is configured to include the noted "missing" packages (and records that it provides them):

~ $ wget http://download.ni.com/ni-linux-rt/feeds/2017/arm/cortexa9-vfpv3/perl_5.22.1-r0.37_cortexa9-vfpv3.ipk
~ $ ar p perl_5.22.1-r0.37_cortexa9-vfpv3.ipk control.tar.gz | tar xOzvf - ./control | grep Provides
./control
Provides: perl-module-strict, perl-module-config, perl-module-warnings, perl-module-vars, perl-module-warnings-register

As such, I would expect any group installation that includes perl itself will find that the requirements are already met. And if perl has already been installed, it should be the case that any additional packages that list, e.g., perl-module-strict as a dependency will see that it has already been installed (by means of perl itself).

 

To simplify things, you may want to consider either setting up bridged networking (so you share your desktop's network connection with the myRIO) or investing in a USB-to-ethernet adapter.

0 Kudos
Message 8 of 9
(3,919 Views)

You're right mate,

 

Packages such as perl automatically install some other packages that are associated. I wasn't aware of this, as these packages weren't displayed on the list when I typed the opkg list-installed command, which was confusing me.

 

I hope that this will lead to a successful setup of my USB/CAN converter driver!

 

Thank you!

0 Kudos
Message 9 of 9
(3,910 Views)