mirror of
https://github.com/iNavFlight/inav.git
synced 2025-07-13 11:29:56 +03:00
95 lines
No EOL
3 KiB
Markdown
95 lines
No EOL
3 KiB
Markdown
# Building in Windows 10 with Linux subsystem [Recommended]
|
|
|
|
Linux subsystem for Windows 10 is probably the simplest way of building INAV under Windows 10.
|
|
|
|
## Setting up the environment
|
|
|
|
Enable WSL:
|
|
run `windows features`
|
|
enable `windows subsytem for linux`
|
|
reboot
|
|
|
|
|
|
Install Ubuntu:
|
|
1. Go to Microsoft store https://www.microsoft.com/en-gb/store/b/home
|
|
1. Search and install most recent Ubuntu LTS version
|
|
1. When download completed, select `Launch Ubuntu`
|
|
1. When prompted enter a user name and password which you will need to remember
|
|
1. When complete, the linux command prompt will be displayed
|
|
|
|
NOTE: from this point all commands are entered into the Ubunto shell command window
|
|
|
|
Update the repo packages:
|
|
1. `sudo apt update`
|
|
|
|
Install Git, Make, gcc and Ruby
|
|
1. `sudo apt-get install git`
|
|
1. `sudo apt-get install make`
|
|
1. `sudo apt-get install cmake`
|
|
1. `sudo apt-get install ruby`
|
|
|
|
### CMAKE and Ubuntu 18_04
|
|
|
|
To run `cmake` in the latest version you will need to update from Ubuntu `18_04` to `20_04`. The fastest way to do it is to uninstall current version and install `20_04` for Microsoft Store [https://www.microsoft.com/store/productId/9N6SVWS3RX71](https://www.microsoft.com/store/productId/9N6SVWS3RX71)
|
|
|
|
## Downloading the iNav repository (example):
|
|
|
|
Mount MS windows C drive and clone iNav
|
|
1. `cd /mnt/c`
|
|
1. `git clone https://github.com/iNavFlight/inav.git`
|
|
|
|
You are ready!
|
|
You now have a folder called inav in the root of C drive that you can edit in windows
|
|
|
|
|
|
## Building (example):
|
|
|
|
For detailed build instrusctions see [Building in Linux](Building%20in%20Linux.md)
|
|
|
|
Launch Ubuntu:
|
|
Click Windows Start button then scroll and lauch "Ubuntu"
|
|
|
|
Building from Ubuntu command line
|
|
|
|
`cd /mnt/c/inav`
|
|
|
|
Do it onece to prepare build environment
|
|
```
|
|
mkdir build
|
|
cd build
|
|
cmake ..
|
|
```
|
|
|
|
Then to build
|
|
```
|
|
cd build
|
|
make MATEKF722
|
|
```
|
|
|
|
## Flashing:
|
|
Launch windows configurator GUI and from within the firmware flasher select `Load firmware[Local]`
|
|
Hex files can be found in the folder `c:\inav\build`
|
|
|
|
## Troubleshooting
|
|
|
|
### Syntax error: "(" unexpected
|
|
|
|
```
|
|
dzikuvx@BerlinAtHome:/mnt/c/Users/pspyc/Documents/Projects/inav/build$ make MATEKF722SE
|
|
Generating MATEKF722SE/settings_generated.h, MATEKF722SE/settings_generated.c
|
|
/bin/sh: 1: Syntax error: "(" unexpected
|
|
make[3]: *** [src/main/target/MATEKF722SE/CMakeFiles/MATEKF722SE.elf.dir/build.make:63: src/main/target/MATEKF722SE/MATEKF722SE/settings_generated.h] Error 2
|
|
make[2]: *** [CMakeFiles/Makefile2:33607: src/main/target/MATEKF722SE/CMakeFiles/MATEKF722SE.elf.dir/all] Error 2
|
|
make[1]: *** [CMakeFiles/Makefile2:33290: src/main/target/MATEKF722SE/CMakeFiles/MATEKF722SE.dir/rule] Error 2
|
|
make: *** [Makefile:13703: MATEKF722SE] Error 2
|
|
```
|
|
|
|
This error can be triggered by a Windows PATHs included in the Linux Subsystem. The solution is to:
|
|
|
|
1. Open Windows RegEdit tool
|
|
1. Find `HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss\{GUID}\Flags`
|
|
1. Change `Flags` from `7` to `5`
|
|
1. Restart WSL and Windows preferably
|
|
1. `cd build`
|
|
1. `cmake ..`
|
|
1. `make {TARGET}` should be working again |