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]