Porting programs

From Qi-Hardware
Revision as of 07:33, 21 March 2011 by 213.239.211.82 (Talk)
Jump to: navigation, search

Develop with OpenWrt SDK

Porting application with OpenWrt-SDK is much easier than developing with openwrt-xburst.git.

  1. wget http://downloads.qi-hardware.com/software/images/Ben_NanoNote_2GB_NAND/latest/OpenWrt-SDK-xburst-for-Linux-x86_64-gcc-4.3.3+cs_uClibc-0.9.30.1.tar.bz2
  2. make symbolic name "/home/xiangfu/openwrt-xburst.full_system" to your SDK folder. this is my fault, the SDK is build in our build-host, I use this dir for compile the SDK, next time I think we should change it to "/opt/openwrt/"
  3. there is a folder name 'package' under OpenWrt-SDK, For each package you want to create, you'll have to create a sub-folder in 'OpenWrt-SDK/package' with the same name as the package you want to create. And in this directory, create a Makefile explaining how to build it.
  4. here is a sample Makefile which is for 4th, there are more comments in this makefile.
  5. compile the package in OpenWrt-SDK: make V=99 or make package/PACKAGE_NAME/compile V=99 The V=99 option output more verbose, we can easily figure out what happened.
  6. the OpenWrt work flow is like:
* make package/PACKAGE_NAME/compile 
* download origin source code to 'dl'
* extract to build_dir/target-mipsel.../PAKCAGE_NAME-PAKCAGE_VERSION
* apply the patches in package/PACKAGE_NAME/patches/* which those patches is create by you. which is fix compile error for OpenWrt or for NanoNote
* configure, make, make install.
* generate the PACKAGE_NAME.ipg under 'bin/xburst/packages/'

openwrt-package

  • some nanonote packages not in openwrt are at qi-hardware-packages
  • one idea would be to clone this repo and add new ports to it (with appropriate symlinks) for easy pulls
  • There are also some guidelines for the Qi openwrt-packages project

the following 18 packages in openwrt-packages are still marked @BROKEN, any help will be great.

       4th
       dfbmp
       dfbsee
       gnugo
       libgnome-vfs
       mlterm
       myserver
       offlineimap
       plucker
       pyneod
       python-pyneo
       sarien
       scummvm
       timidity++
       yacas
       zhcon
       zimreader

Links

Personal tools
Namespaces
Variants
Actions
Navigation
interactive
Toolbox
Print/export