Friday, February 26, 2010

All New Zipit Z2 Development Kit Released

A while back I had released a virtual machine that included tools that would help folks build software for the Zipit Z2. It was thrown together rather hastily and it became frustrating to anyone who downloaded and tried to use it. Releasing a new version with some fixes include - was long overdue.

You can get the new image here: Zipit Z2 Development V2.torrent
Or here:

NOTE: The seeding is not going as well as I had hoped on this torrent. If you are able, you should forward a port on your firewall/router for your bit-torrent client to use. That will allow you to download from a connection I have set up which is seeding at 300k. Also - if any of you would rather just get a copy of this development kit by mail, I am going to offer that service to you. I will send a disc to anyone in the US for a flat fee of $10. That should cover materials, postage, etc. Just PayPal $10 to donations AT If you would like a copy and you are outside of the US, please email me (ray AT and we can try and work something out. I see there are some Swede's in my seeds. :-)

The release notes are below, but here is a quick rundown ... This was built for VirtualBox and the guest edition tools are all ready installed. Instead of trying to share raw files again (sorry about that) this is being shared as an "exported appliance". Which means you could also use this with VMWare if you wanted to. Also, because buildroot has proven useful in a few areas involving kernel modules, I have included that too.

It's been suggested that I include a few pre-built packages. But not knowing what people will really use this for, I didn't want to "muddy the waters" of an otherwise clean build environment. Rather, I will build some packages of my choosing and then perhaps find a way to share those in a way that you can drop them into your VirtualBox (if anyone is interested?).

If you are having trouble using this, or if you have questions etc. drop me a comment to this post. You can email me too at ray AT, but leaving comments is preferable if it's something others might benefit from reading.

This is version 2 of the Zipit Z2 Development kit. You can use this kit to compile your own software for use on the Zipit Z2 from Zipit Wireless.

Included is a virtual appliance exported out of VirtualBox v3.1.4. This image should also work with VMWare. However, if you are using VMWare you will need to install the guest tools and possibly remove the included guest tools for VirtualBox.

The image includes a configured and ready-to-use Scratchbox environment and also a buildroot environment that includes a patched Z2 kernel and ALSA (thanks again, GPSFan).

Download and install VirtualBox from Click File > Import Appliance and then point to this torrent. Adjust your memory as you see fit (256MB is about as low as you should go - 1GB+ is probably overkill).

After booting up for the first time, you should be auto-logged on as "zipit". This users password is "password" (without the quotes). Note that the root password is also "password" and so you should change those if you are going to attach this device to a network!

For more information - see the README.txt file on the Desktop of the virtual appliance, and the README.txt in the root of the Scratchbox home directory.

Check out for more details and post-release notes and for more on the Z2 device.

Hack on!
-Ray Dios Haque
February 2010

Thursday, February 04, 2010

Version 2.04 IZ2S Release

You can download IZ2S v2.04 here:

I had originally called this version the "Christmas release". But somehow it ended up being February and I still hadn't done anything new with it. Thanks to the hard work of some other folks, there are some grand changes with this release. In fact, I had little to do with these improvements.

Wicknix has given us the long awaited bash shell. He also gave us a configuration file for links which turns it into a much more usable browser. With the font and pictures scaled down, it's about like surfing the net with a cell phone.

rkdavis has provided an all new busybox binary which includes all the stuff that was left out in the original Zipit Wireless shell. If you are curious and do some digging around you will see that we have a strange way of handling that with the logon script. Basically there is a symbolic link for nearly every command which busybox offers.

Most of the stuff I added to this release will go unnoticed. I rebuilt a few packages, consolidated some things, etc. Some other nice additions include: A new build of centerim which supports ALL IM protocols, the nano editor, the midnight commander file manager, curl, and even a "mostly functional" release of tcpdump!

I plan on the next release being very different. I'm going to take everything I have learned and apply it to a clean installation. That is, I am going to take the original stock shell and begin building the additional packages all over again. This will give me an opportunity to use shared libraries for everything, and loose some of the "bulk" of IZ2S. I'm not sure when that will get released. It may not be for a while. Work is hell right now, and I have a car parked outside begging for my attention.

Also rkdavis seems to be very close to having backlight and keyboard backlight controls working. Hopefully he has that working in time for "IZ2S v3.0". ;-)

Here are the release notes for IZ2S v2.04 ...

IZS - The "Improved Z2 Shell" (aka Shell with Benefits) v2.04

This collection was built by Ray Dios Haque out of sheer necessity. I wanted something that I could play with that would not effect the stock software that comes on the Z2. The easiest way to do that was to take the Z2 Shell that was built by rossimo from Zipit Wireless and expand upon it. I take no credit for the work of the Zipit community. If I don't claim to have built it - it's because I didn't. Thanks to all of you for your contributions over the years. I hope you enjoy my additions!

INSTALL (borrowed from the original README)
Format your SD card as a FAT or a FAT16 file system. Copy everything from this zip file onto the root of the card (preserving all paths/directories). Insert your SD card into the Zipit and boot it up. Note that you can only boot this image if you are running the Stock OS that came with your Zipit. If you have installed OpenEmbedded or Debian, then you have probably replaced the stock operating system which included a routine to look for the script. For legal purposes, I cannot provide you this stock operating system. Some of the smarter people in the Zipit community might be able to help you restore this OS (see CHAT below).

Come chat with us! There is a thriving (?) community of the worlds best Zipit hackers who hang out in #zipit on You can fire up 'irc' from this very image and come hang out.

RELEASE 2.04 (ALL NEW!) - Christmas 2009
bash (by wicknix, then rebuilt by ray), ~/.bashrc (provides defaults to bash), ~/.links/html.cfg (by wicknix, makes graphical links fit the screen better), centerim-4.22.9 (supports ALL protocols), tcpdump, nano, mc (midnight commander), zip, NEW busybox v1.15.3 (built by rkdavis), curl.

RELEASE 2.03 - Early December 2009
We have sound!! Thanks GPSFan! (alsaconf, alsamixer, alsactl, amidi, aplay, gawk, getopt, iecset), SHARED Library support (ldd, ldconfig, readelf), cmus (a wicked MP3 Player), matrix (ncmatrix), mpg123, mplayer-10rc2, ntpdate, gzip (gzip, gunzip, gzexe, zcat, zcmp, zdiff, zegrep, zforce, zless, zmore, znew), zz (script to run after ssh'ing in - use . zz (dot space zz))

RELEASE 2.02 - November 2009
cls (clear screen), centerim (ncurses instant messenger with AIM, Yahoo, ICQ support), irssi (ncurses irc client), links (ncurses), links2 (graphical browser!), sed (for scripting), tar, bzip2 (bzip2, bz2recover), coreutils (10MB's of binaries)

RELEASE 2.01 - Initial Release
wget, ircii-20090520 (irc), wireless-tools (ifrename, iwconfig, iwevent, iwgetid, iwlist, iwpriv, iwspy), ftp (ftp, /etc/services), unzip (unzipsfx, unzip, funzip), nmap (nmap, *new* ncat), wpa_passphrase, less (lessecho, lesskey), grep

Removed the worthless ncurses static libs to make way for all of the *shared* libs. Not listing all of them here. Just look for yourself.

REV 2.04
- Removed the "motd" from this script, since .bashrc displays it now.
- Removed coreutils, as the new busybox does almost all the same things with less space.
- Added a symbolic link script to support all of the additional commands that busybox provides.
- We now use your actual MAC address if available from /mnt/ffs/properties.txt (thanks rkdavis).
REV 2.03
- Stopped audio_pxa from loading, and then run /mnt/sd0/modules/alsa/ for ALSA sound modules.
- Added ntp protocol to /etc/services file.
- Added a line which will fix the time and date if there is a network connection available, and then display that time/date to you.
- From here on out, all libs will go into /mnt/sd0/lib which will be linked to both /lib and /usr/lib/.
- Hid all the gory details of wpa_supplicant, while adding some other stuff for verbosity.
REV 2.02
- Modified the PATH statement so that coreutils and /mnt/sd0/bin binaries will override the busybox stuff.
- Created a home directory for the root user which exists on the SD card. It holds your stuff.
- Added a routine that change your MAC address to something random the first time you boot up. This should prevent duplicate MAC problems if you own multiple Z2 devices.
- Added a /var directory that exists on your SD card. Some things (like dropbear) expect to find it. Had to fix a script error in the BETA (thanks rkdavis).
- Added an /etc/issue file which is displayed at logon time and to ssh connections.
REV 2.01
- Added a routine asking if you would like to configure your wireless card. This was not possible before as there was no scanning routine and the image lacked the wpa_passphrase utility. You can now scan for and configure your wireless settings entirely from the zipit (wording updated in 2.02).
- Added "cp /mnt/sd0/etc/services /etc/services" which gives the ftp command the port numbers it needs to function.
- Added "cp -R /mnt/sd0/etc/terminfo /etc", "export TERM=vt102", "export TERMINFO=/etc/terminfo" to help irc understand the screen layout.
- Added "ln -s /mnt/sd0/lib/* /lib" to make ncurses libraries usable, and any future libraries that you or I might add.
- Added "ln -s /mnt/sd0/share /share" for nmap and anything else that might require a "share" directory to be present to function.

- Replaced the stock keyboard driver in /modules with one that was created by GPSFan (Ken) from the Zipit Yahoo Group. This removed all of the problems with keys not working, or repeating while typing. The original drivers remain, but have been renamed to *.orig.

- An *easier to use* mp3 player alternative to cmus (most require network socket support, which the Z2 kernel does not support).
- A script to download and install "packages" (zip files) using wget, unzip, and a "binary repository" on A similar system could provide updates when I provide them. I have not worked on this at all. Sorry about that.

IFAQ (InFrequently Asked Questions)
Q. Why are you wasting your time on this? The Z2 Shell is dead!
A. It may be 10x more work to get simple things built for it - the Z2 is very lean, and still very useful.

Q. How can I add my own binary/package?
A. There are several ways to go about this. The method I have used to compile everything is "scratchbox". Scratchbox is a program which let's you cross-compile applications. That means that you can build stuff for an ARM platform, even though you have a regular x86 machine. It can be tricky and complicated. Try reading up on what I have posted at

Q. Why did you *insert snarky comment here*?
A. If you find that I did something stupid and inefficient, do let me know. I don't claim to have any expertise in the area of building software. If you have some suggestions on how to improve things or would like to help with the next release of this improved Z2 Shell, email me at I would love to collaborate with some folks who might be more talented than myself.

Q. Will you build *insert package name here* for me?
A. Probably. Unless you are asking me to build something that has an endless list of dependencies. In which case I will probably tell you to install OpenEmbedded or full fledged Debian. They all ready have all of these packages. I am only expanding upon the old Z2 Shell because I find it lean and useful.