Rev 829 | Blame | Last modification | View Log | RSS feed
____ ___ ____ _____ _____ _______ _ __ ___ / ___/ _ \| _ \| ____| ___/ ___|/ _ \ '_ ` _ \| | | | | | |_) | _| | |_ \___ \| __/ | | | | | |___ |_| | _ <| |___| _| ___) |\___|_| |_| |_|\____\___/|_| \_\_____|_| |____/emCOREFS is a FUSE-based filesystem that uses emCORE's Monitor APIto provide communication with device's FS. It is mostly complete,and works well. It runs on both Linux and Mac OS X.For communication with the device, this application uses libusb 1.0.Building--------You need:1. GCC 4.4 and GNU Make (Xcode on OS X)2. pkg-config3. libusb >= 1.04. libfuse >= 2.8 (or fuse4x on x64 OS X)5. all dependencies of the aboveInstalling needed packages on Ubuntusudo apt-get install gcc-4.4 make pkg-config libusb-1.0-0-dev libfuse-devCompiling:standard build, no debug messages, only fatal errors on startup are shown.$ make build/emcorefsdebug build, some debug/error messages are shown. libusb debug messages are enabled, too.$ make debugYou can prefix any of these withCFLAGS="-DDEBUG_USB_PACKETS"in order to have a dump of the usb traffic that's being sent and received.Testing:test the connection and some basic emCORE functions. useful only to developers.$ make build/emcore-test$ ./build/emcore-testRunning-------You need FUSE >= 2.8 installed. (or fuse4x on x64 OS X)Currently tested on Linux (Ubuntu 11.04 x86) and Mac OS X (10.6.8 x64).Starting: ./emcorefs <mountpoint>Stopping: fusermount -u <mountpoint as seen in /etc/mtab> (Linux)diskutil unmount <mountpoint as seen in /etc/mtab> (OS X)Known bugs/issues-----------------* Running FUSE with multithreading breaks file reading because ofthe way these are implemented on emCORE's side.Workaround: use the "-s" option.* Some errors are not handled properly, EIO (Input/output error) isgiven in many cases where there's a more descriptive errormessage available. Will be fixed in the future.* Rename/move in the filesystem itself is currently disabled, sincethe underlying filesystem call crashes the emCORE kernel.Workaround: move the file/dir on another filesystem, then renameit if needed, then move it back.Future plans------------* Merge some functions that are doing similar tasks to reduce codeduplication.* Return proper error codes in FS operations.Bug reporting-------------Main developer: Vencislav "user890104" AtanasovHow to contact: http://www.freemyipod.org/wiki/ContactLicense terms-------------emCOREFS is distributed under the same license terms as emCORE.emCORE is free software: you can redistribute it and/ormodify it under the terms of the GNU General Public License aspublished by the Free Software Foundation, either version 2 of theLicense, or (at your option) any later version.emCORE is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the GNU General Public License for more details.You should have received a copy of the GNU General Public Licensealong with emCORE. If not, see <http://www.gnu.org/licenses/>.