Skip to content
GRUB filesystem support <-> FUSE bridge
C Assembly Other
Find file
Latest commit 3a4f27f @albertz Merge pull request #3 from vasi/patch-2
Detect zfs (compile.py)
Failed to load latest commit information.
build-aux
conf * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
docs
grub-core
grub-fuse.xcodeproj
include fixed comment. in our use case, we actually really need a tree map (t…
m4 Support xz compression on yeeloong.
po * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
tests * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
unicode Support xz compression on yeeloong.
util Fix partition numbering.
.bzrignore
.gitignore
ABOUT-NLS Support xz compression on yeeloong.
AUTHORS Support xz compression on yeeloong.
COPYING Support xz compression on yeeloong.
ChangeLog
INSTALL Support xz compression on yeeloong.
Makefile.am * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
Makefile.util.def Makefile: add reiserfs_key_cache.cpp
NEWS
README.md readme: file reading speed is ok now
THANKS Support xz compression on yeeloong.
TODO Support xz compression on yeeloong.
acinclude.m4 Support xz compression on yeeloong.
autogen.sh Re-enable grub-extras.
compile.py Detect zfs
config.h.in
configure.ac fix grub-mount buildability on GNU/kFreeBSD
geninit.sh Support xz compression on yeeloong.
gentpl.py Put terminfo into core on ieee1275 and yeeloong (needed for console).
grub-README rename readme

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.