NTFS-3G mount during boot

Novembre novembre at gmail.com
Sun Oct 7 11:07:02 PDT 2007


On 10/7/07, Mel <fbsd.questions at rachie.is-a-geek.net> wrote:
>
> On Sunday 07 October 2007 10:00:35 Novembre wrote:
>
> > On 10/7/07, Doug Barton <dougb at freebsd.org> wrote:
> > > On Sun, 7 Oct 2007, Novembre wrote:
> > > > The first error above is because the fuse kernel module is not yet
> > >
> > > loaded.
> > >
> > > Well isn't it sort of pointless to proceed until you get the kernel
> > > module loaded at boot time and then see what happens next?
> >
> > Oh, the kernel module IS loaded as shown in 'dmesg -a' and in
> > /var/log/messages. However, it can't be loaded unless / and /usr file
> > systems are mounted.
>
> Filesystems that need modules from anywhere else then the root partition
> cannot be loaded from /etc/fstab.
> Either make fusefs-kmod install in /boot/modules
> (echo 'KMOD_DIR=/boot/modules'
> >/usr/ports/sysutils/fusefs-kmod/Makefile.local) or mount the filesystem
> using an rc(8) script in /usr/local/etc/rc.d/.
> In the end you do not really care whether it's mounted 20 seconds or 1
> second
> before login prompt is available.
>
> --
> Mel
>



Well, I gave up using /etc/fstab to mount NTFS partitions at boot time a
couple of months ago when I realized that it's not the correct way to do it
(so I also wrote an rc.d script to do the job, but I'll talk about it
later). However, I recently looked at fusefs-ntfs source files, and as you
can see from
http://www.freebsd.org/cgi/cvsweb.cgi/ports/sysutils/fusefs-ntfs/Makefile in
revision 1.19, there are changes (installing a symlink) to allow using
/etc/fstab to mount NTFS partitions at boot. So I thought that maybe now
it's okay to use /etc/fstab. Anyway, if it's still not possible to use
/etc/fstab, then what does that sentence mean in the revision 1.19 of
fusefs-ntfs Makefile (again, see the URL above)?

Another question is why, even after loading the kernel module (see the
'dmesg -a' output below), it is not possible to mount the NTFS partition?
----------
[user at pasargadae ~]$ dmesg -a
...
Starting fusefs.
fuse4bsd: version 0.3.9-pre1, FUSE ABI 7.8
...
Mounting late file systems:
fuse: failed to exec mount program: No such file or directory
----------

This output from /var/log/messages is also interesting, showing that ntfs-3g
has indeed been run and that it has mounted my Windows partition (but I
don't see it mounted)!
----------
[user at pasargadae ~]$ cat /var/log/messages
...
Oct  6 14:22:40 pasargadae kernel: Trying to mount root from ufs:/dev/ad0s2a
Oct  6 14:22:45 pasargadae kernel: fuse4bsd: version 0.3.9-pre1, FUSE ABI
7.8
Oct  6 14:22:45 pasargadae ntfs-3g[811]: Version 1.913
Oct  6 14:22:45 pasargadae ntfs-3g[811]: Mounted /dev/ad0s1 (Read-Write,
label "", NTFS 3.0)
Oct  6 14:22:45 pasargadae ntfs-3g[811]: Cmdline options: (null)
Oct  6 14:22:45 pasargadae ntfs-3g[811]: Mount options:
noatime,silent,allow_other ,fsname=/dev/ad0s1
...
----------

And I didn't know about the /boot/modules way. Could you please ellaborate
more? Is it a different way to load kernel modules than using
/boot/loader.conf? When should one use that?

And now, about coming back to using an rc.d script...After failing to use
/etc/fstab, I wrote this script to mount the partition at boot time.
However, this also does not work!
----------
#!/bin/sh
#
# PROVIDE: ntfsmount
# REQUIRE: fusefs
#

. /etc/rc.subr

name="ntfsmount"
rcvar=${name}_enable
command="/usr/sbin/mount_ntfs-3g"
command_args="/dev/ad0s1 /mnt/windows -o locale=en_US.UTF-8"

load_rc_config $name

: ${ntfsmount_enable="NO"}

run_rc_command "$1"
----------
I have made this script executable and have put ' ntfsmount_enable="YES" '
in my /etc/rc.conf. So basically, I'm out of ideas now, and I need the
experts' help in this case. I think this problem is way above my current
knowledge of FreeBSD.

Thanks for your help :)


More information about the freebsd-ports mailing list