Project

General

Profile

New device » History » Version 4

Roger Pueyo Centelles, 05/23/2014 02:55 PM

1 1 Pau Escrich
h1. New device
2
3 2 Pau Escrich
This howto explains how to port a new device to the qMp firmware generator. It is required to have a UNIX based system with GNU-Make intalled.
4 1 Pau Escrich
5
* Get qmpfw (Firmware generator)
6
<pre>
7
git clone git://qmp.cat/qmpfw.git
8
</pre>
9 4 Roger Pueyo Centelles
Or if you have developer access use, instead:
10
<pre>
11
git clone gitolite@qmp.cat:qmpfw.git
12
</pre>
13
14
 "ssh://gitolite@qmp.cat:qmpfw.git" instead
15 1 Pau Escrich
16
* Execute menuconfig to checkout sources and launch the OpenWRT menuconfig
17
<pre>
18
make T=NEW_DEVICE_NAME menuconfig
19
</pre> 
20
21
* Then enable/disable the desired options in menuconfig (remember to enable base/qmp-small-node or base/qmp-big-node)
22
23
* Exit and save
24
25
* Compile the sources
26
<pre>
27
make T=NEW_DEVICE_NAME build
28
</pre>
29
30
> If compilation sucees you will get an error in the last step (when trying to copy the output binaries into images/ directory).
31
> Don't worry, identify the name of the output binary: ls build/NEW_DEVICE_NAME/bin/*/
32
> Then modify targets.mk with some text editor, and add the new entry for your device as shown in the next example for Nanostation M5
33
> 
34
> <pre>
35
 ifeq ($(T),nsm5)
36
 NAME:=NanoStation M5
37
 ARCH:=ar71xx
38
 IMAGE:=bin/$(ARCH)/openwrt-ar71xx-ubnt-nano-m-squashfs-factory.bin
39
 SYSUPGRADE:=bin/$(ARCH)/openwrt-ar71xx-ubnt-nano-m-squashfs-sysupgrade.bin
40
 endif 
41
</pre>
42
43
* Compile again
44
<pre>
45
make T=NEW_DEVICE_NAME build
46
</pre>
47
48
* If this time all works fine, copy the temporal config files
49
<pre>
50
cp -rf build/configs/NEW_DEVICE_NAME configs/
51
</pre>
52
53
* Then prepare the patch
54
<pre>
55
git add configs/NEW_DEVICE_NAME
56
git add targets.mk
57
git commit -m 'Support for new device NEW_DEVICE_NAME'
58
git diff > ../NEW_DEVICE_NAME.patch
59
</pre>
60
And send it to the developers list: qmp-dev@mail.qmp.cat