(Illustration by Gaich Muramatsu)
Howdy. I believe I've managed to get coda to work on the iPAQ. coda is a network filesystem being developed at CMU. What makes coda interesting for handheld computers is that it supports disconnected operations, meaning that you don't have to always have a network connection for files to be accessible (in contrast to, say, samba or nfs). It does this by caching whole files on the local machine and maintaining a log of changes to those files. It has support for re-integrating those changes once file servers are available again. It supports the notion of "hoarding" where by you can lock files into the cache based on priorities. I'm not directly involved in coda project; I'm just a fan, if you will. If there are errors in the setup, blame me, not the coda people. I'm by no means a coda guru. coda is quite powerful; it is also somewhat daunting from a user's prospective. In particular, running a coda server may be quite challenging (I don't know; I haven't done it yet; I'll fill in more details when I get there). Caveat emptor. Coda is also quite large. Compressed it takes up about 1.3 mB. I've managed to fit into the normal flash partitions, but there's not room for much else. I've compiled coda for the iPAQ and tested it minimally. Below I've included some instructions on how to install coda on your ipaq. There are basically two options currently: 1) use the cramfs images I've created from v0.16-beta by flashing your iPAQ with them. Download the following images ftp://ftp.handhelds.org/pub/linux/coda/init-2-42.coda.cramfs ftp://ftp.handhelds.org/pub/linux/coda/root-2-42.coda.cramfs ftp://ftp.handhelds.org/pub/linux/coda/usr-2-42.coda.cramfs (You'll find md5sum files there as well.) You'll also need the v0.16-beta kernel from ftp://ftp.handhelds.org/pub/linux/compaq/ipaq/v0.16/zImage-2.4.0-test8-rmk2 -np2 Flash your ipaq as according to the instructions, substituting the above files for those refered to in the installation documentation. Next, skip down to the setup instructions below... 2) create your own cramfs images, adding to them the coda executables and the kernel module. I've created a script which should help with this. Probably running this script directly isn't a good idea; but reading it should give you a good idea about what needs to be changed. The script is ftp://ftp.handhelds.org/pub/linux/coda/coda.install You can get the coda executables at ftp://ftp.handhelds.org/pub/linux/coda/coda.arm.tar.gz and the kernel module is: ftp://ftp.handhelds.org/pub/linux/coda/coda.o Put this stuff and the script into the same directory, and run the script. You should get out the cramfs images above (well, except for some extra stuff that I added ;-). Setup: Once you have this stuff installed, and your ipaq booted, you'll need to establish IP connectivity to your iPAQ. You'll need "real" connectivity; NAT won't cut it at the moment. Coda will require specific support from NAT servers; I'm investigating this further and will post when I get somewhere. You must then run venus, the coda cache manager: ldconfig export PATH=${PATH}:/usr/local/bin venus -rvmt 3 & The -rvmt option causes venus to store it's log in malloced memory rather than RVM (don't worry about it); RVM doesn't seem to like ramfs file systems. Either way, if you reboot your ipaq while disconnected, you'll loose your modifications. Be careful. At some future date it would be nice to have coda write it's modification log to flash; this doesn't happen yet. You should then be able to: cfs checkservers cd /coda ls If this works, you'll need to setup a coda server, and change the configuration file in /usr/coda/etc/coda/venus.conf to point to that server. (To make this change permanent you'll have to use option 2 above, change the server name in init/coda/etc/coda/venus.conf and then mkcramfs and flash the init partition.) For more help on installing and using coda, see: http://www.coda.cs.cmu.edu/ If you have problems, please let me know. Have fun, -c [Christopher Mason <[email protected]> http://ash.rem.cmu.edu/ ] ["Don't you see?! We're actors--we're the opposite of people!" -Stoppard]Received on 2000-09-26 14:36:05