Subversion Repositories freemyipod

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
771 user890104 1
                  ____ ___  ____  _____ _____ ____  
2
   ___ _ __ ___  / ___/ _ \|  _ \| ____|  ___/ ___| 
3
  / _ \ '_ ` _ \| |  | | | | |_) |  _| | |_  \___ \ 
4
 |  __/ | | | | | |___ |_| |  _ <| |___|  _|  ___) |
5
  \___|_| |_| |_|\____\___/|_| \_\_____|_|   |____/ 
6
 
7
emCOREFS is a FUSE-based filesystem that uses emCORE's Monitor API
800 user890104 8
to provide communication with device's FS. It is not yet complete,
9
but most features are done. It runs on both Linux and Mac OS X.
771 user890104 10
 
11
For communication with the device, this application uses libusb 1.0.
12
 
13
Building
14
--------
15
You need:
829 user890104 16
1. GCC(<4.5) and GNU Make on Linux // Xcode on OS X
771 user890104 17
2. pkg-config
18
3. libusb >= 1.0
829 user890104 19
4. libfuse >= 2.8 on Linux // fuse4x on x64 OS X
800 user890104 20
5. all dependencies of the above
771 user890104 21
 
22
Compiling:
23
make - standard build, no debug messages, only fatal errors on
24
    startup are shown.
800 user890104 25
 
771 user890104 26
make debug - debug build, some debug/error messages are shown.
27
    libusb debug messages are enabled, too.
28
 
800 user890104 29
You can prefix any of these with
30
CFLAGS="-DDEBUG_USB_PACKETS"
31
in order to have a dump of the usb traffic that's being sent and received.
32
 
771 user890104 33
Testing:
34
make test - run the build without FUSE debugging messages, going
35
    into the background if it connects to the device successfully.
800 user890104 36
 
771 user890104 37
make testdebug - run the build in the foreground, showing FUSE debug
38
    messages in the terminal.
39
 
40
Running
41
-------
800 user890104 42
You need FUSE >= 2.8 installed. (or fuse4x on x64 OS X)
43
Currently tested on:
44
- Linux (Ubuntu 11.04 x86)
45
- Mac OS X (10.6.8 x64)
46
 
771 user890104 47
Starting: ./emcorefs <mountpoint>
800 user890104 48
Stopping: fusermount -u <mountpoint as seen in /etc/mtab> (Linux)
49
          diskutil unmount <mountpoint as seen in /etc/mtab> (OS X)
771 user890104 50
Known bugs/issues
51
-----------------
784 user890104 52
* Write support not tested very well.
771 user890104 53
* Running FUSE with multithreading breaks file reading because of
54
    the way these are implemented on emCORE's side.
55
    Workaround: use the "-s" option.
56
* Most errors are not handled properly, EIO (Input/output error) is
57
    given in many cases where there's a more descriptive error
58
    message available. Will be fixed in the future.
829 user890104 59
* Linking using gcc-4.5+ doesn't seem to work properly. You can set
60
    the desired GCC version with the GCC Makefile viariable.
61
    For example: GCC=gcc-4.4 make debug
771 user890104 62
 
63
Future plans
64
------------
65
* Merge some functions that are doing similar tasks to reduce code
66
    duplication. Return proper error codes in FS operations.
67
 
68
Bug reporting
69
-------------
70
Main developer: Vencislav "user890104" Atanasov
71
How to contact: http://www.freemyipod.org/wiki/Contact
72
 
73
License terms
74
-------------
75
emCOREFS is distributed under the same license terms as emCORE.
76
 
77
emCORE is free software: you can redistribute it and/or
78
modify it under the terms of the GNU General Public License as
79
published by the Free Software Foundation, either version 2 of the
80
License, or (at your option) any later version.
81
 
82
emCORE is distributed in the hope that it will be useful,
83
but WITHOUT ANY WARRANTY; without even the implied warranty of
84
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
85
See the GNU General Public License for more details.
86
 
87
You should have received a copy of the GNU General Public License
88
along with emCORE.  If not, see <http://www.gnu.org/licenses/>.