Skip to content

kejiewei/fuse-ext2

 
 

Repository files navigation

Fuse-ext2 is a EXT2/EXT3/EXT4 Filesystem support for FUSE.

Dependencies
------------

  Fuse-ext2 requires at least Fuse version 2.6.0 for linux, for max os latest
version of osxfuse (2.7.5).

- Linux:
	Fuse from http://fuse.sourceforge.net/

- Mac OS:
	OSXFuse from https://osxfuse.github.io


Build
-----	

- Linux:
	Dependencies:
	
	# fuse
	$ apt-get install libfuse
	
	Build from source depends on:
		m4, autoconf, automake, libtool
		fuse-dev, e2fsprogs-dev

	$ apt-get install m4 autoconf automake libtool
	$ apt-get install libfuse-dev e2fslibs-dev
	
	$ ./autogen.sh
	$ ./configure
	$ make
	$ sudo make install

	You can use checkinstall or some other equivalent tool to generate install
	package for your distribution.

- Mac OS:
	Dependecies:

	# osxfuse
	https://osxfuse.github.io
	no need to install with macfuse compatibility
	
	Build:
	
	Build from source depends on m4, autoconf, automake, libtool and e2fsprogs
	
	$ export PATH=/opt/gnu/bin:$PATH
	
	$ mkdir gnu
	$ cd gnu
	
	# m4
	$ curl -O http://ftp.gnu.org/gnu/m4/m4-1.4.17.tar.gz
	$ tar -zxvf m4-1.4.17.tar.gz 
	$ cd m4-1.4.17
	$ ./configure --prefix=/opt/gnu
	$ make -j 16
	$ sudo make install
	$ cd ../
	
	# autoconf
	$ curl -O http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz
  	$ tar -zxvf autoconf-2.69.tar.gz 
	$ cd autoconf-2.69
	$ ./configure --prefix=/opt/gnu
	$ make
	$ sudo make install
	$ cd ../
	
	# automake
	$ curl -O http://ftp.gnu.org/gnu/automake/automake-1.15.tar.gz
	$ tar -zxvf automake-1.15.tar.gz 
	$ cd automake-1.15
	$ ./configure --prefix=/opt/gnu
	$ make
	$ sudo make install
	$ cd ../
	
	# libtool
	$ curl -O http://ftp.mku.edu.tr/gnu/libtool/libtool-2.4.6.tar.gz
	$ tar -zxvf libtool-2.4.6.tar.gz 
	$ cd libtool-2.4.6
	$ ./configure --prefix=/opt/gnu
	$ make
	$ sudo make install
	$ cd ../

	# e2fsprogs
	$ curl -O https://www.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/v1.42.12/e2fsprogs-1.42.12.tar.gz
	$ tar -zxvf e2fsprogs-1.42.12.tar.gz
	$ cd e2fsprogs-1.42.12
	$ ./configure --prefix=/opt/gnu
	$ make
	$ sudo make install
	$ sudo make install-libs
	$ cd ../
	
	# fuse-ext2
	$ export PATH=/opt/gnu/bin:$PATH
	$ ./autogen.sh
	$ CFLAGS="-idirafter/opt/gnu/include -idirafter/usr/local/include/osxfuse/" LDFLAGS="-L/opt/gnu/lib -L/usr/local/lib" ./configure
	$ make
	$ sudo make install

Test
----

	$ dd if=/dev/zero of=test/fs.ext2 bs=1024 count=102400
	$ mkfs.ext4 test/fs.ext2
	$ fuse-ext2 test/fs.ext2 /mnt/fs.ext2 -o debug,rw+

Usage
-----

Usage:    fuse-ext2 <device|image_file> <mount_point> [-o option[,...]]

Options:  ro, force, allow_others
          Please see details in the manual.

Example:  fuse-ext2 /dev/sda1 /mnt/sda1

Bugs
----

multithread support is broken for now, so forcing fuse to work single thread.

there are no known bugs for read-only mode, read only mode should be ok for every one.

altough, write support is available please do not mount your filesystems with write
support unless you do not have anything to loose.

please send output the output of below command while reporting bugs.

$ /usr/local/bin/fuse-ext2 -v /dev/path /mnt/point -o debug

Labels
------

please do not use comma ',' in partition labels.

wrong: e2label /dev/disk0s3 "linux,ext3"

correct: e2label /dev/disk0s3 "linux-ext3"

Contact
-------

Alper Akcan <alper.akcan@gmail.com>

About

Fuse-ext2 is a multi OS FUSE module to mount ext2, ext3 and ext4 file system devices and/or images with read write support.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 73.0%
  • Objective-C 24.1%
  • Roff 2.2%
  • Shell 0.7%