OpenZipIt is an open-source firmware for the ZipIt wireless messenger. OpenZipIt was developed by cynfab (KenMcGuire) in April 2005. Since release, there has been no more major development on it. However, there are renewed interests in expanding and continuing to develop the firmware by several members of the ZipItWireless community.
What's included in OpenZipIt?
In general OpenZipIt is a collection of sources, patches and How To's that describe a set of replacement applications for the Zipit Instant Messaging device. It is (hopefully) a work in progress and should not be considered complete in its current form.
- aumix: ncurses audio mixer control panel
- busybox: Busy Box combines tiny versions of many common UNIX utilities into a single small executable. It provides replacements for most of the utilities you usually find in GNU fileutils, shellutils, etc.
- dropbear v.45: ssh client & server Note that for the current version to connect, the ssh server must have the
PasswordAuthentication yessetting in its config file.
- libid3tag: id3tag library
- libmad: mp3 decoder library
- madplay: mp3 player using the libmad & libid3tag libraries
- uClibc: glibc replacement library. This is in support of weechat, and other ncurses based programs.
- freebase: This is a simple streaming audio application that uses the libmad mp3 decoder library. In its original form, freebase had some serious problems, this is my attempt to fix them. The original code was not under development, but this is not a fork, just an adaptation for the Zipit. The copyright remains with the original owner.
- weechat: This is an IRC client that supports an ncurses interface.
The mp3 players included are intended to demonstrate that playing mp3's and doing streaming audio on the Zipit is possible. They still have some issues with data rates, and skipping. The only way those problems will be solved is by having more eyes look at the code and better minds than mine thinking about those problems.
The audio drivers are built as modules and must be loaded prior to using the sound system. They can be loaded by running the "go2" shell script included in OpenZipIt.
This relatively simple process will allow you to install the more fully featured OpenZipIt firmware. Before you install OpenZipIt, you must have already installed the BURN3 firmware as described in ZipIt WiFi Flash. Once you have installed OpenZipIt, the same basic process is also used to install custom firmware over WiFi, you simply replace the OpenZipIt files with your custom versions.
For instructions on installing OpenZipIt from Windows XP, see OpenZipIt WinXP Install
For instructions on installing OpenZipIt from Linux, see OpenZipIt Linux Install
Modifying The OpenZipIt Ramdisk Image
You will likely want to add some shell scripts or make other changes to the file system to make your ZipIt better suit your needs. Keep in mind the limited free space on the ZipIt's ROM and the fact that if you screw up you'll have to do the 3-wire mod.
On your linux box:
- Unzip ramdisk.gz file.
- mkdir /mnt/image
- mount -o loop ramdisk /mnt/image
- cd /mnt/image
- Make your desired changes.
- cd back to the directory housing your ramdisk file.
- umount /mnt/image
- gzip -9 ramdisk
- Re-flash your zipit, using the new ramdisk.gz image instead of the offical OpenZipIt version.
An alternate way is to use the genziplinefs.sh script from the Files -> Development System Tools folder. It is derived from the genext2fs.sh from buildroot, and starts with the root dir generated by buildroot. Reading its source can be helpful in understanding what is going on when building a ramdisk.gz image from a set of files. The script uses utilities built by buildroot, so it probably won't work if you don't have a development environment set up.