• The forum software that supports hummy.tv will be upgraded to XenForo 2.3 on Wednesday the 20th of November 2024 starting at 7pm

    There will be some periods where the forum is unavailable, please bear with us. More details can be found in the upgrade thread.

Beta NTFS-3g

Status
Not open for further replies.
Attached is a patch to fix the problem with the web-if.

There is also another problem that a disk fails to mount if its volume label is not set. I have a fix for this too but unfortunately can not upload a new version of ntfs-3g at the moment.
 

Attachments

  • webif-patch.txt
    703 bytes · Views: 9
...
There is also another problem that a disk fails to mount if its volume label is not set. I have a fix for this too but unfortunately can not upload a new version of ntfs-3g at the moment.
The latest stable version builds on box with a few hacks:
Code:
humaxhdr# ntfs-3g --help

ntfs-3g 2017.3.23 integrated FUSE 27 - Third Generation NTFS Driver
                Configuration type 1, XATTRS are on, POSIX ACLS are off

Copyright (C) 2005-2007 Yura Pakhuchiy
Copyright (C) 2006-2009 Szabolcs Szakacsits
Copyright (C) 2007-2017 Jean-Pierre Andre
Copyright (C) 2009 Erik Larsson

Usage:    ntfs-3g [-o option[,...]] <device|image_file> <mount_point>

Options:  ro (read-only mount), windows_names, uid=, gid=,
          umask=, fmask=, dmask=, streams_interface=.
          Please see the details in the manual (type: man ntfs-3g).

Example: ntfs-3g /dev/sda1 /mnt/windows

News, support and information:  http://tuxera.com
humaxhdr#
Key issues after running configure as below:
Code:
CONFIG_SHELL=/bin/sh CPPFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" CFLAGS="-std=gnu99" ./configure --prefix=/mod --build=mipsel-linux --with-gnu-ld --disable-ldscript
  • in config.status, force HAVE_MBSINIT to be unset (comment out the line D["HAVE_MBSINIT"]=" 1", since the configure script's test gets it wrong;
  • build libfuse-lite with a sigset.c that overrides the faulty (not matching the headers for MIPS) implementations of sigemptyset and sigfillset in the on-box uClibc (else segfault);
  • modify src/Makefile.in to set FUSE_USE_VERSION to 27;
  • add a definition #define FUSE_DEV "/mod/dev/fuse" (or make it use "/dev/fuse" conditionally and override the value with a new configure variable) to include/fuse-lite/fuse_common.h; modify libfuse-lite/fusermount.c, src/ntfs-3g.c and src/lowntfs-3g.c to use FUSE_DEV instead of the explicit device name string constant;
  • modify src/ntfs-3g.c and src/lowntfs-3g.c to bypass the use of /dev/misc/fuse conditional on __UCLIBC__, eg by adding and setting a configure variable (say) FUSE_DEV_OVERRIDE to be tested along with __UCLIBC__;
  • after make all, install by make install-exec exec_prefix= DESTDIR=/mod; the symlinks /mod/sbin/mount.[low]ntfs-3g need to be changed to point to /mod/bin/[low]ntfs-3g instead of /bin/[low]ntfs-3g.
Obviously I can send a dev archive to anyone interested.

The resulting [low]ntfs-3g binaries are ~ 250kb but libntfs-3g.so.88.0.0 is ~700kb, somewhat smaller than the repo version 84.

One observation is that while ntfs-3g dev node and mount.ntfs-3g dev node work, mount -t ntfs-3g dev node fails with mount: mounting dev on node failed: No such device. I don't recall if this is an issue with the repo version. It doesn't seem to be due to the helpers being in /mod/sbin instead of /sbin.
 
Status
Not open for further replies.
Back
Top