Chrome os crostini mount help

Hi,
I set up rclone in crostini and configured onedrive, the problem is that when I mount it, it is read only, i can only create new folders, but can not copy files, i get the following error on chrome files app:
"copy operation failed. The file could not be modified"
I also installed a file manager for crostini but the paste option is grayed out.
I tried gdrive as well to no avail.
I use the following command for mounting:
rclone mount od01: ~/od01 --vfs-cache-mode writes
Any help will be appreciated

I suspect you are having user permissions problems. Try --allow-other does that help?

Hi,
yes I tried that and got the following error:
mount helper error: fusermount: option allow_other only allowed if 'user_allow_other' is set in /etc/fuse.conf
Fatal error: failed to mount FUSE fs: fusermount: exit status 1

I tried changing the permission and editing /etc/fuse.conf but I it is not working, i used the command:
sudo chmod a+r /etc/fuse.conf

You need to open up the /etc/fuse.conf and add in / uncomment the line that has allow_other on it.

Hi,
I was able to edit the permission using command:
sudo chmod a=rw /etc/fuse.conf
edited the file
sudo echo "user_allow_other" >> /etc/fuse.conf
and mounted using --allow-other
but the problem persists.

You need to open up the file in an editor and make it look like this:

felix@gemini:~$ cat /etc/fuse.conf 
# The file /etc/fuse.conf allows for the following parameters:
#
# user_allow_other - Using the allow_other mount option works fine as root, in
# order to have it work as user you need user_allow_other in /etc/fuse.conf as
# well. (This option allows users to use the allow_other option.) You need
# allow_other if you want users other than the owner to access a mounted fuse.
# This option must appear on a line by itself. There is no value, just the
# presence of the option.

user_allow_other

The last line is the key. It's not the permissions on the file.

this is exactly how it looks like:

basharwadaa@penguin:~$ ls -l /etc/| grep fuse.conf; cat /etc/fuse.conf
-rw-rw-rw- 1 root root     279 Mar 10 13:03 fuse.conf
# /etc/fuse.conf - Configuration file for Filesystem in Userspace (FUSE)

# Set the maximum number of FUSE mounts allowed to non-root users.
# The default is 1000.
#mount_max = 1000

# Allow non-root users to specify the allow_other or allow_root mount options.
user_allow_other

And can you share the command and output of what the issue still i?

Use 3 backtics around the start and bottom of what you are trying to paste to show code.

like
this

thanks, updated with backtic :wink:
I am not using any commands as I am using the file manager (files from chrome os and Peony from crostini), but on the terminal, I am not receiving any errors.

Are you still having a problem? Can you post a screenshot of the issue and describe it?


as you can see, the drive is mounted, and I am trying to copy files using the file managers:

  1. chrome os files app: I recieve copy operation failed
  2. crostini Peony: the paste option is grayed out
    nothing happening in the terminal.
    I do not know if it is worth mentioning, but I am running on developer mode.

How are you mounting it? Can you share a debug log of the mount as that needs -vv on it when you hit the issue?

I clicked paste @ 19:07:06

basharwadaa@penguin:~$ rclone mount --vfs-cache-mode writes --allow-other od01cr: ~/od01 -vv
2020/03/10 19:05:29 DEBUG : rclone: Version "v1.51.0" starting with parameters ["rclone" "mount" "--vfs-cache-mode" "writes" "--allow-other" "od01cr:" "/home/basharwadaa/od01" "-vv"]
2020/03/10 19:05:29 DEBUG : Using config file from "/home/basharwadaa/.config/rclone/rclone.conf"
2020/03/10 19:05:35 DEBUG : Encrypted drive 'od01cr:': Mounting on "/home/basharwadaa/od01"
2020/03/10 19:05:35 INFO  : Encrypted drive 'od01cr:': poll-interval is not supported by this remote
2020/03/10 19:05:35 DEBUG : vfs cache root is "/home/basharwadaa/.cache/rclone/vfs/od01cr"
2020/03/10 19:05:35 DEBUG : Adding path "vfs/forget" to remote control registry
2020/03/10 19:05:35 DEBUG : Adding path "vfs/refresh" to remote control registry
2020/03/10 19:05:35 DEBUG : Adding path "vfs/poll-interval" to remote control registry
2020/03/10 19:05:35 DEBUG : : Root: 
2020/03/10 19:05:35 DEBUG : : >Root: node=/, err=<nil>
2020/03/10 19:06:08 DEBUG : /: Attr: 
2020/03/10 19:06:08 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxr-xr-x, err=<nil>
2020/03/10 19:06:08 DEBUG : /: ReadDirAll: 
2020/03/10 19:06:09 DEBUG : /: >ReadDirAll: item=0, err=<nil>
2020/03/10 19:06:09 DEBUG : /: ReadDirAll: 
2020/03/10 19:06:09 DEBUG : /: >ReadDirAll: item=0, err=<nil>
2020/03/10 19:06:09 DEBUG : /: Attr: 
2020/03/10 19:06:09 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxr-xr-x, err=<nil>
2020/03/10 19:07:06 DEBUG : /: Attr: 
2020/03/10 19:07:06 DEBUG : /: >Attr: attr=valid=1s ino=0 size=0 mode=drwxr-xr-x, err=<nil>
2020/03/10 19:07:06 DEBUG : /: Lookup: name="test.pdf"
2020/03/10 19:07:06 DEBUG : /: >Lookup: node=<nil>, err=no such file or directory
2020/03/10 19:07:06 DEBUG : /: Lookup: name="test.pdf"
2020/03/10 19:07:06 DEBUG : /: >Lookup: node=<nil>, err=no such file or directory
2020/03/10 19:07:06 DEBUG : : Statfs: 
2020/03/10 19:07:07 DEBUG : : >Statfs: stat={Blocks:276299776 Bfree:276260658 Bavail:276260657 Files:1000000000 Ffree:1000000000 Bsize:4096 Namelen:255 Frsize:4096}, err=<nil>
2020/03/10 19:07:07 DEBUG : /: Lookup: name="test.pdf"
2020/03/10 19:07:07 DEBUG : /: >Lookup: node=<nil>, err=no such file or directory
2020/03/10 19:07:07 DEBUG : /: Lookup: name="test.pdf"
2020/03/10 19:07:07 DEBUG : /: >Lookup: node=<nil>, err=no such file or directory
2020/03/10 19:07:07 DEBUG : /: Create: name="test.pdf"
2020/03/10 19:07:07 DEBUG : test.pdf: Open: flags=O_RDONLY|O_CREATE|O_EXCL
2020/03/10 19:07:07 DEBUG : test.pdf: >Open: fd=<nil *ReadFileHandle>, err=can't open file - writer failed
2020/03/10 19:07:07 DEBUG : /: >Create: node=<nil>, handle=<nil>, err=can't open file - writer failed
2020/03/10 19:07:07 DEBUG : /: Lookup: name="test.pdf"
2020/03/10 19:07:07 DEBUG : /: >Lookup: node=<nil>, err=no such file or directory

Hmm that is an unexpected error...

That means, I think that the object isn't created yet...

What exactly did you do to create that log - I'd like to reproduce it if I can.

Hi,
Sorry for the late reply.
what I did is that I copied a file and did a paste using the chrome os files app, it is not possible to do that (paste) with peony as the paste option is grayed out.
I think the mount is read only, although I can create new folders.
I used the same rclone mount command and config file on galliumOS and it worked like a charm.

Hi,
so I reinstalled Crostini, rclone, and Nautilus file manager, and now the mount is working from inside Nautilus. However, I still have the same problem if I use the chrome os files app, but I can live with that :wink:

Great!

ChromeOS is quite strict on its permissions isn't it? I suspect that is a limitation enforced by chrome OS somehow...

yes indeed, even setting up Libreoffice to work normally through their file manager was a real pain.

ChromeOS does a lot of loopback mounts and hidden partitioning and stuff to try and keep separate user data segregated. A year or so back I worked out the "underlying" mount and came up with a script like

#!/bin/sh

# This is needed to mount where the File.app looks
HOME=/home/chronos/u-0db28c719b61f16e86dd12blahblahblahblah
DOWN=$HOME/Downloads
BASE=$DOWN/onedrive

echo Mounting at $BASE
sudo /bin/echo
sudo rclone --config $HOME/.config/rclone/rclone.conf mount --allow-other onedrive: $BASE &

echo Entering a subshell at $DOWN
cd $DOWN
bash
echo Unmounting $BASE
sudo umount $BASE

The magic number is in the HOME= line, and this may vary on different machines (I've not tested). This lets me mount my Onedrive volume inside the Downloads area and it's visible to the File application. It's not 100% perfect, but it's good enough for simple file transfers!

1 Like

Hi,
your script points to chronos folder, which is not accessible by Crostini (linux beta), how exactly did u install rclone?