Thursday, February 04, 2010

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

ABOUTThis 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 z2script.sh 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).

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

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

STARTUP SCRIPT MODIFICATION(S)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/loadsound.sh 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.

OTHER MODIFICATION(S)- 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.

COMING SOON?- 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 www.oddree.com. 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 http://www.oddree.com.

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 ray@oddree.com. 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.