(Illustration by Gaich Muramatsu)
Howdy. So call me crazy but I'm trying to get coda to work as a client on a diskless machine (it happens to be an ARM based handheld called the iPAQ). I've got everything compiled and installed, and libraries seem to be setup in the right places. I've run venus-setup and it creates and edits some files (actually that's a lie, I've edited most of them by hand to have the right stuff in them because they're read only, see below). However, when I run venus for the first time I get the following output (also copied to the console file in /usr/coda): (none):/usr/coda# venus& [1] 287 (none):/usr/coda# Coda Venus, version 5.3.8 Date: Mon 09/18/2000 22:53:45 /usr/coda/LOG size is 165699 bytes rvm_create_log failed 22:53:45 Recov_InitRVM: RVM_INIT failed (RVM_EIO) [1]+ Exit 255 venus Now if I do: (none):/usr/coda# ls -l LOG -rw------- 1 root root 166912 Sep 18 22:53 LOG If I cat the file, it's some header stuff: :-C\RVM Interface Version 1.3 7 Mar 1994RVM Log Version 1.4 Oct 17, 1997 RVM : Followed by some binary garbage and then a bunch of blank space which I assume are nulls. The only other data point I can offer is this, which I find kind of odd: (none):/usr/coda# du -s LOG 0 LOG This is all happening on linux kernel 2.4.0-test8-rmk2-np1. Basically my layout is the following: / is a read-only file system (cramfs if you must know) /coda is just a directory in a read only file system /usr is also a read only file system. /usr/coda -> /mnt/ramfs/coda which is a ramfs file system /etc also happens to live in ramfs. /dev also happens to live in ramfs and /dev/cfs0 exists. (none):/dev# ls -l cfs0 crwxrwxrwx 1 root root 67, 0 Dec 31 1969 cfs0 (none):/dev# lsmod Module Size Used by coda 52352 0 (autoclean) ... I know it's probably some kind of bug having to do with ramfs but I'm not sure what and I don't really even know where to start. I'd really like to get this to work, but it seems like I'm going to need your help. I've looked through the source for the functions: log_t *make_log(log_dev_name,retval) rvm_return_t rvm_create_log(rvm_options,log_len,mode) static void Recov_InitRVM() and haven't seen anything that obviously looks like it should fail. I've tried inserting printfs into rvm_create_log() at each of the places where RVM_EIO is returned, but I'm not having any luck. Also, and probably unrelatedly, I notice in your example configuration file you say the minimum cache size is 2048. This isn't true. Coda complains about the size of the log being too small if you actually try to run venus with the log size set to 2048. I'm using 5120 and it doesn't complain (at least about that). I'd appreciate any help you could give. I think coda would be perfect for this kind of device, and I'm willing to try to debug this. -c [Christopher Mason <cmason@cmu.edu> http://ash.rem.cmu.edu/ ] ["Don't you see?! We're actors--we're the opposite of people!" -Stoppard]Received on 2000-09-19 01:03:32