Getting Started

The following sections describe how to install, build and run NOS3 on your host computer.

Installing NOS3

On the host computer:

  1. Install Oracle VirtualBox v6.1+:
  2. Install Vagrant v2.2+:
  3. Install Git v1.8+:
  4. Acquire the nos3 release repository via git clone
  5. Initialize git submodules for use:
    1. git submodule init
  6. Update git submodules:
    1. git submodule update
  7. Navigate to nos3/deployment
  8. Configure the CONFIG file in the deployment directory:
    1. In this file you can choose the configuration settings for the VM that will be created by Vagrant:
      1. Operating Systems are CentOS(1) and Ubuntu(2), although CentOS is currently not supported.
      2. Ground Systems are AIT(1) and COSMOS(2)
  9. Run the command vagrant up via a command prompt within the nos3/deployment directory, and wait for the command to return to the prompt. This can take anywhere from 20 minutes to hours depending on internet speeds and the specs of the host PC.

Once completed, allow the installer to finish its work. Be patient: 20mins - hours to complete.

Internet Access

IMPORTANT: Internet access is required when running. Also, please do NOT use the virtual machine until the installation process is complete.

Operating System

CentOS is currently not supported!

  1. Vagrant will automatically load the virtual machine to Virtual Box, and it will be ready for use.
  2. Login to the nos3 user using the password nos3123!
    Login to the vagrant user using the password vagrant

    VM Complete

Building Nos3

Log in to the NOS3 VM: nos3 / nos3123!

  1. Access the nos3 repository on the Host Machine. From the Guest:
    1. Use Virtual Box - Guest Additions CD Add
    2. Virtual box Menu > Devices > Shared Folder > Shared Folder Settings
    3. Add new Shared Folder and select the location of nos3 repo on host
    4. Check "Select Auto Mount" and "Make Permanent"
    5. Reboot VM
  2. Make and Install software
    1. Navigate to the nos3 shared folder after VM Reboot from Step 1e
    2. To access a Windows shared folder from Virtual Box, run sudo add vagrant vboxsf and reboot
    3. Check that vagrant provision has succeeded. If not, edit .yml: all roles > become: yes (sudoer)
    4. Navigate to the nos3 shared folder and nos3 parent directory
    5. Run make

Running Nos3

Log in to the NOS3 VM: nos3 / nos3123!

  1. To prepare 42 for use, navigate to the /opt/ folder and run sudo chown $USER 42/
  2. Navigate to the nos3 shared folder and nos3 parent directory
  3. To allow permissions for the launch and stop scripts, run sudo chmod a+x gsw/scripts/ and sudo chmod a+x gsw/scripts/
  4. Run make launch in the nos3 parent directory from the terminal
  5. NOS3 running
  6. To exit the simulation run make stop from the terminal
  7. To rebuild NOS3 from the repository baseline, first run make clean then make.

"NOS3 Flight Software" is the last component to startup.

Running Nos3 with AIT

Log in to the NOS3 VM: nos3 / nos3123!

  1. Open up a terminal
  2. cd into the AIT/AIT-CFS directory
  3. enter ait-gui –browser firefox
    1. This will start AIT and the –browser tells AIT to use FireFox for the Web Interface
  4. Double click “”. The following software will start up:
    1. NOS Engine Standalone Server (1 terminal window)
    2. 42 Dynamic Simulator (1 terminal window, 1 GUI window with CubeSat, 1 GUI window with map)
    3. Simulators (1 terminal window with a tab for each simulator, including the NOS Time Driver and the Simulator Terminal)
    4. STF1 Flight Software (1 terminal window)
  5. Once flight software has started you can begin receiving telemetry after sedning the CFS_TO_OUTPUT_ENABLE with the IP address of

Running Nos3 with COSMOS

Log in to the NOS3 VM: nos3 / nos3123!

Once NOS3 is launched, the cFS flight software and COSMOS ground station will start.

COSMOS launcher

COSMOS may command cFS to send telemetry back to COSMOS by:

  1. Open the COSMOS Command and Telemetry Server and enter:
    1. --config nos3_cmd_tlm_server.txt
    2. --system nos3_system.txt
    3. The "Connected?" attribute should read true
    4. COSMOS Command and Telemetry Server
  2. Open COSMOS Command Sender, under "Commanding and Scripting" in the launcher
    1. In the Command Sender Options Window, enter --system nos3_system.txt
    2. In the Command Sender Window, select the target to be CFS
    3. Under Command, select TO_ENABLE_OUTPUT_CC
    4. Click Send
    5. COSMOS Command Sender
    6. Notice under COSMOS Command and Telemetry Server Window, the following data field updates:
      1. Bytes Tx and Cmd Pkts should change from 0 to a positive number
      2. Bytes Rx and Tlm Pkts should start counting up as telemetry is received
      3. Telemetry Bytes Tx/Rx
  3. Open COSMOS Packet Viewer
    1. In the Packet Viewer Options, enter --system nos3_system.txt
    2. Select the Target to be CFS and Packet Name CFE_EVS_PACKET
    3. Scroll to see the "Message" field live updates (Line 16)
    4. This may be repeated for other apps, once they are commanded to send telemetry
    5. Fields of applications which have not received telemetry packets are in fuchsia
    6. COSMOS Packet Viewer