So I don't do a ton of real-time stuff, but I'm getting more into it and it's capabilities. I have a PXI chassis running non-Linux RT, and with the help of some instructions online I was able to load Pharlap on a virtual machine. But I'd love to evaluate some of the NI Linux Real-Time OS in a real PC, PXI controller, or VM just like I am with Pharlap. Now there is a version of the Linux RT that runs on x86 processors but I'm curious to know what possibilities are there for having it run on a PXI chassis, run on an Industrial PC, or run in a VM.
Has NI said anything about bringing Linux RT to PXI platform? Or allowing for it to be loaded on Industrial PCs? I swear I remember hearing something about the PXI platform at NI Week but can't find any thing in the idea exchange, or on the forums.
And on the technical side of things, is there anything in the line of reinstalling the NI Linux Real-Time OS, that I could possibly try to load on an x86 environment? I know the source is somewhat available on Git, but my experience with tool chains and building things in Linux (and in text environments) is basically zero.
Any help is appreciated, thanks.
Oh if someone has any of the x64 based cRIO systems it might be possible to boot to a USB drive, perform a backup, and then restore that backup in a VM or on other hardware. Here are some instructions on backing up and restoring over USB. To date the following hardware run the x64 based Linux RT OS, cRIO-903x, CVS-1458, CVS-1459, cDAQ 9132 / 9133 / 9134 / 9135 / 9136 / 9137, according to this article.
And another option might be the Recovery CD method. NI has a way to reinstall the RT OS using a recovery CD as mentioned here. Having the recovery CD for the cDAQ 913x might be another method of installing the OS on an x64 based processor, or VM. Is this recovery CD available online or by other methods?
Not entirely, that last link where the Recovery CD is mentioned specifically references the cDAQ-913x which is listed as running the Linux x64 based OS.
And in the manual for the 9138 under the Restoring the Hard Drive to Factory Default Conditions, it mentioned a DVD named "NI Embedded Controller OEM Re-Installation DVD" but to be fair it looks like this is only in reinstalling the OS if you choose this hardware to have Windows on it.
Edit: 9138 is a Pharlap version.
Double Edit: Yeah maybe you are right that isn't going to work either. It seems Recovery CDs/DVDs are for reinstalling Windows on a controller, or Pharlap. I just feel like if I had a hard drive image of one of these systems, or a backup, I could get it working in a VM.
NI is continuing to invest in NI Linux Real-Time across our platforms, as you noted with the models above. Today we do not have an Industrial Controller or PXI Controller running NI Linux Real-Time or Desktop PC/ VM support, but an update to our Industrial Controller to include NI Linux RT is scheduled to release soon.
As you noted, you can get the distro from github.com/ni but that does not include the LabVIEW Real-Time Runtime Engine. What are you interested in evaluating/testing, the OS itself, open source libraries/applications, LabVIEW applications, all of the above?
Getting experience in RT or FPGA LabVIEW programming is a bit difficult. You aren't going to become familiar with the platform unless you have the hardware, and you aren't going to willfully sign up for projects involving it (and justify buying the hardware), unless you are aware of what the platform can do.
So being able to evaluate a RT system in a virtual machine is hugely beneficial to me. Imagine having never done a deployment to an RT system. Following instructions on a white paper is one thing, but learning the troubleshooting techniques and going through the motions of actually writing code in a project, deploying, and testing the communication methods means you have one less thing to worry about when it comes to using the actual hardware if and when the time comes to buy it. I've learned so much about what it takes to write RT code in such a short time, and I want to know more.
I want to do things like see how to install other Linux packages, what are some uses and limitations of the system exec in Linux RT? And the call library nodes. I want to know what limitations are there to VI Server calls? I want to know what kinds of things I can output to the video (if supported). I want to know what kinds of tools do I have to create web pages that can display running RT data. I want to evaluate and learn more about RT Linux, in an environment that doesn't require me to buy hardware, until I'm more knowledgeable about its uses and limitations. Installing a x64 build of it in a VM would allow me to research and learn so much more.
I think the closest offering we have for your interests is the LabVIEW RIO Evaluation Kit. I recognize it is not the VM solution you are looking for but it provides an NI Linux RT HW platform, IO interfacing test board, and LabVIEW and C tutorials. It is not an x64 based platform so it does not have built in UI capabilities but it will allow you to explore the other development techniques (package management, vi server implementations, library interfacing) you've mentioned.
I'm with Brian here,
A virtual machine would be really handy and a great way to allow prototyping prior to hardware being bought.
Overall, I agree with you guys that a VM would be a handy way to check out LVRT development without an actual physical target (a non-trivial investment).
However, this sort of discussion really belongs on the Idea Exchange, that's what it was put in place for. The NI Linux RT virtual community is about helping devs with non-NI-directly supported questions or information. My recommendation would be to put forth a serious proposition there.
As you are probably already aware there is an idea exchange item for an RT VM. The reason I didn't put this discussion in there is because this thread did not start with "NI should make an RT VM", but instead "I want to make a VM of a Linux RT system, help me do this". And that type of discussion is a non-NI-directly supported topic. NI may have in site into how to accomplish this task, but I'm assuming if they did, they wouldn't be open to sharing it at this moment anyway.