Applications for the Sharp Zaurus
Ouch. If you tried all the software we suggested, your Zaurus is now having indigestion. The symptoms of this overfilling are simple: ipkg install now gives you “no space left” errors.
You do not have a lot of options. It is either ipkg remove to get rid of useless software or ROM Flash back to version 1.10. This very version will leave you more RAM disk space left.
First, try to remove any temporary files from /tmp by typing cd /tmp ; rm -fr *. This may help a little bit because ipkg leaves the temporary files in /tmp, which increases the overfilling whenever it gets an installation error.
The 32MB of RAM in the 5000D developer version can be filled rather fast. This is because the ROM software has to be uncompressed in the RAM, eating most of the free space. Moreover, the RAM is then shared between the memory you use for your applications and the RAM disk where you are installing applications.
So do not trust the 32MB of RAM sticker for 5000D or the 64MB of RAM claim for the 5500. Think about memory available: in the 5000D with ROM version 1.11, you only have a 6MB RAM disk, i.e., less than a standard Palm!
Fortunately, we have a software solution with Linux: flashing a ROM, which is known to leave a RAM disk big enough to install applications, and creating a swap file to increase the system memory we are using for the RAM disk or flashing a ROM, which will use all the memory available to Linux as RAM, and using an external device like the SDRAM Flash card where you will install your software.
For the first option, you should use the 1.10 version, which has a 16MB RAM disk and for the second option, a custom-made ROM available from www.btinternet.com/~p.flinders/sl-5000d/readme.html will be just fine.
In both cases, purchase a 128MB SDRAM card, and plug it in to the Zaurus. It will free your CompactFlash slot for hardware peripherals like a wireless network card.
If you decide to use the custom ROM, just format the Flash card to use it as disk space where additional applications will be installed.
If you want to use swap (it can be done in both cases even if it is not mentioned on the custom ROM page), get fdisk from handhelds.org/ and create two partitions on the SDRAM: fdisk /dev/mmcda.
Then type n p 1 +25M t 82 to create a first partition of 25MB, which will be used for swap (type 82 is swap). Create a second partition, filling the rest of the card with n p 2 enter enter. It will be used as free disk space.
Now start the swap with swapon /dev/mmcda1 and mount the other partition with
mount /dev/mmcda. g/usr/mnt.rom/card -t ext2
Whenever the system goes in suspend mode or is rebooted, the swap will be removed. This is both a bug and a feature. It can be fixed with some /etc file editing, but you won't want to do that because there is only a limited number of total writes on a Flash card. You will ruin your SD card quickly if you do that.
However, while the NAND-type Flash used in most cards is usually specified at 100,000 erase/write cycles, this is only the minimum specification. Moreover, the Flash card controller adds ECC bytes to each 512-byte block and does wear leveling.
We can assume a continuous writing on a swap area at 100KB per second. Thanks to the wear leveling, the controller will cycle though the sectors, so if we have an 8MB swap area, it will do one erase/write per sector every 80 seconds. A real smart controller might even distribute them over the whole card.
The ECC algorithms will increase the erase/write cycles to at least 1M cycles per sector. That will give you two and a half years before seeing any failing sectors, and at that time the controller will start using spare sectors.
Therefore, if used properly, a Flash card will last for the lifetime of the system and definitely beat the MTBF (mean time before failure) of any hard disk even if you put your swap partition on it.
Having the Zaurus connect to the Internet is quite simple because the Zaurus uses the Linux kernel and its IP stack. You do not need a dirty hack, like the ones required to have a Palm connected.
Basically, you have two possibilities: use the cradle to connect to the Internet or get a wireless card.
If you have followed the “Synchronizing data” guide, you already have a working cradle connection. But this is no fun. Don't you want to be able to walk around with a Star Trek Communicator-like device, browse the Internet, read and write your mail wirelessly and even send instant messages or use IRC? If so, read on.
The best and easiest way to get a working wireless internet connection on the Zaurus is to go 802.11b. You have to buy hardware to do that; a CompactFlash 802.11b card will cost you around $100. Please make sure it will work with the Zaurus before getting one; read the compatibility list on more.sbc.co.jp/slj/peri.asp. If you do not know which card you should buy, go for a Linksys WFC 11. I could get it for $120 at J&R in Manhattan. On the Internet, you can get it for less than $100 with shipping and handling included.
If you have a ROM prior to 1.1x, you will have to edit your configuration file to make it work. Have you installed an editor as suggested? In /etc/pcmcia/wlan-ng.conf, add
card 'Linksys WCF11 11Mbps 802.11b WLAN Card' manfid 0x0274, 0x3301 bind 'prism2_cs'
Restarting the PCMCIA service or rebooting will make the card work. In 1.1x ROM or newer, you just need to plug in the card to make it work—a real plug-and-play with no driver needed.
On the Zaurus, go to Settings --> Network and Sync and configure your wireless card. Give it an IP address on the local network with the laptop IP as the gateway machine, then the DNS IP, or use DHCP to fill this information automatically if there is a DHCP server on your laptop.
Now that you have a 802.11b-capable Zaurus, you need another device to provide internet connectivity via the 802.11b network. You have two choices: purchase an access point or use ad hoc mode with another 802.11b card to share an existing internet connection on the computer using this other card.
An access point is the best option, and you can now get one for $100. A hacker-friendly Linksys WAP11 is just perfect. Not only does it work well with GNU/Linux using SNMP software, but you also can update its firmware, use directional antennas to make a long distance wireless bridge, etc.
Now, if you have an access point, the WAP configuration and installation is up to you. Make sure it is plugged in to your Ethernet network. On the Zaurus, go to Settings --> Wireless LAN, and configure your CompactFlash wireless card to use “access point” mode.
If you are using a PCMCIA 802.11b in a laptop as your access point, install masquerading software on the laptop to share the internet connection. Then set up ad hoc mode. Check the module parameters or the manual you used to configure your wireless connection. On the Zaurus, go to Settings --> Wireless LAN and configure your CompactFlash wireless card to do ad hoc mode as well.
In both cases, should you set up WEP, be sure to use the same settings on your laptop and your Zaurus, otherwise nothing will work. Now if everything went well, try to ping your Zaurus. Does it work? Launch Applications --> Opera and try to access the Internet. Congratulations! You are now on-line and ready for the next part, installing internet-aware applications.
Free DevOps eBooks, Videos, and more!
Regardless of where you are in your DevOps process, Linux Journal can help!
We offer here the DEFINITIVE DevOps for Dummies, a mobile Application Development Primer, and advice & help from the expert sources like:
- Linux Journal
- Users, Permissions and Multitenant Sites
- New Products
- Flexible Access Control with Squid Proxy
- Security in Three Ds: Detect, Decide and Deny
- High-Availability Storage with HA-LVM
- Tighten Up SSH
- DevOps: Everything You Need to Know
- Solving ODEs on Linux
- Non-Linux FOSS: MenuMeters
- diff -u: What's New in Kernel Development