LabVIEW Real-Time Idea Exchange

Showing results for 
Search instead for 
Did you mean: 

Provide a Virtual Machine (VM) in which to run LV RT systems on

Status: In Development

When developing RT code (especially system upgrades) it would be truly helpful to have a virtual machine (VMware, MS Virtual PC, Sun Virtual box, etc....) that would allow us to run the actual VxWorks OS and LVRT in it's native environment, within the Windows OS. This would allow the code to run on the actual RTOS (I realize that determinism would be scacrificed) and provide the ability to actually test the functionality of the code in the actual environment to ensure that it runs as it should. It would also preclude the need to have a bunch of RT controllers sitting on the shelf in the event that you might need them.


There is and emulator for PDA module, why not for RT.




I was going down the same path that you seemed to get working, and I'm having troubles booting into the USB stick on my VM. I get stuck at "Waiting for USB to intitialize." 


Did you do anything else to boot off the USB drive properly?




Hi Plist,

as far i know, it's not possible to boot a VirtualBox directly from an USB drive. For this reason i've followed the guide here ( that use an undocumented feature of VirtualBox to enable direct access to an usb drive. This small hack make the USB drive visible to the VirtualBox as an IDE drive. The Virtual Machine then boot from this "fake" IDE drive.

Where/when exactly you got stuck? During the process of creating the .vmdk "bridge" file?



Hi D4N!3L3,


I followed the instructions you posted but I am getting the same problem than Plist. I am stuck to "Waiting for USB to initialize..."

Please find attached the screenshoot of my virtual machine. I set the same parameters as you.


Thank you very much.











For those who had the same problem as me I couldn't use the USB Utility Drive but I finally manage to set up the Virtualbox by cloning hard drive using Clonezilla and Gparted.VirtualBoxWorking.png

Active Participant

This lack of functionality is one of the biggest reasons our business does not want to adopt real-time controllers for embedded control systems; prefering instead to implement traditional PLC and SCADA systems. Those systems are capable of development and testing without any hardware present and suit the workflow of feasibility as well as change control in production. Sure, they have less features but isn't one of the goals of the cRIO platform to provide a super-set?


I don't see how anyone can have high confidence in a cRIO system (except for the most basic of use cases), or worse a change to a remote system without actually having the exact hardware present for testing; a most expensive exercise.


Its good to see that NI are taking this seriously with a change to "In Development" status. 


Hi all,

finally I've managed to create a VHD bootable image of the USB DesktopPC Utility disk.

For those interested: v2014, v2015


ps: I think that this do not violate any (C) but if NI thinks in a different way I'll remove the files.

Proven Zealot

Not sure how I forgot to post this here but in addition to being able to have a RT VM as described earlier.  There is also a way to have a Linux RT VM as described here.  There is no embedded UI, and MAX doesn't recognize it so updating software has to be done manually.  But deploying VIs that don't rely on extra software like DAQmx work, and you can play around with the system exec and call library node to test calling into the Linux OS functions.


I have successfully managed to spin up a VM for Linux RT so far its working perfectly. The embedded UI even works and the VM can be updated VIA Max, 


Ill list out my steps below if anybody is interested in getting it to work. 


  1. Create New VM
    1. Select Linux
    2. Ubuntu 64 Bit
    3. 2GB of RAM
    4. 10GB Storage Drive
  2. Open Settings for new VM
    1. In System
      1. Enable EFI
    2. Network
      1. Adapter 1
        1. Host-only Adapter
      2. Adapter 2 (Optional)
        1. Bridged
        2. Required for the VM to get internet access
    3. USB
        1. This will require the expansion pack to be installed
  3. Start-up VM
    1. When Prompted point the VM to
      1. C:\Program Files (x86)\National Instruments\RT Images\Utilities\Linux RT PXI Safemode
      2. There should be an ISO in a folder
    2. During boot press the up arrow to select verbose
    3. You should then be greeted by the install screen asking you to enter y to install #
      1.  If your keyboard will now not respond
        1. Plug in a USB one if you haven't already
        2. Click devices>USB>Click your USB keyboard
        3. Its should now let you continue
    4. Eject installation media
    5. Reboot VM

You should now be able to see your VM in NI MAX and install any software you require. 

MAX ScreenMAX Screen

You can enable the UI if you install LabVIEW 2017 Realtime

UI RunningUI Running

You can also add the VM to a project and target it then run code directly 

Running SystemRunning System

Hope this helps

Certified LabVIEW Architect, Certified Professional Instructor



Excellent 😄

From which toolkit is installed this iso ?


The .iso contains just Linux Real-time safemode. It’s similar to getting a cRIO and then wiping the disk via NI MAX it shows as “same mode no software installed” 


The .iso file is installed on your PC when you install Real-time. I currently have LabVIEW 2019, 2018 and 2017 installed. 

Certified LabVIEW Architect, Certified Professional Instructor