Sharp Zaurus on SL-5x00 (X11 on QTopia)
Last updated at 12:00 am UTC on 17 January 2006
[This page discribes one of several options. For other options see Squeak on Handheld Linux]
This is the story of how I got squeak working on my Zaurus SL-5500.
First you'll need
- IPK: Qtopia-X to provide an X server for squeak to hook up to. (I think it can only be installed in RAMdisk)
- IPK: Keypebble is needed to display the X session on Qtopia. (I think it's relocatable.)
- A squeak VM made for the StrongARM.
- An image file (Dynapad is good).
- The X client libraries for squeak, and a script to kinda pull it together (zaurus_squeakxtras.tar.gz).
- IPK: A terminal is essential.
Install the IPK files for Qtopia-X and Keypebble. Qtopia-X won't provide any nifty icons on your palmtop, it only exists as the command line program Xvnc.
Toss the Squeak VM (and its .so libraries), the .image/.changes files, the libX*.so, and runsq all into one directory. Edit runsq if you happen to choose an image other than Dynapad V0.1. I prefer to dump them all into a squeak/ directory on a Flash card.
Open up a Terminal window, and cd to that squeak directory (on /mnt/cf or /mnt/card). Execute ./runsq to start up squeak. To actually see it, you then go to the applications launcher, and run Keypebble.
Keypebble, of course, starts out with totally useless default settings. [X] out of the connect dialog window, and click the button in the lower right, the yellow triangle. Choose Settings, and check the box for Request 8-bit session, and [OK] out of it. If you don't do this, you'll only see garbage. Now click the yellow triangle again, and Connect, Decrement the Display Number: to 0, and then [OK], you should now be connected to squeak.
Problems:
- The on-screen keyboard methods only seem to work for alphanumerics. You can only input symbols with the little plastic keyboard, and you can't type [blocks] (maybe VNC has trouble mapping characters).
- If you exit keypebble, Squeak will still be running. This will give you hours of fun when you try to eject a card.
- Sometimes, keypebble will mess up Qtopia's idea of screen size, and your bottom icon bar will hang halfway off the screen. The only thing that will fix this is to execute init 6. Boom, reboot.
- The system is too slow. 5400000 bytecodes/s;180000 send/s isn't enough for Morphic. If you really wanted speed, you would be running Smalltalk/V in BOCHS.
- There's no right-click, ctrl or alt-anything. The on-screen keyboard is 99% meaningless, so you have to use the scrollbar-menu to get at actions like (do-it). NEVER bring up a naked (unSystemWindowed) morph.
- Qtopia might be short on memory. If you have enough ramdisk space, you could put a swapfile on it.
- the following does carry the risk of turning your PDA into a $500 brick. If things go wrong, you could try hitting the reset button in the battery compartment to wipe the ramdisk, and restore from backup (you did backup, didn't you?). If things go REALLY wrong, you could try borrowing $100,000 of JTAG equipment, as well.
I threw a swapfile in /home/system, I just ran
cd /home/system/ #duh
dd if=/dev/zero of=swap count=24000 # 12Meg
mkswap swap
swapon swap
To have the swap startup everytime, add a line to /etc/fstab
/home/system/swap swap swap
,put swapon -a into /etc/rc.d/rc.local, and (crappy init) execute ln -s ../rc.sysinit /etc/rc5.d/S10sysinit .