Adding Docker build system & documentation
This commit is contained in:
		
							parent
							
								
									9ecf9073b9
								
							
						
					
					
						commit
						0446263935
					
				
					 2 changed files with 47 additions and 0 deletions
				
			
		
							
								
								
									
										28
									
								
								Dockerfile
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								Dockerfile
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,28 @@
 | 
			
		|||
FROM debian:jessie
 | 
			
		||||
MAINTAINER Erik Dasque <erik@frenchguys.com>
 | 
			
		||||
 | 
			
		||||
RUN apt-get update
 | 
			
		||||
RUN apt-get install --no-install-recommends -y build-essential \
 | 
			
		||||
    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 \
 | 
			
		||||
    git
 | 
			
		||||
 | 
			
		||||
RUN apt-get clean
 | 
			
		||||
RUN rm -rf /var/lib/apt/lists/*
 | 
			
		||||
 | 
			
		||||
ENV keyboard=ergodox_ez
 | 
			
		||||
ENV keymap=default
 | 
			
		||||
 | 
			
		||||
VOLUME /qmk
 | 
			
		||||
WORKDIR /qmk
 | 
			
		||||
CMD make clean ; make keyboard=${keyboard} keymap=${keymap}
 | 
			
		||||
							
								
								
									
										19
									
								
								readme.md
									
										
									
									
									
								
							
							
						
						
									
										19
									
								
								readme.md
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -75,6 +75,25 @@ Debian/Ubuntu example:
 | 
			
		|||
    sudo apt-get update
 | 
			
		||||
    sudo apt-get install gcc-avr avr-libc dfu-programmer
 | 
			
		||||
 | 
			
		||||
### Docker
 | 
			
		||||
 | 
			
		||||
If this is a bit complex for you, Docker might be the turn-key solution you need. After installing [Docker](https://www.docker.com/products/docker), run the following commands at the root of the QMK folder:
 | 
			
		||||
 | 
			
		||||
```bash
 | 
			
		||||
# You only need to run this once, it'll take a little while
 | 
			
		||||
 | 
			
		||||
docker build -t qmk .
 | 
			
		||||
 | 
			
		||||
# and you'll run this every time you want to build a keymap
 | 
			
		||||
# modify the keymap and keyboard assigment to compile what you want
 | 
			
		||||
# defaults are ergodox_ez/default
 | 
			
		||||
 | 
			
		||||
docker run -e keymap=gwen -e keyboard=ergodox_ez --rm -v $('pwd'):/qmk:rw qmk
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
This will compile the targetted keyboard/keymap and leave it in your QMK directory for you to flash.
 | 
			
		||||
 | 
			
		||||
### Vagrant
 | 
			
		||||
If you have any problems building the firmware, you can try using a tool called Vagrant. It will set up a virtual computer with a known configuration that's ready-to-go for firmware building. OLKB does NOT host the files for this virtual computer. Details on how to set up Vagrant are in the [VAGRANT_GUIDE file](VAGRANT_GUIDE.md).
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue