Contents
Using the FUSE in NetBSD -current
Requirements
You will need a current kernel and userland, and up to date pkgsrc-current (pkgsrc/filesystems)
Introduction
The sources we refer to in this HowTo can exist anywhere on your system (normally in /usr)
That's why we use src/foo/bar (i.e src/lib/libpuffs) instead of full path.
Setup
Make sure that your Kernel configuration file contains the following option under filesystem
file-system PUFFS
And this under pseudo-devices
pseudo-device putter
Add this to your /etc/mk.conf
MKPUFFS=yes
Build your kernel and update your userland.
Make sure you run "make includes" in your source tree in src/sys if you at some point update your NetBSD sources so that you have proper header files.
Most importantly the src/lib/libpuffs headers.
# cd src/sys
# make USETOOLS=no includes
# cd src/lib/libpuffs
# make USETOOLS=no includes
Check if libpuffs is properly installed
# cd src/lib/libpuffs
# make USETOOLS=no cleandir dependall
# make USETOOLS=no install
Check if librefuse is properly installed.
# cd src/lib/librefuse
# make USETOOLS=no cleandir dependall
# make USETOOLS=no install
Check if fusermount is up to date and installed
# cd src/usr.sbin/fusermount
# make USETOOLS=no cleandir dependall
# make USETOOLS=no cleandir install
Check if puffs is up to date and installed
# cd src/usr.sbin/puffs
# make USETOOLS=no cleandir dependall
# make USETOOLS=no install
This will compile and install mount_9p, mount_portal, mount_psshfs and mount_sysctlfs
Install and Usage
Mount_psshfs
Mounting a remote filesystem over ssh
# mount_psshfs user@host:/path/to/directory /mountpoint
# umount /mountpoint
Stuff from /usr/pkgsrc/filesystems.
Fuse-ntfs-3g
Mounting a ntfs filesystem
# ntfs-3g /dev/device /mountpoint
# umount /mountpoint
Fuse-obexftp
Mounting an obexfs filesystem (Make sure your bluetooth connection is established with your device)
# obexfs -b 00:11:22:33:44:55 -B 10 /mnt/mountpoint
(Where the 00:11:22:33:44:55 is the address of your Bluetooth device )
Fuse-encfs
Fuse-cryptofs
Fuse-cddfs
Fuse-curlftps