Setting up a Dev Environment in Windows¶
Developing for a Linux-based target system from within a Windows-based host machine is difficult. The way Windows has architected its file systems and behaviors is fundamentally different from Linux, making it extremely difficult to run KubOS services and applications locally.
As a result, we recommend that Windows users develop from within a Linux VM. We provide the Kubos SDK as a pre-built VM which comes with all the tooling needed to create, build, and run the KubOS components.
This document covers the steps required to set up the Kubos SDK so that it can be used as a development environment for Windows users.
Microsoft has recently released the Windows Subsystem for Linux on Windows 10. It may be possible to set up a development environment using this new utility, however we have not currently gone through the effort to figure it out. If you happen to get it up and running smoothly, we would love for you to tell us about it!
Installing the Kubos SDK¶
Please refer to the SDK installation guide for information about installing the Kubos SDK and its dependencies.
Create a Network IP for Your SDK¶
We recommend exposing your SDK to your host machine with a private IP address.
See the instructions on how to set up a private network address in your VM for more information.
Allowing UDP Communication¶
There are certain scenarios where the SDK needs to be able to receive UDP packets from an OBC when connected via a local ethernet port. For example, when using the file transfer client.
In this case, Windows Firewall may need to be updated to allow this traffic.
- Open ‘Windows Firewall with Advanced Security’. You can find this program by opening the start menu and searching for “firewall”
- Click on “Inbound Rules”, then scroll down to the “VBoxHeadless” rules. Find the rule which blocks UDP traffic on Public networks.
- Right-click on the rule and select “Disable Rule”
- Right-click on “Inbound Rules” and select “New Rule”
- Select “Custom” for the type of rule
- Select “All programs”
- Select “UDP” as the protocol type. Leave the “Local port” and “Remote port” settings as “All Ports”
- Under “Which remote IP addresses does this rule apply to?”, click “These IP addresses”, then click “Add”
- In the “This IP address or subnet” field, add the IP address of your OBC, then click “OK”, then click “Next”
- Select “Allow the connection”
- In the “When does this rule apply?” menu, leave all checkboxes selected
- In the “Name” field, enter something descriptive for the rule. For example, “Allow UDP from OBC”. Then click “Finish” to finalize and activate the new rule.