Hi Ben,
It's pretty easy to set up a local feed on an SD or CF card. The steps go something like this:
1. First thing you need to do create a directory for your feed, e.g. /mnt/card/feed.
2. Add an IPK file or two to the feed directory to get started.
3. You'll need to create a Packages file for ipkg to load. The Packages file contains the descriptions of all the IPKs in your feed. The easiest way is to have one automatically built for you by a script. See below for the script I use or download the attachment. You'll need to run the script everytime you add a new IPK file. If you're not using /mnt/card/feed as your directory make sure you edit the top line of the script first.
4. Open up the Package Manager and add a new feed with the URL pointing to the directory you just made, e.g. file:///mnt/card/feed. Click the "Reload package list" icon and you should see your feed's packages in the list. Everytime you add new packages, after running the update-local-feed script, you'll need to either click the reload button in the Package Manager or type 'ipkg update' in a terminal so that ipkg will reload your Packages file.
I hope this all makes sense. Let me know if you need any more help.
Cheers,
Matt
/usr/local/bin/update-local-feed:
#!/bin/sh
#
feed_dir=/mnt/card/feed
update () {
echo "Updating $1:"
if [ $# -lt 1 ]; then
echo "`basename $0`: update() called without directory argument!"
exit 1
else
if [ ! -d $1 ]; then
echo "`basename $0`: update() called on non-existant directory!"
exit 1
fi
fi
cd $1
if ! echo *.ipk | grep -q '^\*'; then
echo -n "Removing Packages..."
rm -f Packages
echo " done."
for file in *.ipk; do
echo -n "Adding $file..."
tar xzOf $file ./control.tar.gz | tar xzOf - ./control | sed 's/ $//' >> Packages
echo >> Packages
echo " done."
done
else
echo "No ipk files found."
echo -n "Creating blank Packages file..."
>Packages
echo " done."
fi
echo
}
update $feed_dir