aboutsummaryrefslogtreecommitdiff
path: root/readme.md
diff options
context:
space:
mode:
authorJack Humbert <jack.humb@gmail.com>2016-12-02 13:22:03 -0500
committerGitHub <noreply@github.com>2016-12-02 13:22:03 -0500
commite14b0e8e7e37116d65f489e6f6ece72c39a603cd (patch)
treedbcb932cf764e5c29329962a8e51e7d605ae3d9a /readme.md
parent78f8fe361f9f6d5c32c785e90da3c868a0b255aa (diff)
parent702405f0391463cc5d0c8c8109304ac8d0ec844a (diff)
downloadqmk_firmware-e14b0e8e7e37116d65f489e6f6ece72c39a603cd.tar.gz
qmk_firmware-e14b0e8e7e37116d65f489e6f6ece72c39a603cd.zip
Merge pull request #881 from NoahAndrews/patch-1
Recommend WSL on Windows 10 [Discussion]
Diffstat (limited to 'readme.md')
-rw-r--r--readme.md18
1 files changed, 9 insertions, 9 deletions
diff --git a/readme.md b/readme.md
index afdb03ba5..be1510832 100644
--- a/readme.md
+++ b/readme.md
@@ -45,19 +45,19 @@ Before you are able to compile, you'll need to install an environment for AVR de
45 45
46### Windows 10 46### Windows 10
47 47
48It's still recommended to use the method for Vista and later below. The reason for this is that the Windows 10 Subsystem for Linux lacks [USB support](https://wpdev.uservoice.com/forums/266908-command-prompt-console-bash-on-ubuntu-on-windo/suggestions/13355724-unable-to-access-usb-devices-from-bash), so it's not possible to flash the firmware to the keyboard. Please add your vote to the link! 48Due to some issues with the "Windows (Vista and later)" instructions below, we now recommend following these instructions if you use Windows, which will allow you to use the Windows Subsystem for Linux to compile the firmware. If you are not using Windows 10 with the Anniversary Update installed (which came out in July 2016), you will need to use one of the other methods, such as Docker, Vagrant, or the instructions for Vista and later.
49 49
50That said, it's still possible to use it for compilation. And recommended, if you need to compile much, since it's much faster than at least Cygwin (which is also supported, but currently lacking documentation). I haven't tried the method below, so I'm unable to tell. 50If you use this method, you will need to use a standalone tool to flash the firmware to the keyboard after you compile it. We recommend the official [QMK Firmware Flasher](https://github.com/jackhumbert/qmk_firmware_flasher/releases). This is because the Windows 10 Subsystem for Linux lacks [libUSB support](https://wpdev.uservoice.com/forums/266908-command-prompt-console-bash-on-ubuntu-on-windo/suggestions/13355724-unable-to-access-usb-devices-from-bash), so it can't access the keyboard's microcontroller. Please add your vote for Microsoft to fix this issue using the link!
51 51
52Here are the steps 52Here are the steps
53 53
541. Install the Windows 10 subsystem for Linux, following [these instructions](http://www.howtogeek.com/249966/how-to-install-and-use-the-linux-bash-shell-on-windows-10/). 541. Install the Windows 10 subsystem for Linux, following [these instructions](http://www.howtogeek.com/249966/how-to-install-and-use-the-linux-bash-shell-on-windows-10/).
552. If you have previously cloned the repository using the normal Git bash, you will need to clean up the line endings. If you have cloned it after 20th of August 2016, you are likely fine. To clean up the line endings do the following 552. If you have cloned the repository using git before August 20, 2016, clean up the line endings from wherever you currently access git:
56 1. Make sure that you have no changes you haven't committed by running `git status`, if you do commit them first 56 1. Make sure that you have no changes you haven't committed by running `git status`. ANY UNCOMMITTED CHANGES WILL BE PERMANENTLY LOST.
57 2. From within the Git bash run `git rm --cached -r .` 57 2. Run `git rm --cached -r .`
58 3. Followed by `git reset --hard` 58 3. Run `git reset --hard`
593. Start the "Bash On Ubuntu On Windows" from the start menu 593. Open "Bash On Ubuntu On Windows" from the start menu
604. With the bash open, navigate to your Git checkout. The harddisk can be accessed from `/mnt` for example `/mnt/c` for the `c:\` drive. 604. With the bash window open, navigate to your copy of the [qmk_firmware repository](https://github.com/jackhumbert/qmk_firmware) using the `cd` command. The harddisks can be accessed from `/mnt/<driveletter>`. For example, your main hard drive (C:) can be accessed by executiing the command `cd /mnt/c`. If your username is John and the qmk_firmware folder is in your Downloads folder, you can move to it with the command `cd /mnt/c/Users/John/Downloads/qmk_firmware`. You can use the Tab key as you go to help you autocomplete the folder names.
615. Run `sudo util/install_dependencies.sh`. 615. Run `sudo util/install_dependencies.sh`.
626. After a while the installation will finish, and you are good to go 626. After a while the installation will finish, and you are good to go
63 63
@@ -1481,4 +1481,4 @@ This will add a traced variable named "layer" (the name is just for your informa
1481 1481
1482In order to actually detect changes to the variables you should call `VERIFY_TRACED_VARIABLES` around the code that you think that modifies the variable. If a variable is modified it will tell you between which two `VERIFY_TRACED_VARIABLES` calls the modification happened. You can then add more calls to track it down further. I don't recommend spamming the codebase with calls. It's better to start with a few, and then keep adding them in a binary search fashion. You can also delete the ones you don't need, as each call need to store the file name and line number in the ROM, so you can run out of memory if you add too many calls. 1482In order to actually detect changes to the variables you should call `VERIFY_TRACED_VARIABLES` around the code that you think that modifies the variable. If a variable is modified it will tell you between which two `VERIFY_TRACED_VARIABLES` calls the modification happened. You can then add more calls to track it down further. I don't recommend spamming the codebase with calls. It's better to start with a few, and then keep adding them in a binary search fashion. You can also delete the ones you don't need, as each call need to store the file name and line number in the ROM, so you can run out of memory if you add too many calls.
1483 1483
1484Also remember to delete all the tracing code ones you have found the bug, as you wouldn't want to create a pull request with tracing code. \ No newline at end of file 1484Also remember to delete all the tracing code ones you have found the bug, as you wouldn't want to create a pull request with tracing code.