For uClibc based floppyfw look at: http://www.uclibc.org/FAQ.html#dev_systems From: Ken Yap Subject: Re: Howto create package for floppyFW Newsgroups: floppyfw.general Date: Wed, 25 Jul 2001 17:10:35 +1000 Organization: Hyssing.net Ricardson wrote: > Howto create package for floppyFW? The package is a tar.bz2 archive. You can create it by tar Icf foo.tar.bz2 blahblahblah The package is unpacked in the / directory, so your package must have relative pathnames from /. Generally a package consists of a binary and any additional libraries, which should go into lib/libsomething.so. If the program needs any additional directories to run, perhaps empty, you should also provide them. Let's look at dnrd.bz2, a package I created. It contains: $ tar Itf dnrd.bz2 bin/ bin/dnrd etc/ etc/dnrd/ lib/ lib/libpthread-0.7.so lib/libpthread.so -> libpthread.so.0 lib/libpthread.so.0-> libpthread.0.7.so The last two are just symlinks for convenience. This package was made in a populated tree with the tar command I just mentioned, so blahblahblah is just bin etc lib Next you should create optional pre- or post- scripts to start your program at boot time. They are called before and after modules are installed and the network is brought up, respectively. In this case the script is called post-dnrd.init and contains: #!/bin/sh . /etc/config dnrd -k DEBUG='' BA="-a ${INSIDE_IP}" NS='' while read a b do case $a in nameserver) NS="$NS -s $b" ;; esac done < /etc/resolv.conf dnrd -l $DEBUG $BA $NS This just kills any running instance and starts a new one. It's not the best startup script in the world. If you want your script to also be run after any change of IP due to a new DHCP lease, you should put a call to it in /etc/network.ini When installing a package, copy the .bz2 and .init files to the packages/ directory of the floppy and away you go. The tricky bit is compiling the binary with the right shared libraries.