NSLU2-Linux
view · edit · print · history

Experimental target for gumstix targeting DISTRIB_RELEASE='1151'.

How to use this feed

Manual bootstrap (you probably want to symlink /opt to your external storage):

 $ su
 # feed=http://ipkg.nslu2-linux.org/feeds/optware/gumstix1151/cross/unstable
 # ipk_name=`wget -qO- $feed/Packages | awk '/^Filename: ipkg-opt/ {print $2}'`
 # wget $feed/$ipk_name
 # tar -xOvzf $ipk_name ./data.tar.gz | tar -C / -xzvf -
 # sed -i -e 's|/stable|/unstable|' /opt/etc/ipkg.conf
 # /opt/bin/ipkg update
 # /opt/bin/ipkg install <pkg_foo> <pkg_bar> ...

It has been reported this same feed also works on Western Digital MyBook World Edition. But on these devices, since the uclibc comes with the firmware is not configured with LDSO_RUNPATH support, you'll need to export LD_LIBRARY_PATH=/opt/lib before running any optware binary.

How to develop

First, follow AddAPackageToOptware to setup optware development environment.

Now,

 [slug]$ cd optware
 [optware]$ svn up
 [optware]$ make gumstix1151-target
 [optware]$ cd gumstix1151
 [gumstix1151]$ make directories ipkg-utils
 [gumstix1151]$ make toolchain

The last step will take quite some time, it is basically the automation of http://docwiki.gumstix.org/Buildroot using svn revision 1151, with RPC support, and http://docwiki.gumstix.org/Sample_code/Cpp/Hello_World (enable building C++ part of toolchain).

When the build finishes, the toolchain should be located at

 optware/gumstix1151/toolchain/gumstix-buildroot/build_arm_nofpu/staging_dir/

and optware/platforms/toolchain-gumstix1151.mk should already point at the toolchain correctly.

Now try build the simplest package possible,

 [slug]$ cd optware/gumstix1151
 [gumstix1151]$ make which-dirclean which-check
 [gumstix1151]$ make ipkg-opt-check

TODO

  • fix BROKEN packages in platforms/package-gumstix1151.mk
  • Optware packages rely on RPATH tag of ELF binaries to find shared libs. However this is not enabled for the default gumstix uclibc. You need to rebuild image to enable RPATH support.
 cd gumstix-buildroot/toolchain_build_arm_nofpu/uClibc-0.9.28
 make menuconfig
 # then "General Library Settings" => "Enable ELF RUNPATH tag support"
 make clean
 cd gumstix-buildroot
 make

NOTES

  • phoneme-advanced CVM needs to set -msoft-float to gcc;
  • cherokee, esound, irssi, mpd, and openldap build need --disable-ipv6 to avoid undefined in6addr_any at link time;
  • built buildroot with RPC http://docswiki.gumstix.com/NFS
view · edit · print · history · Last edited by BrianZhou.
Originally by BrianZhou.
Page last modified on December 11, 2007, at 01:22 AM