Projecte

General

Perfil

New device

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.

  • Get qmpfw (Firmware generator)
    git clone git://qmp.cat/qmpfw.git
    

    Or if you have developer access use, instead:
    git clone gitolite@qmp.cat:qmpfw.git
    
  • Execute menuconfig to checkout sources and launch the OpenWRT menuconfig
    make T=NEW_DEVICE_NAME menuconfig
    
  • Then enable/disable the desired options in menuconfig (remember to enable base/qmp-small-node or base/qmp-big-node)
  • Exit and save
  • Compile the sources
    make T=NEW_DEVICE_NAME build
    

If compilation suceeds you will get an error in the last step (when trying to copy the output binaries into images/ directory).
Don't worry, identify the name of the output binary: ls build/NEW_DEVICE_NAME/bin/*/
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

ifeq ($(T),nsm5)
 NAME:=NanoStation M5
 ARCH:=ar71xx
 IMAGE:=bin/$(ARCH)/openwrt-ar71xx-ubnt-nano-m-squashfs-factory.bin
 SYSUPGRADE:=bin/$(ARCH)/openwrt-ar71xx-ubnt-nano-m-squashfs-sysupgrade.bin
endif 
  • Compile again
    make T=NEW_DEVICE_NAME build
    
  • If this time all works fine, copy the temporal config files
    cp -rf build/configs/NEW_DEVICE_NAME configs/
    
  • Then prepare the patch
    git add configs/NEW_DEVICE_NAME
    git add targets.mk
    git commit -m 'Support for new device NEW_DEVICE_NAME'
    git diff > ../NEW_DEVICE_NAME.patch
    

    And send it to the developers list: