19 |
REQUIREMENTS |
REQUIREMENTS |
20 |
------------ |
------------ |
21 |
|
|
22 |
Gnokii version 20041221 or greater (I use this one from a CVS snapshot). |
Gnokii version 0.6.5 or greater. |
23 |
|
|
24 |
Linux 2.6 |
Linux 2.6 |
25 |
|
|
26 |
Coda (you only need the kernel side. This does not interact with the userland |
Coda (you only need the kernel side. This does not interact with the userland |
27 |
daemon) |
daemon) |
28 |
|
|
29 |
Some means of communication with your phone. Check the gnokii docs. |
Some means of communication with your phone. Any means should work, but I have |
30 |
|
only used this with a DKU2 cable (since that's all I have). Check the gnokii |
31 |
|
documents for other means of communication. |
32 |
|
|
33 |
|
|
34 |
USAGE |
USAGE |
35 |
----- |
----- |
36 |
|
|
37 |
gnokiifs & |
GnokiiFS can automatically mount the filesystem (if required). To make this |
38 |
mount -tcoda /dev/cfs0 /my/mount/point |
work, you will need the following line in /etc/fstab: |
39 |
|
|
40 |
|
/dev/cfs0 /mnt/phone coda defaults,user 0 0 |
41 |
|
|
42 |
|
This will allow a normal user to mount the phone (note tht the user must have |
43 |
|
read/write permissions on /dev/cfs0). Once this is setup, run: |
44 |
|
|
45 |
... |
gnokiifs |
46 |
do stuff |
|
47 |
... |
This will run gnokiifs and mount the phone. Use Ctrl+C to kill gnokiifs. This |
48 |
|
will automatically unmount the phone. Note that files are committed to the |
49 |
umount /my/mount/point |
phone when they are closed, not when the system is unmounted, so any open, but |
50 |
fg |
unwritten files will be lost. By default, GnokiiFS will perform a lazy unmount, |
51 |
^C |
which means that the filesystem can be in use when an unmount happens. If you |
52 |
|
have special requirements and wish to (un)mount the phone yourself, you can |
53 |
Note that files are committed to the phone when they are closed, not when the |
run |
54 |
system is unmounted. Also, you can terminate gnokiifs and unmount it in either |
|
55 |
order. When files are opened non-destructively (i.e. not O_TRUNC), they are |
gnokiifs -n |
56 |
copied to the local disk first. This can make opening rather slow, especially |
|
57 |
if you use a program like xv for viewing images, which opens all of the |
When files are opened non-destructively (i.e. not O_TRUNC), they are copied to |
58 |
images before displaying any of them. |
the local disk first. This can make opening rather slow, especially if you use |
59 |
|
a program like xv for viewing images, which opens all of the images before |
60 |
|
displaying any of them. It's amazing what bits of bizzare behaviour you observe |
61 |
|
when you examine the debugging output from a filingsystem. |
62 |
|
|
63 |
Make sure you have the coda module loaded/compiled in. |
Make sure you have the coda module loaded/compiled in. |
64 |
|
|
65 |
Make sure you have read+write access on your coda device (default is /dev/cfs0) |
Make sure you have read+write access on your coda device (default is /dev/cfs0) |
66 |
|
|
67 |
|
Make sure /etc/fstab is setup correctly |
68 |
|
|
69 |
If you want to use USB, make sure you have nokia_dku2.ko loaded |
If you want to use USB, make sure you have nokia_dku2.ko loaded |
70 |
|
|
71 |
If the command: |
If the command: |
77 |
|
|
78 |
Here is the output of gnokiifs -h: |
Here is the output of gnokiifs -h: |
79 |
|
|
80 |
gnokiifs [-f X | -d X | -c X | -t X | -h | -d] |
gnokiifs [-f X ] [-d X ] [-c X ] [-t X ] [-M X] [-U X] [-hnD] |
81 |
-f X = file permission bits (use 0nnn for octal) |
-f X = file permission bits (use 0nnn for octal) |
82 |
|
default is: 600 |
83 |
-d X = directory permission bits |
-d X = directory permission bits |
84 |
-c X = coda device file |
-c X = coda device file |
85 |
|
default is: 700 |
86 |
-t X = Time after which closed files are flushed from the cache in seconds. |
-t X = Time after which closed files are flushed from the cache in seconds. |
87 |
|
default is: 600 seconds |
88 |
|
-M X = Mountpoint to mount filesystem. |
89 |
|
default is: /mnt/phone |
90 |
|
-U X = Unmount flags. |
91 |
|
default is: -l |
92 |
|
-n Do NOT perform filesystem mounting and unmounting. |
93 |
-D print very verbose debug messages (only if compiled in) |
-D print very verbose debug messages (only if compiled in) |
94 |
-h print this message |
-h print this message |
95 |
|
|
96 |
|
|
97 |
|
|
|
|
|
98 |
INSTALL |
INSTALL |
99 |
------- |
------- |
100 |
|
|
150 |
2.6. I no longer use any 2.4 machines so I'm not going to port and test it, but |
2.6. I no longer use any 2.4 machines so I'm not going to port and test it, but |
151 |
I will take patches. |
I will take patches. |
152 |
|
|
|
|
|
153 |
Many filesystem features are not implemented. Some because gnokii does not |
Many filesystem features are not implemented. Some because gnokii does not |
154 |
expose them, others because I have had no use for them yet. These will usually |
expose them, others because I have had no use for them yet. These will usually |
155 |
return EPERM. |
return EPERM (the message is "Operation not permitted"). |
156 |
|
|
157 |
|
|
158 |
If an error occurs internally, the error code seen by the program attempting the |
If an error occurs internally, the error code seen by the program attempting the |
165 |
box, so I'm probably not going to do this either. |
box, so I'm probably not going to do this either. |
166 |
|
|
167 |
|
|
168 |
|
|
169 |
TODO |
TODO |
170 |
---- |
---- |
171 |
|
|
179 |
|
|
180 |
Internationalization of non debugging messages |
Internationalization of non debugging messages |
181 |
|
|
182 |
|
Add command queuing, so that the filesystem doesn't freeze when in use. |
183 |
|
|
184 |
|
|
185 |
|
|
222 |
|
|
223 |
|
|
224 |
ALTERNATIVE USERLAND FILE-SYSTEMS |
ALTERNATIVE USERLAND FILE-SYSTEMS |
225 |
-------------------------------- |
--------------------------------- |
226 |
|
|
227 |
There are several approaches to userland file-systems: |
There are several approaches to userland file-systems: |
228 |
1 Shared library hacks. |
1 Shared library hacks. |
239 |
http://www.inf.bme.hu/~mszeredi/avfs/ |
http://www.inf.bme.hu/~mszeredi/avfs/ |
240 |
|
|
241 |
|
|
242 |
|
SHFS Shell Filesystem |
243 |
|
--------------------- |
244 |
|
A custom module serializes commands and sends them to a userland program |
245 |
|
(usually ssh). The serialization of the commands is done in such a way that |
246 |
|
they can be deserialized at the other end by a standard shell. |
247 |
|
|
248 |
|
http://shfs.sourceforge.net/internals.html |
249 |
|
|
250 |
|
|
251 |
|
|
252 |
LUFS |
LUFS |
253 |
---- |
---- |
254 |
This uses a kernel module to serialize all VFS operations and transmit them to a |
This uses a kernel module to serialize all VFS operations and transmit them to a |