aboutsummaryrefslogtreecommitdiff
path: root/readme.md
diff options
context:
space:
mode:
authorFred Sundvik <fsundvik@gmail.com>2016-08-23 09:38:05 +0300
committerFred Sundvik <fsundvik@gmail.com>2016-08-23 09:38:05 +0300
commit8f2af3c6bcd0e300483cb72bfe2816701a0e528d (patch)
treecfa6d0a5d8ed7265d4367ddcc1d112923fb2d0ef /readme.md
parent8f16403179dde51af1826fbc9b65ce0e29fd33ad (diff)
parentfb4452c2f5a80720fd56306ea4fa7c61a5e8040d (diff)
downloadqmk_firmware-8f2af3c6bcd0e300483cb72bfe2816701a0e528d.tar.gz
qmk_firmware-8f2af3c6bcd0e300483cb72bfe2816701a0e528d.zip
Merge branch 'master' into makefile_overhaul
Diffstat (limited to 'readme.md')
-rw-r--r--readme.md51
1 files changed, 49 insertions, 2 deletions
diff --git a/readme.md b/readme.md
index c66efadca..f2c202e35 100644
--- a/readme.md
+++ b/readme.md
@@ -43,6 +43,29 @@ Before you are able to compile, you'll need to install an environment for AVR de
43 43
44## Build Environment Setup 44## Build Environment Setup
45 45
46### Windows 10
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!
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.
51
52Here are the steps
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/).
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
56 1. Make sure that you have no changes you haven't committed by running `git status`, if you do commit them first
57 2. From within the Git bash run īgit rm --cached -r .`
58 3. Followed by `git reset --hard`
593. Start the "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.
615. Run `sudo util/install_dependencies.sh`.
626. After a while the installation will finish, and you are good to go
63
64**Note** From time to time, the dependencies might change, so just run `install_dependencies.sh` again if things are not working.
65
66**Warning:** If you edit Makefiles or shell scripts, make sure you are using an editor that saves the files with Unix line endings. Otherwise the compilation might not work.
67
68
46### Windows (Vista and later) 69### Windows (Vista and later)
471. If you have ever installed WinAVR, uninstall it. 701. If you have ever installed WinAVR, uninstall it.
482. Install [MHV AVR Tools](https://infernoembedded.com/sites/default/files/project/MHV_AVR_Tools_20131101.exe). Disable smatch, but **be sure to leave the option to add the tools to the PATH checked**. 712. Install [MHV AVR Tools](https://infernoembedded.com/sites/default/files/project/MHV_AVR_Tools_20131101.exe). Disable smatch, but **be sure to leave the option to add the tools to the PATH checked**.
@@ -68,12 +91,36 @@ You can also try these instructions:
683. Install [DFU-Programmer][dfu-prog]. 913. Install [DFU-Programmer][dfu-prog].
69 92
70### Linux 93### Linux
71Install AVR GCC, AVR libc, and dfu-progammer with your favorite package manager. 94
95To ensure you are always up to date, you can just run `sudo utils/install_dependencies.sh`. That should always install all the dependencies needed.
96
97You can also install things manually, but this documentation might not be always up to date with all requirements.
98
99The current requirements are the following, but not all might be needed depending on what you do. Also note that some systems might not have all the dependencies available as packages, or they might be named differently.
100
101```
102build-essential
103gcc
104unzip
105wget
106zip
107gcc-avr
108binutils-avr
109avr-libc
110dfu-programmer
111dfu-util
112gcc-arm-none-eabi
113binutils-arm-none-eabi
114libnewlib-arm-none-eabi
115git
116```
117
118Install the dependencies with your favorite package manager.
72 119
73Debian/Ubuntu example: 120Debian/Ubuntu example:
74 121
75 sudo apt-get update 122 sudo apt-get update
76 sudo apt-get install gcc-avr avr-libc dfu-programmer 123 sudo apt-get install gcc unzip wget zip gcc-avr binutils-avr avr-libc dfu-programmer dfu-util gcc-arm-none-eabi binutils-arm-none-eabi libnewlib-arm-none-eabi
77 124
78### Docker 125### Docker
79 126