Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
GRUB filesystem support <-> FUSE bridge
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
build-aux Support xz compression on yeeloong.
conf * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
docs remove trailing full stop, for consistency with other pages
grub-core comments
grub-fuse.xcodeproj update Xcode: call compile.py
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 add grub-mount to .bzrignore
.gitignore gitignore
ABOUT-NLS Support xz compression on yeeloong.
AUTHORS Support xz compression on yeeloong.
COPYING Support xz compression on yeeloong.
ChangeLog * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
INSTALL
Makefile.am * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
Makefile.util.def
NEWS 2010-12-09 Robert Millan <rmh@gnu.org>
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 grub-fuse
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.