Skip to content
GRUB filesystem support <-> FUSE bridge
C Assembly Other
Latest commit 3a4f27f Apr 24, 2012 @albertz Merge pull request #3 from vasi/patch-2
Detect zfs (compile.py)
Failed to load latest commit information.
build-aux Support xz compression on yeeloong. Sep 23, 2010
conf * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter. Nov 16, 2010
docs remove trailing full stop, for consistency with other pages Apr 8, 2011
grub-core comments Sep 22, 2011
grub-fuse.xcodeproj update Xcode: call compile.py Sep 21, 2011
include fixed comment. in our use case, we actually really need a tree map (t… Sep 22, 2011
m4 Support xz compression on yeeloong. Sep 23, 2010
po * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying Dec 21, 2010
tests * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to Jan 6, 2011
unicode Support xz compression on yeeloong. Sep 23, 2010
util Fix partition numbering. Apr 24, 2012
.bzrignore add grub-mount to .bzrignore Apr 10, 2011
.gitignore gitignore Sep 20, 2011
ABOUT-NLS Support xz compression on yeeloong. Sep 23, 2010
AUTHORS Support xz compression on yeeloong. Sep 23, 2010
COPYING Support xz compression on yeeloong. Sep 23, 2010
ChangeLog * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to Jan 8, 2011
INSTALL Support xz compression on yeeloong. Sep 23, 2010
Makefile.am * Makefile.am (libgrub.pp): Propagate the libgrub.a split. Nov 1, 2010
Makefile.util.def Makefile: add reiserfs_key_cache.cpp Sep 21, 2011
NEWS 2010-12-09 Robert Millan <rmh@gnu.org> Dec 9, 2010
README.md readme: file reading speed is ok now Sep 22, 2011
THANKS Support xz compression on yeeloong. Sep 23, 2010
TODO Support xz compression on yeeloong. Sep 23, 2010
acinclude.m4 Support xz compression on yeeloong. Sep 23, 2010
autogen.sh Re-enable grub-extras. Sep 24, 2010
compile.py Detect zfs Apr 24, 2012
config.h.in grub-fuse Jan 8, 2011
configure.ac fix grub-mount buildability on GNU/kFreeBSD Jun 11, 2011
geninit.sh Support xz compression on yeeloong. Sep 23, 2010
gentpl.py Put terminfo into core on ieee1275 and yeeloong (needed for console). Sep 30, 2010
grub-README rename readme Sep 19, 2011

README.md

grub-fuse

GRUB is the GRand Unified Bootloader (see grub-README). GRUB has reading support for many filesystems included.

This is a FUSE (Filesystem in Userspace) driver which uses the GRUB filesystem reading support.

This means that you have basic reading support for ReiserFS, XFS, JFS, ZFS, Btrfs and many others on any system that supports FUSE (e.g. MacOSX, Linux, etc.).

History

The initial work was done by Vladimir 'phcoder' Serbinenko, followed by some fixes by Colin Watson and some more fixes by me.

Those latest fixes were mostly related to:

  • The build system. It didn't really worked for MacOSX. So, I wrote my own simple compile.py which works on MacOSX (and can probably easily be ported again to other systems).
  • Nested functions. They didn't worked at all for me. I had to remove all their usages. That was quite some annoying work and it is probably not complete (I only tested ReiserFS).
  • The FUSE driver itself. It also didn't worked. Mostly because it didn't found the related GRUB device. It tries to mostly work around that now.

Usage

Compile it:

$ ./compile.py

Run it:

$ mkdir ~/mnt
$ ./build/grub-mount /dev/rdisk3s1 ~/mnt
$ ls ~/mnt

State

In particular, I tested it now on MacOSX 10.7.1 with Fuse4x and a ReiserFS 3 partition on some USB disk.

Performance varies wildly. Directory reading is quite slow (could be improved much by some intelligent caching). File reading is ok with about 5 MB/sec (depending much on the media).

The code is quite hackish! Cleanup by someone experiented with GRUB and/or FUSE is very welcome!

-- Albert Zeyer, http://www.az2000.de

Something went wrong with that request. Please try again.