Tiny Core Linux
Tiny Core Extensions => TCE Q&A Forum => Topic started by: samedirection on August 14, 2009, 12:57:16 PM
-
I want to mount NTFS partitions read-write using ntfs-3g. Is there a way to do this which:
(1) still takes advangate of TC's nice auto-partition-detection facilities (putting the relevant partitions in /etc/fstab), and
(2) lets me mount with a simple "mount /mnt/hda1" instead of what I presently do, which is considerably longer:
mount /mnt/hda1
(rats!, I forgot I can't do that)
sudo mount -t ntfs-3g /dev/hda1 /mnt/hda1
You can say I'm lazy, but in the words of J. Lennon, maybe "I'm not the only one."
-
[removed whitespace]
(2) will come from (1) automatically
For (1), one of the following could be done:
- remaster
- call rebuildfstab after loading ntfs-3g
-
Thanks.
-
If I call 'su rebuildfstab' after loading ntfs-3g, my /etc/fstab still lists my ntfs partitions as type 'ntfs' (not 'ntfs-3g,' which is what it would take to mount them with a simple 'mount /mnt/hda1'). Any ideas?
-
fstype is determined from blkid. What does blkid display on this device?
Perhaps trying to load the blkid extension update?
Since nfts-3g is a userspace file system type maybe not.
-
Also, did you mean 'sudo' and not 'su'?
-
Right, I did mean 'sudo'. And blkid displays 'ntfs'. I didn't realize that ntfs-3g was a userspace filesystem. So perhaps I won't ever be able to mount ntrfs volumes using ntfs-3g without specifying the -t type. Or?
-
Some options: could modify rebuildfstab or create something that modifies fstab after calling rebuildfstab
On their site, there's a suggestion for automount: link mount.ntfs to mount.ntfs-3g (I'm not sure if this is applicable or not)
-
i have no ntfs-3g and i wonder if i can mount ntfs partitions simply so (using mc 2.2); i have noticed that no module was present for it
-
@samedirection
Does performing a stream edit in /opt/bootlocal.sh help? Example:
sed -i 's/ntfs/ntfs-3g/g' /etc/fstab
Of course it will only be usful for after boot mounting.
-
i have no ntfs-3g and i wonder if i can mount ntfs partitions simply so (using mc 2.2); i have noticed that no module was present for it
No ntfs support is in core. For read only see:
http://distro.ibiblio.org/pub/linux/distributions/tinycorelinux/2.x/tce/filesystems-2.6.29.1-tinycore.tcem.info
For read/write see the ntfs-3g extension(s) .info files.
-
Does performing a stream edit in /opt/bootlocal.sh help? Example:
sed -i 's/ntfs/ntfs-3g/g' /etc/fstab
No. I get insufficient permissions errors. It appears that you can only get ntfs-3g to be used by unprivilidged users under specific conditions (one of them is that the ntfs-3g binary is run as setuid root). From the ntfs-3g FAQ:
Why can't unprivileged users mount block devices?
Unprivileged block device mounts work only if all the below requirements are met:
ntfs-3g is compiled with integrated FUSE support
the ntfs-3g binary is at least version 1.2506
the ntfs-3g binary is set to setuid-root
the user has access right to the volume
the user has access right to the mount point
More here:
http://ntfs-3g.org/support.html#unprivileged
So it looks like one could go down this route, but ntfs-3g would have to be compiled with FUSE support, and run setuid root.
For me, I think I'll just do:
alias hda1mount='sudo mount -t ntfs-3g /dev/hda1 /mnt/hda1'
Thanks for your help.
-
Let me sprinkle some voodoo powder over this dead thread and revive it :) (also see http://forum.tinycorelinux.net/index.php?topic=2808.0 )
@samedirection - you probably need a sudo in there.
@roberts, would you be interested in accepting patches against either rebuildfstab or blkid to report ntfs-3g (if and only) if ntfs-3g is installed? This would partially resolve the request for read/write mounting (without shelling out to a terminal).
For example something like:
tc@box:~$ diff /usr/sbin/rebuildfstab usr/sbin/rebuildfstab
--- /usr/sbin/rebuildfstab Mon Sep 14 21:17:09 2009
+++ usr/sbin/rebuildfstab Tue Oct 13 18:51:43 2009
@@ -18,6 +18,8 @@
rm -f /var/run/rebuildfstab.pid
fi
echo "$$" >/var/run/rebuildfstab.pid
+ntfs3g=`which ntfs-3g` ## doesn't work (not in path, see set path above)
+ntfs3g=`ls /usr/local/bin/ntfs-3g 2>/dev/null` # path used in ntfs-3g.tczl extension
# Go through fstab and grab a list of previous entries
@@ -60,8 +62,14 @@
[ -z "$FSTYPE" ] && FSTYPE="auto"
MOUNTPOINT="/mnt/$DEVNAME"
OPTIONS="noauto,users,exec"
+ # If ntfs-3g was installed, assume we want to use it
+ if [ ! -z "${ntfs3g}" -a "$FSTYPE" = "ntfs" ]
+ then
+ FSTYPE=ntfs-3g
+ fi
case "$FSTYPE" in
ntfs) OPTIONS="$OPTIONS,ro,umask=000" ;;
+ ntfs-3g) OPTIONS="$OPTIONS,umask=000" ;;
vfat|msdos) OPTIONS="${OPTIONS},umask=000" ;;
ext2|ext3) OPTIONS="${OPTIONS},relatime" ;;
swap) OPTIONS="defaults"; MOUNTPOINT="none" ;;
If you have ntfs-3g installed this will set new mount points to use ntfs-3g in rw mode. E.g. boot up TC, then once booted insert USB drive with NTFS on it. It will NOT set the mode for connected at boot time devices as the user extensions aren't loaded at the time this takes place.
I went ahead and hacked rebuildfstab (and added it to my backupfile list), blkid could be modified instead/as-well.
One idea I've had is to make a new boot flag, ntfs=ntfs-3g, ntfs3g, etc. and then pick that up in blkid or rebuildfstab as in indicator to replace ntfs with ntfs-3g.
Yet another option would be to create two mount points, once readonly (as is done now) and another one using ntfs-3g with "_rw" appended to the mount point. E.g.
/mnt/hda1
/mnt/hda1_rw
Comments?
Chris
-
Maybe I'm missing something but I just created a link in /usr/local/sbin to mount.ntfs-3g called
mount.ntfs. I can mount from the command line with "sudo mount /mnt/hda1" just fine. The
MountTool app can now also mount my drive.
-
Maybe I'm missing something but I just created a link in /usr/local/sbin to mount.ntfs-3g called
mount.ntfs. I can mount from the command line with "sudo mount /mnt/hda1" just fine. The
MountTool app can now also mount my drive.
For the original poster that may be fine, for me it wouldn't do everything I want. I basically want the option of RW, so I need to modify the fstab anyway to change the RO to RW.
-
I just took a look at my fstab file, the NTFS partitions are listed as follows.
/dev/hda1 /mnt/hda1 ntfs noauto,users,exec,ro,umask=000 0 0 # Added by TC
/dev/hda2 /mnt/hda2 ntfs noauto,users,exec,ro,umask=000 0 0 # Added by TC
/dev/hda3 /mnt/hda3 ntfs noauto,users,exec,ro,umask=000 0 0 # Added by TC
Even though the ro option is listed the partitions get mounted as rw according to mtab.
/dev/hda2 /mnt/hda2 fuseblk rw,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096 0 0
If you are just trying to mount rw that should do it for you, if you are also trying to mount ro
then you will have to try something else.
-
Awesome ;D I'll try out the new (to me) 3.x series and check this out. I'm getting a new (well refurbished) laptop soon so this will be a perfect test of the new release.
Thanks for sharing!