4

I am trying to mount a smb share on my embedded Linux running on ARM (3.6.9) with busybox 1.21

mount -t cifs //192.168.0.12/mydata /mnt/myData 

results in an invalid argument error:

mount: mounting /192.168.0.12/mydata/ on /mnt/myData failed: Invalid argument

CIFS support is definetly installed and the directories exist. Is there any syntax difference in busybox's mount command? Thank in advance!

tzippy
  • 454
  • 3
  • 8
  • 18
  • Can you please give the exact error message? And where is the `user` option mentioned in the question title in your command? Oh, and where do you give the username/password for this share? – mpy Jun 24 '13 at 07:12
  • Sorry, I messed up. Wrote the title when I still had a different error message. – tzippy Jun 24 '13 at 07:16
  • With busybox v1.1.3 this command succeeds: `mount -t cifs //192.168.1.11/Files /mnt/files -o username=windows_user,password=windows_pwd`, so obviously no general problem. Does the mount command with increased verbosity `-vvv` give some more hints? – mpy Jun 24 '13 at 19:16
  • 2
    Just double checking that CIFS support is installed, does the file `/sbin/mount.cifs` exist? – Cristian Ciupitu Jun 29 '14 at 00:08

4 Answers4

1

The clue is in the output:

mount: mounting /192.168.0.12/mydata/ on /mnt/myData failed: Invalid argument

Shares are not referenced starting with a single /.

For CIFS shares you need to use backslashes. You then need to double up these to escape them, otherwise the shell thinks they have a special meaning.

Try:

mount -t cifs \\\\192.168.0.12\\mydata /mnt/myData
deed02392
  • 2,982
  • 6
  • 26
  • 36
1

In order to mount CIFS volumes, the mount command needs to prepare a bit of extra information for the kernel, which is why you have to use a special mount.cifs command for that. The regular mount command will automatically defer to that as long as it is installed, so you don't normally see that.

Simon Richter
  • 2,913
  • 1
  • 21
  • 23
0

As mpy commented to the original question,

mount -t cifs //192.168.1.11/Files /mnt/files -o username=windows_user,password=windows_pwd

is doing the job. Just append the -o part to your command.

BusyBox v1.8.1

I also wanted to mention, that on my embedded system there is no mount.cifs available and anyway it works.

-1

Just put some quotes around the directory to escape the slashes. Also handy if there are spaces in directory names.

mount -t cifs '//192.168.1.123/Mateo Disk'  /dev/myData -o username=alison,password=monkey