I’ve been meaning to split this off into a new post for a while now. Adrian Crenshaw (irongeek.com) built a great z2 linux distro, specifically with the intent of pen-testing. You can grab it here.
It’s not only a very cool distribution, (based on a modified rootnexus zipit distro), it’s a very cool reminder of the great things we accomplish building off each other’s work and sharing information. My only suggestion for his next release is to counter his assumption that metasploit won’t be running at a useful speed on the z2.

I’ve had it on my zipit for about 2 weeks and been using/trying some of the build-in tools. It’s kinda hard to run them then wait for the processor to get caught up but for $40 have fun wifi tools there’s no reason to complain. Hopefully the Side-Track Zipit will become the very little brother to the BackTrack 4 netbook.
Hey Chain,
Agreed! I think there’s a very cool niche that this fills and is a great compliment to backtrack. Glad to hear it’s running well for you!
hey I just got sidetrack on my z2. has the keymap been altered? I am trying to use the percent (%) key for smbclient and the pdf I read says it is associated with the M key yet no combination has worked for me. anyone have a clue how to get % Thanks
fracaspunk1: that pdf is one i made for my console keymap which doesn’t matchup with the X keymap in any of the debian based rootfs (aliosa27′s, rootnexus, sidetrack…). if you can run smbclient from the console (not an xterm) it should work. otherwise just look in the various keymaps (probably in /etc/X11) for the word percent and it should tell you what key it’s on.
ok. I think I understand. bit of a noob, but learning. Thank you very much.
Hey hunter I have a question. Do you know how I can edit the boot sequence for this or rootnexus userland? Ive been looking for the file with no look and cant find anything online that tells me where it is.
Hey Linker42,
Sure. As they’re both based on debian, you can just edit the init.d, rc.local, runlevels etc just like a regular debian box. There should be some good howto’s posted up on ubuntu for example. Hope that helps! Good luck!
I have a Q. I have my zipit Z2 with rootnexus’s userland as a base, and I don’t want to change, cause I have gotten it just about how I like, but I like the logging in as root like is in this one. How would I go about changing this to be root login? I tried changing inittab to make it a single user, but that just causes a freeze up. How would one do it?
Hey Theredbaron1834,
You shouldn’t need to enable single user login to do auto login as root. I think you can just change your inittab to run /bin/bash instead of /bin/login etc. I’m pretty sure one of the old images had auto-login as root working so you may want to check that out as well. Good Luck!
Hey, i’m pretty new on this but, have you ever considered to use DSL ( damn small linux ) on the zipit??
Hey link-fan,
DSL is a great distro yes, but is optimized for small installation footprint. The Z2 can have plenty of space on the micro SD card, and really is more optimized for small memory footprint. Also I’m not sure they have an arm port, x86 only. Could be wrong on that though, may be something to look into. Good luck!
Hi all! Ive just got my zipit, and trying to shape it to my need. Ive installed the sidetrack userland, and now trying to install gcc on it. Previously I upgraded the system to the newest build, but now gcc has some conflict:
gcc: Depends: gcc-4.4 (>= 4.4.3-1) but it is not going to be installed
Recomends: libc6-dev but it is not going to be installed or libc-dev
Ive tried to install libc6-dev, but it depends on gcc and cpp, cpp depends on libc6-dev, and libc6 (already installed). Ive also experimented with apt-get install -f, but no success. So, got any ideas? Also what browsers do you use on your zipit? Ive installed links2 and midori. Is there a port of hv3 to ARM-based devices, or should I stick to dillo?
Hey zdanee,
Glad to hear you’ve got your Z2 in and things are going. Have you done an apt-get update to the newest repository? It sounds like you’re stuck in flux between two versions of gcc and are running into dependency hell. Does ‘apt-get install build-essential’ yield any results? What is your current version of libc (you can execute /lib/libc.so.6 or /usr/lib/libc.so.6 to check). Hope this helps some, good luck!
As for browsers, I’ve had the most usable results from dillo links2, but midori works and firefox loads mega slowly.
Hey! I’ve tried the apt-get install build-essential, but got the same results:
[...]
The following packages have unmet dependencies:
build-essential: Depends: libc6-dev but it is not going to be installed or libc-dev
Depends: gcc (>= 4:4.4.3) but it is not going to be installed
Depends: g++ (>= 4:4.4.3) but it is not going to be installed
E: Broken packages
I’ve run apt-get update the first thing after installing linux on my Zipit. Neither /lib/libc.so.6 nor /usr/lib/libc.so.6 present. I need gcc to build a dillo as well, so until then its links2 for me (midori is slow to load, reasonable after, kazehakase loads faster, but the interface cannot handle such low resolution well, iceweasel is a major pain, arora is about as slow as midori, and once I get gcc, Ill try out hv3, I expect a lot from that one).
Just received my Zipit and want to know:
Where do I get “Side-Track” (the download link is dead)
Step by step, how to flash this little guy with Side-Track (have 8GB module)
My appreciation in advance… I’m a newbie but have been in the tech industry for 20+yrs
http://www.irongeek.com/i.php?page=security/zipit-z2-hacking-userland-side-track is still eorking for downloading
Hey Steven_OHarra,
You can follow either of the previous guides for flashing the Z2. The pentesting distro is a userland distribution, so after you flash your Z2 you can just write it to an SD card and you’re good to go. Good luck!
I unzipped the contents of the “first-sd” folder inside of “side-track-0.2″ to the root of a FAT16 4G card.
I put the mini-SD card in the zipit and rebooted, paper clip restarted,, even pulled the battery off/on.
I cannot get it to flash this brand new zipit. Any ideas? I’ve tried it with and w/o the pwr cable.
Wow! just did the same thing with a FAT16 2GB SD and it worked!!!!!
Hey Anon,
Glad to hear it was just your SD card holding you back. Happy Hacking!
possibly a sd card that is too slow and you might be in the SAOD. did you set defaults from the stock app? that sometimes works if the card is borderline.
oh and another thing is that until you have reflashed the zipit with a new kernel and rootfs it doesn’t handle sd cards greater than 2Gig well if at all.
Actually that’s something someone somewhere should put into a FAQ somewhere. until you have reflashed your zipit you have to use a maximum 2Gig sd card, afterwards it’s a toss up if you can use a bigger sd card — some people report upto 8Gig cards working others have said no go
Hey RK,
Good call! We should put this up on the SF wiki. That’s good info!
Any overview (docs) on side-track to get started?
Hey Steven,
There’s a good writeup of it on Adrian’s site over at irongeek http://www.irongeek.com/i.php?page=security/zipit-z2-hacking-userland-side-track, other than that I haven’t read any comprehensive guides on side-track the distribution, specifically. Hope that’s helpful? Good luck
I have two questions:
What is this “distro” capable of? for example, can it crack weps?
And can do you have any link to the image, since the one on the oficial page is down.
Thanks
Hey Pato,
Don’t happen to have a copy stashed myself, not sure if anyone else grabbed one?
/H
pato:
you can find it here http://rapidshare.com/files/408660027/side-track-0.2.zip
Tanks “rkdavis” If as sson as i download it i’ll make a mirror my self, so if anyone needs this…
Hi Hunter-
Hope all is well,I would like to thank you for this site very imformative for zipit hacks and other hacks,question about sidetrack maybe you can answer it or point me to a correct link,how can I get sound to work on my Zipit I have played around with some settings and no good,also is there some way of automating a script in sidetrack to connect to wireless wpa, I do see irongeek has a place under wireless to automate this and input your ssid and passphrase, but am afraid to enter them as its telling me to save it as a different file name and all I want to do is overwrite this just dont want to screw any settings up,so far I have been issuing this command just to hop on my wireless.
under bash/ifconfig eth1 up
bash/wpa_passphrase “name of my ssid” “passhrase”
bash/wpa_passphrase “name of my ssid” “passhrase” >mywifi.wpa
bash/wpa_supplicant -Dwext -i eth1 -c mywifi.wpa -B
bash/dhcleint eth1
And I’m good to go!!! got this from Hak5 website.
Hey Jesse,
For the wireless issue, why not just put your custom commands into a script file which you run on startup? For the sound, are you seeing the device load in your dmesg log? If so, run alsamixer and check the mixer on the far right is enabled. Good luck!
/H
Hey Hunter,
I’ve just started running this userland on my new Z2A and I’ve run into a strange problem with keymapping. Currently the entire top row of keys as well as the “A” and “S” keys are outputting the “~” symbol.
Any suggestions on which keymap.map file I should be looking into? I’ve tried replacing the one in /etc but there’s still no change.
Thanks!
Hey Aussie_modshop,
That is quite odd.. Have you tried Aliosa’s? You should be able to drop in the keymap from any other userland, just make sure you’re loading it correctly when you start console or X. Good luck!
I think I may have run across an answer to the problem shortly after posting:
(FROM: http://quantumlime.com/zipit )
“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.”
I’m going to re-do my SD card (I’ve been playing around some other things this AM) to run side-track & I’ll see if hitting the “option” button gets me normal keyboard functionality.
I’ve tried swapping & changing other keymap files from other userlands and haven’t had any luck so I’m hoping that it’s a simple fix!
Ahh good, hopefully that’ll do it!
Problem solved! If I had gone into the “wi-fi connect” instead of the terminal I would have seen a note saying “remember to disable your mouse”
Thanks for the awesome website Hunter, I’m enjoying reading all your different hardware shenanigans!
Ha Thanks! Glad it’s working!
Still chasing some loose ends on the install, my wifi can’t connect to anything so I may have to re-transfer my original firmware files. I also can’t get the zipit to charge at all now. I ran it down completely last night and the only way to revive it was to swap batteries from another unit. Going to have to look into power management stuff and see if there’s something commented out in there.
Hey Aussie_Modshop,
Ouch! Sorry to hear that. I’d double check the permissions on those files and the dmesg log to make sure they are being loaded correctly. GL!
Hi Hunter -
I created a script to connect to my wpa wireless AP how I did this was from previous commands I had already created, a file called mywifi.wpa which contains my SSID and WPA Passphrase here is as followed.
To let everyone know I’m not an expert in linux but I learn as I go but this is what I did to simplified my connection, do as followed and if anyone knows another easy method please I’m willing to learn thank you.
open a bash inside of Sidetrack zipit device—>
under bash/ifconfig eth1 up
bash/wpa_passphrase “name of my ssid” “passhrase”
bash/wpa_passphrase “name of my ssid” “passhrase” >mywifi.wpa
open text editor and you will type below as followed
code:
#!/bin/bash
ifconfig eth1 up
wpa_supplicant -Dwext -i eth1 -c mywifi.wpa -B
dhcleint eth1
Save as “wpa.sh” the only place I could save it was in the root directory or system
giving it permissions open bash check to see if your script was successfully saved by entering “ls -l”
type “clear” and enter “chmod +x wpa.sh”
enter type “clear” and now your script should be ready type “./wpa.sh”
This script should automatically connect you to your wpa wireless AP.
Thanks to basic learning linux script on youtube—–>http://www.youtube.com/watch?v=VRvnfzJngY4
Hi Hunter-
It’s me agian!! how can I get sidetrack on the keyboard of my zipit to give me parentheses?? I used the alt and and no good, at my office I have the AP using wpa encryption with this special character “(” hahaha!!
Hey Jesse,
Glad to hear it! Thanks for the mini-tut, I’m sure it’ll help some folks out
If you can’t get the “(” to appear, you may need to check what it’s set to in the keymap file. You can also add an entry using xkeys etc. Good luck!
Hi Hunter-
I figured out the parentheses issue I was having simple, just hold down the ALT and UP arrow next to each other at the sametime and press J or K for whichever right or left parentheses.
Would like to correct my wireless tut its not “dhcleint” the correct naming is “dhclient” sorry folks!!!
Question how do I get percentage??? can’t seem to find it, help if you can Thank you Hunter.
Hey Jesse,
Glad to hear it! Not sure about %, though you can add it to the keymap with an xkeys like program, or check what it’s set to in the keymap file. Hope your holidays are going well. Best of luck
Got a Zipit for Christmas and have been having fun modifying Side-Track (added NetSurf [nice browser], VLC [media player], Synergy [control Z2 with computer's mouse/keyboard], Conky [system info, but too heavy], and scripts for lcd/keyboard brightness). While playing with the Rox panels, I tried to move the CPUfreq applet to a different panel, but it no longer works. Is there something special about the “stock” cpu applet that the image ships with? When I try to make a new one, it’s just a blank applet (little white square with an “x” in it). It’s really an important applet to know when the Z2 is under load. Thanks!
Hey Darrin,
Glad to hear Side-Track is going well for you. I am a big fan of conky myself
Not sure what’s going on with your CPU applet when you attempt to move it. Applets are just python scripts, so you may want to check the script and make sure there are no absolute references to panel0 or panel1 etc. You could also write your own using info from sys load /proc/cpu etc. Good luck!