File transfer
From Openmoko
(→FTP: encrypt for nothing?) |
|||
(7 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
+ | {{languages}} | ||
The Openmoko hardware and software offer several ways to transfer files to and from the system. | The Openmoko hardware and software offer several ways to transfer files to and from the system. | ||
Line 23: | Line 24: | ||
For convenience, add this to your <tt>~/.ssh/config</tt>, then you can replace <tt>root@192.168.0.202</tt> with <tt>moko</tt>. This also works for sshfs. | For convenience, add this to your <tt>~/.ssh/config</tt>, then you can replace <tt>root@192.168.0.202</tt> with <tt>moko</tt>. This also works for sshfs. | ||
− | Host | + | Host moko |
− | HostName | + | HostName 192.168.0.202 |
− | User | + | User root |
== SSHFS == | == SSHFS == | ||
You can use sshfs to mount directories on your Openmoko smartphone into directories on your desktop computer. Sshfs uses and fuse, so you need to have access to <tt>/dev/fuse</tt> by adding yourself to the <tt>fuse</tt> group. | You can use sshfs to mount directories on your Openmoko smartphone into directories on your desktop computer. Sshfs uses and fuse, so you need to have access to <tt>/dev/fuse</tt> by adding yourself to the <tt>fuse</tt> group. | ||
+ | |||
+ | * Ensure sshfs is installed. | ||
+ | $ sudo apt-get install sshfs | ||
+ | * Ensure the fuse module is loaded. (Should already be running in ubuntu). | ||
+ | $ lsmod | grep fuse | ||
+ | * If not just do the following, | ||
+ | $ sudo modprobe fuse | ||
+ | * Add user to fuse group replacing username with whichever username you need. | ||
+ | $ sudo adduser username fuse | ||
This <tt>Makefile</tt> makes it very easy to mount and umount sshfs. | This <tt>Makefile</tt> makes it very easy to mount and umount sshfs. | ||
Line 72: | Line 82: | ||
client (on Neo: 'mount -t nfs ...' or edit /etc/fstab and '/etc/init.d/mountnfs.sh start') | client (on Neo: 'mount -t nfs ...' or edit /etc/fstab and '/etc/init.d/mountnfs.sh start') | ||
− | server | + | My Neo didn't have a mount.nfs(4), although it did have nfs in the /proc/filesystems. `opkg list | grep nfs` also had nothing. Here is how I how my NFS: |
+ | Find nfs-common for armel (not just 'arm') here: | ||
+ | http://packages.debian.org/sid/armel/nfs-common/download | ||
+ | Download and install it on the Neo like this: | ||
+ | cd /tmp | ||
+ | wget ftp://ftp.debian.org/debian/pool/main/n/nfs-utils/nfs-common_1.1.4-1_armel.deb | ||
+ | ar -x nfs-common_* data.tar.gz | ||
+ | tar -xz -C / -f data.tar.gz | ||
+ | rm -f nfs-common_* data.tar.gz | ||
+ | cd - | ||
+ | Now you can mount.nfs4 as normal. | ||
+ | Note that the above also installs manpages and nonsense. Also, since we didn't use the real APT or dpkg tools (because they're not part of OpenEmbedded), this doesn't authenticate packages. | ||
+ | |||
+ | server: man 5 exportfs | ||
== HTTP == | == HTTP == | ||
Line 78: | Line 101: | ||
== MicroSD == | == MicroSD == | ||
− | + | None to date. | |
− | + | ||
− | + | ||
== SFTP == | == SFTP == | ||
Line 90: | Line 111: | ||
== FTP == | == FTP == | ||
− | FTP is currently considered insecure. There is no | + | FTP is currently considered insecure. There is no reason to use FTP, SFTP should be used instead. |
(But wait, if one's network is just the desktop and the phone, aren't all the encrypted methods a little wasteful?) | (But wait, if one's network is just the desktop and the phone, aren't all the encrypted methods a little wasteful?) | ||
Line 100: | Line 121: | ||
*Bluetooth (except via other network methods) | *Bluetooth (except via other network methods) | ||
− | [[Category: | + | [[Category:Middleware]] |
Latest revision as of 13:28, 15 September 2009
![]() |
Languages: |
English • العربية • Български • Česky • Dansk • Deutsch • Esperanto • Eesti • Español • فارسی • Suomi • Français • עברית • Magyar • Italiano • 한국어 • Nederlands • Norsk (bokmål) • Polski • Português • Română • Русский • Svenska • Slovenčina • Українська • 中文(中国大陆) • 中文(台灣) • Euskara • Català |
The Openmoko hardware and software offer several ways to transfer files to and from the system.
Contents |
[edit] SCP
Examples use the IP address of the default USB network setup on Om 2008.8. If you use a different connection, for example Wifi, use the Wifi IP address of the phone.
copy a file from Openmoko smartphone to to PC type this on your PC:
scp root@192.168.0.202:/full/path/to/filename .
from phone's /home/root you can use shorter format:
scp root@192.168.0.202:filename .
to copy file to the SD card in phone type this on your PC:
scp filename root@192.168.0.202:/media/card/
to recursively copy a directory to the phone, use -r:
scp -r somedirectory root@192.168.0.202:
For convenience, add this to your ~/.ssh/config, then you can replace root@192.168.0.202 with moko. This also works for sshfs.
Host moko HostName 192.168.0.202 User root
[edit] SSHFS
You can use sshfs to mount directories on your Openmoko smartphone into directories on your desktop computer. Sshfs uses and fuse, so you need to have access to /dev/fuse by adding yourself to the fuse group.
- Ensure sshfs is installed.
$ sudo apt-get install sshfs
- Ensure the fuse module is loaded. (Should already be running in ubuntu).
$ lsmod | grep fuse
- If not just do the following,
$ sudo modprobe fuse
- Add user to fuse group replacing username with whichever username you need.
$ sudo adduser username fuse
This Makefile makes it very easy to mount and umount sshfs.
# Usage: set the three vars here and then type # make moko # that will create "moko" in the current dir and mount the specified path # You need sshfs installed and your user added to "fuse" group on your PC. moko_h=root@192.168.0.202 moko_p=/ mokocard_h=$(moko_h) mokocard_p=/media/card #remote_h=example.org # host or ip # to specify a user, add $USER@ or add appropriate line in ~/.ssh/config #remote_p=/path/to/mount # uses home if left empty %: mkdir -p $(PWD)/$* sshfs -C -o reconnect -o idmap=user $($*_h):$($*_p) $(PWD)/$* || rmdir $(PWD)/$* # makes symlinks appear as real files/dirs, can be useful sometimes %_: mkdir -p $(PWD)/$* sshfs -C -o reconnect -o idmap=user -o follow_symlinks $($*_h):$($*_p) $(PWD)/$* || rmdir $(PWD)/$* # "make moko-" unmounts %-: -fusermount -u $(PWD)/$* rmdir $(PWD)/$*
- Originally created by Zash for convenient web server access.
Type make moko to mount and make moko- to umount, once you have USB_Networking set up.
[edit] TFTP
client ('tftp')
server?
[edit] NFS
client (on Neo: 'mount -t nfs ...' or edit /etc/fstab and '/etc/init.d/mountnfs.sh start')
My Neo didn't have a mount.nfs(4), although it did have nfs in the /proc/filesystems. `opkg list | grep nfs` also had nothing. Here is how I how my NFS:
Find nfs-common for armel (not just 'arm') here: http://packages.debian.org/sid/armel/nfs-common/download Download and install it on the Neo like this: cd /tmp wget ftp://ftp.debian.org/debian/pool/main/n/nfs-utils/nfs-common_1.1.4-1_armel.deb ar -x nfs-common_* data.tar.gz tar -xz -C / -f data.tar.gz rm -f nfs-common_* data.tar.gz cd -
Now you can mount.nfs4 as normal. Note that the above also installs manpages and nonsense. Also, since we didn't use the real APT or dpkg tools (because they're not part of OpenEmbedded), this doesn't authenticate packages.
server: man 5 exportfs
[edit] HTTP
client (on Neo: 'wget',web browser)
[edit] MicroSD
None to date.
[edit] SFTP
SFTP can be an excellent way to transfer files as it is supported by many possible clients on the desktop machine. After USB network is set up, it is possible to try to open sftp connection by entering sftp://192.168.0.202 or sftp://{username}:{password}@192.168.0.202 into the address bar of the browser that supports sftp.
You can also use the sftp console client under Linux or something like psftp.exe, the sftp client that goes with PuTTY for Windows.
Name and password is the same as for normal logins (root and no password by default).
[edit] FTP
FTP is currently considered insecure. There is no reason to use FTP, SFTP should be used instead.
(But wait, if one's network is just the desktop and the phone, aren't all the encrypted methods a little wasteful?)
[edit] USB Mass Storage
The Freerunner can be configured to appear as a USB mass storage device to the desktop. see Using the Neo as a Mass storage device.
[edit] Common methods not supported
- Bluetooth (except via other network methods)