Projecte

General

Perfil

New device » Historial » Versió 2

Pau Escrich, 11-01-2013 17:09

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
Or if you have developer access use "ssh://gitosis@qmp.cat/qmpfw.git" instead
10
11
* Execute menuconfig to checkout sources and launch the OpenWRT menuconfig
12
<pre>
13
make T=NEW_DEVICE_NAME menuconfig
14
</pre> 
15
16
* Then enable/disable the desired options in menuconfig (remember to enable base/qmp-small-node or base/qmp-big-node)
17
18
* Exit and save
19
20
* Compile the sources
21
<pre>
22
make T=NEW_DEVICE_NAME build
23
</pre>
24
25
> If compilation sucees you will get an error in the last step (when trying to copy the output binaries into images/ directory).
26
> Don't worry, identify the name of the output binary: ls build/NEW_DEVICE_NAME/bin/*/
27
> 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
28
> 
29
> <pre>
30
 ifeq ($(T),nsm5)
31
 NAME:=NanoStation M5
32
 ARCH:=ar71xx
33
 IMAGE:=bin/$(ARCH)/openwrt-ar71xx-ubnt-nano-m-squashfs-factory.bin
34
 SYSUPGRADE:=bin/$(ARCH)/openwrt-ar71xx-ubnt-nano-m-squashfs-sysupgrade.bin
35
 endif 
36
</pre>
37
38
* Compile again
39
<pre>
40
make T=NEW_DEVICE_NAME build
41
</pre>
42
43
* If this time all works fine, copy the temporal config files
44
<pre>
45
cp -rf build/configs/NEW_DEVICE_NAME configs/
46
</pre>
47
48
* Then prepare the patch
49
<pre>
50
git add configs/NEW_DEVICE_NAME
51
git add targets.mk
52
git commit -m 'Support for new device NEW_DEVICE_NAME'
53
git diff > ../NEW_DEVICE_NAME.patch
54
</pre>
55
And send it to the developers list: qmp-dev@mail.qmp.cat