I'd like to thank Hunter Davis and Aliosa27 who literally did all the work to make this stuff. I'm just reproducing sections of it as a sort of clearer guide, and for my own reference.
This guide is basically hacked together from hunterdavis.com, from the varous coment threads and instructions that have been posted there, the files hosted by aliosa27 which I've mirrored here to not waste his bandwidth, and some photos/screenshots that I've taken on my own.
About This Guide
This guide is intended to step through the process of putting a barebones debian installation onto the Zipit Z2 Wireless Messenger, and implementing various hacks and drivers to emulate the functionality of a small computer, on what is essentially a toy for tweens.
There are multiple ways to do this, and there are multiple variants which will yield different results. This page is designed specifically to set up Debian, with a disk image on the MiniSD card that will allow both Windows and Linux computers to drop files into what is essentially the "hard drive" of the device.
Once the installation is complete, you may choose to install optional mouse drivers for the directional pad, and a keymap to emulate the functionality of a more complex keyboard. You will also be able to use apt to download packages from the debian repositories. Instructions on how to do so appear underneath the basic install instructions.
I am not a programmer. I am a nerd who likes to tinker with things. While I have gone through these steps myself and have tried to make sure that the steps are accurate and clear, we are still hacking a device to to something it is not intended to do, and I take no responsibility for you bricking your Zipit or encountering an unresolvable issue with the installation process.
The ZipIt's Specifications
Processor
- Marvell XScale PXA270 ~312 Mhz
Flash Memory
- 8MB
System Memory
- 32MB SDRAM
Audio
-
Wilson Micro WM8751 Audio CODEC
-
Digital volume control
-
Headphone output
-
Speaker output
802.11g Wireless
-
Marvell 88W8686 Rev. B2 Wi-Fi “B/G” Solution
-
Supports receive antenna diversity
-
Supports Power Management
Battery
-
Internal rechargeable battery based on Li-Ion Polymer with at least 1000 mAH (min)
-
Connector on battery
LCD Display
-
320 x 240 TFT LCD
-
Transmissive Display
-
Dot pitch: .18h x .18v
-
256K Colors
-
Min 2.8” diagonal
-
LED Backlight
-
200nit Backlight
Keyboard
-
Full backlit QWERTY design
-
Zipit Layout
-
PolyMetal Dome
-
Tactile Feel
Internal Connectors
-
Keyboard
-
LCD
The Setup
Using a Windows Computer for preparation.
To begin, you'll need the following items:
- A Windows Computer
- A miniSD card or microSD with adapter
- A way to connect the SD card to your Windows Computer
- A Zipit Z2 Messenger
- The Internet!
You're going to need to download several files:
- Either the 1gb or 2gb disk image from sourceforge (Created by Aliosa27)
- Aliosa27’s latest oe userland image
- Aliosa27's keymap.map file and z2mouse-option file (Optional: For mouse emulation)
- phsydiskwrite Either version, though the GUI version is easier to use.
- The autoflasher script
- Windows ext2 filesystem driver (If you can't see fat partition from Windows)
Using a Linux Computer for preparation.
You will need:
- Your zipit z2
- A linux computer with an internet connection to download files and gparted installed.
- A miniSD card, or microSD in a miniSD adapter.
You will need to download these files:
- Either the 1gb or 2gb disk image from sourceforge (Created by Aliosa27)
- Aliosa27’s latest oe userland image
- Aliosa27's keymap.map file and z2mouse-option file (Optional: For mouse emulation)
- The autoflasher script
The Installation
Using a Windows Computer to set up the Zipit
- First, flash the zipit. Extract the autoflasher bundle to a fat16 formatted memory card
- Open Aliosa27’s wireless+x+audio.tar.gz file, and copy out the /boot/linux-2.6.29 file to your memory card
- Rename this file kernel.bin
- Boot the zipit with the SD card inserted. If this does not start the linux flash, go to settings->reset to default and it should soft-reset
- Some SD cards are reported to not work, or not always be seen by the zipit. Try both with and without the power cable plugged in
- The z2 will boot linux and copy the wifi firmware to the sd card before flashing linux to the Z2.
- Copy off the 2 wireless firmware files gspsi.bin and gpspsi_helper.bin to a folder, you will copy these back to the memory card after we write the image
- IMPORTANT — rename helper_gspi.bin to be gspi8686_hlp.bin or it will not load later!
- Extract the 1/2gb image to a folder
- Extract phsydiskwrite to a folder
- Insert your microSD card into the computer (adapter, usb stick, etc)
- Run phsygui.exe from within the folder you extracted psydiskwrite to (requires .net framework)
- right-click on the drive letter for your SD card, select the first menu item, and then select the 1/2gb image you extracted earlier (.img)
- After it writes, safely remove the disk then plug it back in. if windows can see the fat partition copy the firmware files to it
- If windows cannot see this fat partition, dowload the ext2 filesystem driver, run it, then copy the firmware files over to /lib/firmware/notlibertas/ (yes notlibertas, the fat filesystem is mounted as /lib/firmware/libertas so you can’t use that)
- Insert the sd card into the Z2, and boot. Login as root, password debian. Congrats! You’ve got debian on the zipit!
- If windows couldn’t see your fat32 partition, copy the firmware files from /lib/firmware/notlibertas to /lib/firmware/libertas. You may need to run fsck if linux can’t see the files.
- Reboot, and you should have wireless device when you type iwconfig. Configure the wireless settings, and you’re ready.
Using a Linux Computer to set up the Zipit
- First, flash the zipit. Extract the autoflasher bundle to a fat16 formatted memory card
- Extract Aliosa27’s wireless+x+audio.tar.gz file, and copy out the /boot/linux-2.6.29 file to your memory card
- Rename this file kernel.bin
- Boot the zipit with the SD card inserted. If this does not start the linux flash, go to settings->reset to default and it should soft-reset
- Some SD cards are reported to not work, or not always be seen by the zipit. Try both with and without the power cable plugged in
- The z2 will boot linux and copy the wifi firmware to the sd card before flashing linux to the Z2.
- Remove the MiniSD card and connect it to your computer.
- Copy off the 2 wireless firmware files gspsi.bin and gpspsi_helper.bin to a folder, you will copy these back to the memory card after we write the image
- Rename rename helper_gspi.bin to be gspi8686_hlp.bin
- Extract either the 1gb or 2gb disk image from sourceforge, you will end up with an .img file.
- Write that .img file to the MiniSD with "dd if=/<folder>/<filename>.dd of=/dev/<deviceid>
- Copy the two wireless firmware files gspsi.bin and gspi8686_hlp.bin to /lib/firmware/notlibertas
- Remove the MiniSD from the computer and insert into the Z2, then boot the Z2, the OpenZipit logo should appear, followed by a login prompt.
- Login: root Password: debian
- Copy the firmware files gspsi.bin and gspi8686_hlp.bin from /lib/firmware/notlibertas to /lib/firmware/libertas, ane make them excecutable.
- Reboot the device and login, wireless should be working, use iwconfig to connect to an access point.
Mouse Emulation
To get the directional pad working as a mouse, you'll need to download one of the mouse drivers from the files section
z2mouse-option
This driver works with the keymap.map file to make the directional pad act as a mouse, and the upper row of keyboard keys act as function keys when the Options button at the top of the keypad is pressed.
To install:
- Download the driver z2mouse-option and the keymap keymap.map to the device
- place z2mouse-option in /bin and chmod 777 it.
- place keymap.map in /etc, if there is a file there named keymap.map already, back it up before doing this.
- edit "~/.fluxbox/startup" and add "/bin/z2mouse-option &" in the startup section
- edit "/usr/bin/startfluxbox" and add "/bin/z2mouse-option &" in the startup section
- reboot the device and startx, wait until the desktop has loaded fully then hit the option key to toggle the mouse on/off
Screenshots/Videos

A cleared screen taking a framebuffer screenshot.

output of iwconfig after placing wireless firmware in libertas

Installing and then using fbgrab to take framebuffer screens

output of fdisk -l

links2 viewing google.com from CLI

output for pinging google.com

viewing reddit.com from CLI with Links2

Fluxbox desktop after startup.

The fluxbox menu in action using z2mouse-option

using dillo to view google.com from flux

using dillo to view reddit.com from flux

Another shot of reddit.com.
Files
1 and 2 GB Debian Image Files for the MiniSD - Choose One.
Other files
| Description | Aliosa27's Files | Quantum Lime Mirror | Filesize |
| Debian-Z2.tgz | Coming Soon | 118M | |
| debianz2.gz | Coming Soon | 118M | |
| keymap | Coming Soon | 14K | |
| This is the keymap file you will need to key the keyboard working properly with the mouse driver. | Not Active | keymap.map | 4.3K |
| The mouse driver that is toggled on by the option Key | z2mouse-option | z2mouse-option | 11K |
| This is the userland image | zipit2-audio+x+mouse.gz | Coming Soon | 40M |
Links to Zipit Z2 Linux sites
http://linux.zipitwireless.com/
http://www.zipitwireless.com/default.aspx?skinid=1
http://hunterdavis.com/archives/227

Comments
27 comments postedi need help with this could i give you my email or should i just post problems here?
Both the 1 GB and 2 GB images are password protected in their respective .rar images. What is the password for extracting these files, and why was a password put on these files in the first place???
Anyone have these backed up? I've been looking and looking online. Can someone help me out? Please? Thanks.
I make two parition on the 8gb SD card and use this files from this site
http://zipit.rootnexus.org/files/Z2-USERLAND/RC1-PRE2/1gb-image/
Create Partitions:
Partition 1: MUST BE EXT3
Partition 2: MUST BE SWAP
Create Filesystems:
# mkfs.ext3 /dev/deviceid1
# mkswap /dev/deviceid2
Mounting using the offset method
offset should be 1536 on the original image for scratch
# mount -o loop,ro,offset=1536 image.img /path/to/mount/to
Copying files:
You want to make sure you preserve the file permissions and links: '
**cp -RvPp' will do just that.
# cp -RvPp /path/to/mounted/image/. /path/to/mounted/sd/card/partition/1.ext3
In step 2 you say to extract "Aliosa27’s wireless+x+audio.tar.gz" yet at no time do you actually link to that file or anything like it. In fact that's the first mention of anything like that. I thought perhaps this just meant the zipit2-audio+x+mouse.gz file which I do have. But there's no /boot/ folder in that archive just the one file that's the same name as the archive (without the .gz part). So what am I missing? Where is this apparently vital file? I'm even looking on http://aliosa27.net/projects/zipit2/ (presumably aliosa27's official site) and still not seeing any reference to this file. So someone...help...please?
Checkout the latest thread over at http://hunterdavis.com/archives/440
Coming a LONG way in useability
when i put the sd card in my computer and try to make another folder in the firmware folder so i can put the wifi drivers on it says i dont have the correct permissions or something like that
The file .dillorc in your home directory (~ or /root in Debian) stores the configurable User Agent string... mod that with a text editor to the mobile browser string of your choosing. Enjoy.
Hi,
As one user already commented, we cannot find the file listed in Step 2 --
"2. Open Aliosa27’s wireless+x+audio.tar.gz file, and copy out the /boot/linux-2.6.29 file to your memory card "
One thing is I can't find the .gz file being referenced here.
I got the file one user had posted the link to. But it does not have the "/boot/linux-2.6.29" file.
Another step is -
"8. Copy off the 2 wireless firmware files gspsi.bin and gpspsi_helper.bin to a folder, you will copy these back to the memory card after we write the image"
Is the file name "gpspsi_helper.bin " a typo and the correct name listed in the step #9 ?
Cheers
Okay I found it here under openzipit -> 2.6.29+Userland-r1:
http://sourceforge.net/projects/openzipit/files/
Maybe I'm totally stupid but where can I find the wireless+x+audio.tar.gz file which contain the linux-2.6.29 file?
I use 4GB no problem at all but you have to format Fat32 above 2GB
This will spoof your user agent and tell sites like google, ebay, facebook, myspace; that you are running a very pathetic and weak mobile browser like MSIE! (which you basically are).
This in turn will redirect you to the mobile versions of their sites automatically.
Hopefully this will also tell websites what screen resolution you are using and provide some sort of other layout changes based on that.
Download dillo from source and recompile.
#edit http.c
1 nano -w src/IO/http.c
# There are 2 References to User-Agent
2 put a // infront of both lines containig User-Agent
3 Directly below each line that you just commented out with the // put the following string on one line:
"User-Agent: Mozilla/4.0 (compatible; MSIE 4.01; IM-REALLY-Dillo-Linux/ZipitZ2-ARM-Debian; Windows CE; PPC; 240x320; MOBILE;)/%s\r\n"
#https support do ./confiure-enable-ssl
4 ./configure ; make ; make install ; dillo
Hi,
I am selling one of my debian linux zipit Z2 + 4Gb on ebay if someone is interested:
http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=110475621694
Cheers,
rsalazar333
Hi.
I ordered one of these units specifically for making a very inexpensive version of word processing pc, light browser system and maybe a little bit of NES gaming.
Has anyone attempted using fennec from the arm deb repositories on this unit? Or maybe modifying dillo to send xhtml compliant user agent and strings to the sites it accesses?
To answer a question someone else brought up...
I tried flashing the zipit with a 8GB and a 4GB microSD but it did not work, even if I repartitioned and formatted to Fat16. It did however work with a 2GB MicroSD into a miniSD adapter, formatted Fat16.
I've relinked the files that got moved, and mirrored the keymap.map file that was taken down, as well as the mouse option driver.
All of Aliosa27's current drivers are available here:
http://aliosa27.net/projects/zipit2/
Thanks for the comment. =)
A lot of the Aliosa links have 404'd, the keymap.map, z2mouse-option, etc.
Does anyone have a mirror for them?
Thats what I do and it associates just fine but it can't interact with any outside computers i.e. google and what not, but I can ping other computers on my network just fine.
Strangely enough dhcpcd and udhcpc weren't on the build of debian that I got, I just downloaded udhcpc and dhcpcd and I'm gonna give those a try and see how it goes...so far it looks like its gonna be difficult.
Thanks for the quick response :)
Generally after I start up the device, I use:
iwconfig wlan0 essid <APNAME>
dhcpcd wlan0
At which point everything works.
Did you use dhcpcd to finish connecting to your wireless access point?
Thanks for the guide :)
I've been having one problem though, after I associate with my AP I can interact with the computers on my network but when it comes to pinging google or any other website or ip address it immediately throws up a host not found error. Any ideas if its a router problem or a zipit problem?
I believe the images are designed to be written to the SDcard such that there is a certain amount of free space allocated, so use the image size that corresponds to the size of your card. There should be no difference between the actual files included on the two images. I've been busy with exams the last few weeks, so it's been a while, but I remember wondering that and checking it out, and I'm 95% sure that's the case.
As far as I know, the two largest MiniSD sizes are 1gb and 2gb. This is NOT the same as MicroSD, which I think currently goes up to 16gb.
I've heard rumor from comments on Hunter Davis' site that you might be able to use a MicroSD card in a MicroSD to MiniSD adapter, but I cannot verify that personally. If you can't find any resources that verify this, I'd err on the side of caution and stick to a 2gb MiniSD.
Cheers,
-Red
Thanx for the guide. I'll be picking up a few of these zipits soon. However, I have two questions?
First, what is the difference between the 1GB and the 2GB Debian images? Are there more packages installed on the 2GB image?
Second, can you use a larger miniSD card?
Not sure about how you'd go about a serial connection there, but thanks should definitely go to Hunter Davis who figured this stuff out in the first place.
Cheers!
Love the hack. Thanks for posting it.
I plug into a lot of devices thru a direct connect (com port) rs-232 terminal type interface. Usually using Putty over serial or even the dreaded HyperTerminal.
I can't help but wonder if there is some way to hack this to work with a serial connection. Either thru a device connected to the SD port or even better to a wireless com port. It would be awesome to plug into these panels by just connecting some small wireless rs232 device and then just opening up the Zipit. ;-)
Anyway, good work.
Anyone able to get mouse repeat working so that we can play side scrollers?
thanks for the clear instructions and the work all you did so far!!!
one way of controlling the fluxbox:
OpenZipIt:~# cat .fluxbox/apps
[app] (name=dillo) (class=Dillo)
[Dimensions] {320 240}
[end]
[app] (name=scummvm) (class=scummvm)
[Close] {yes}
[end]
Post new comment