Porting programs
From Qi-Hardware
[edit] Develop with OpenWrt SDK
Porting application with OpenWrt-SDK is much easier than developing with openwrt-xburst.git.
- 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
- make symbolic name "/home/xiangfu/openwrt-xburst.full_system" to your SDK folder. this is my fault, the SDK is built on our build-host. I use this dir to compile the SDK, next time I think we should change it to "/opt/openwrt/"
- there is a folder named '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.
- Here is a sample Makefile which is for 4th, there are more comments in this makefile.
- compile the package in OpenWrt-SDK: make V=99 or make package/PACKAGE_NAME/compile V=99 The V=99 option makes output more verbose, so that in case of errors we can easily figure out what happened.
- 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 are patches created by you to fix compile errors for OpenWrt or for NanoNote.
- configure && make && make install.
- generate the PACKAGE_NAME.ipg under 'bin/xburst/packages/'
[edit] openwrt-packages
- Some NanoNote packages not in OpenWrt are provided by the openwrt-packages repository, also known as
qipackagesin the software build process. - One idea would be to clone this repo and add new ports to it (with appropriate symlinks) for easy pulls.
- See openwrt-packages for guidelines around this project.
A list of failed packages is produced for each release, as well as in snapshot builds.
[edit] Links
- building packages : http://downloads.openwrt.org/kamikaze/docs/openwrt.html#x1-380002.1.2
- Creating packages : http://kamikaze.openwrt.org/docs/openwrt.html#x1-460002.1.2
- http://wiki.openwrt.org/doc/devel/packages
- the new wiki's Creating packages page
- the old wiki's page (has more examples, including uclibc++ - not sure if these are out of date)