Setting up NFS

Line 157: Line 157:
-
[[Category:HowTos]]
+
[[Category:Users]]
[[Category:Midgard wiki]]
[[Category:Midgard wiki]]

Revision as of 18:47, 6 June 2008

Image:Ambox_content.png
This is an article from the old midgard wiki that hasn't yet been fully updated for this wiki, please update it.
Please see the talk page for discussion.


OS2008

This chapter shows an example of how to set up your N800/N810 as an NFS client.

These instructions are valid for IT OS2008, which was released in November 2007.

The prerequisites are:

  1. you must be able to access the device as root.
  2. repository.maemo.org is in your apt sources list.

The first requirement can be fulfilled in a number of ways (RD mode, becomeroot or openssh server). My favorite is the ssh approach, since then I can utilize my PC's keyboard for entering all the commands.

The second is achieved by adding repository.maemo.org / chinook / free non-free to the Application manager catalogue or by editing /etc/apt/sources.list accordingly.

During this process we're going to need to install a few extra packages and load some kernel modules. Once we're done, your device will be ready to do NFS mounts.

The following packages will be needed; rx-34-kernel-modules-extra, nfs-common and portmap.

  • rx-34-kernel-modules-extra contains the necessary kernel modules
  • nfs-common contains other tools
  • portmap contains the protocol port number conversion server that is needed for NFS.

This is a log of how I performed the install:

 $ ssh <device_ip> -l root
 root@<device_ip>'s password: 

 BusyBox v1.6.1 (2007-09-27 18:08:59 EEST) Built-in shell (ash)
 Enter 'help' for a list of built-in commands.

 Nokia-N810:~# apt-get install rx-34-kernel-modules-extra
 Nokia-N810:~# apt-get install portmap
 Nokia-N810:~# apt-get install nfs-common    

 # Now it's time to load the kernel modules. The order is important:
 Nokia-N810:/lib/modules/2.6.21-omap1/extra# insmod sunrpc.ko
 Nokia-N810:/lib/modules/2.6.21-omap1/extra# insmod lockd.ko
 Nokia-N810:/lib/modules/2.6.21-omap1/extra# insmod nfs.ko

 # The device is ready, now just mount your NFS partition:
 Nokia-N810:~# mkdir /mnt/mountpoint
 Nokia-N810:~# mount -t nfs <nfs_server_ip>:/some/directory /mnt/mountpoint

That should do it! For the mount to work, your NFS host needs to be configured correctly and that's out of the scope of this wiki page. Just be wary of the user id mappings etc. if you want to use the mountpoint as a non-root user.

OS2007

This chapter shows an example of how to set up your N800 as an NFS client.

These instructions are valid for the IT OS 2007 (version 4.2007.26-8), which was released in June 2007 for the N800 device.

The prerequisites are:

  1. you must be able to access the device as root.
  2. repository.maemo.org is in your apt sources list.

The first requirement can be fulfilled in a number of ways (RD mode, becomeroot or openssh server). My favorite is the ssh approach, since then I can utilize my PC's keyboard for entering all the commands.

The second is achieved by adding repository.maemo.org / bora / free non-free to the Application manager catalogue or by editing /etc/apt/sources.list accordingly.

During this process we're going to need to install a few extra packages and load some kernel modules. Once we're done, your device will be ready to mount NFS partitions from another computer.

The following packages will be needed; portmap, rx-34-kernel-nfs-modules, nfs-common. However, nfs-common is currently broken and it needs to be installed by hand instead of apt-get or the application manager.

  • portmap contains the protocol port number conversion server that is needed for NFS.
  • rx-34-kernel-nfs-modules contains the necessary kernel modules
  • nfs-common contains other tools

This is a recording of how I installed the packages and kernel modules:

$ ssh <device_ip> -l root
root@<device_ip>'s password: 

BusyBox v1.4.1 (2007-03-12 19:00:25 EET) Built-in shell (ash)
Enter 'help' for a list of built-in commands.

Nokia-N800-26:~# apt-get install rx-34-kernel-nfs-modules
Nokia-N800-26:~# apt-get install portmap

# I'm installing wget just to get the nfs-common binary package to bypass
# the dependency problems with it
Nokia-N800-26:~# apt-get install wget

Nokia-N800-26:~# wget http://repository.maemo.org/pool/bora/free/binary/nfs-common_1.0.6-3.1sdk1_armel.deb
Nokia-N800-26:~# ls -l
-rw-r--r--    1 root     root        60744 Jul  4 12:30 nfs-common_1.0.6-3.1sdk1_armel.deb

# Unpack the deb file to a temporary directory
Nokia-N800-26:~# dpkg -x nfs-common_1.0.6-3.1sdk1_armel.deb nfstmp

Nokia-N800-26:~# cd nfstmp
Nokia-N800-26:~/nfstmp# ls -l
drwxr-xr-x    4 root     root            0 Aug 31 13:39 etc
drwxr-xr-x    2 root     root            0 Aug 31 13:39 sbin
drwxr-xr-x    4 root     root            0 Aug 31 13:39 usr
drwxr-xr-x    3 root     root            0 Aug 31 13:39 var

# Remove documentation to save some space on the device
Nokia-N800-26:~/nfstmp# rm -rf usr/share/man/ usr/share/doc/

# Copy the rest of the directories to root
Nokia-N800-26:~/nfstmp# cp -r etc sbin usr var /
Nokia-N800-26:~/nfstmp# cd /lib/modules/current/
Nokia-N800-26:/lib/modules/current# ls -l
-rw-r--r--    1 root     root         5922 Dec  5  2006 exportfs.ko
-rw-r--r--    1 root     root        72921 Dec  5  2006 lockd.ko
-rw-r--r--    1 root     root       263290 Dec  5  2006 nfs.ko
-rw-r--r--    1 root     root       109606 Dec  5  2006 nfsd.ko
-rw-r--r--    1 root     root       153963 Dec  5  2006 sunrpc.ko

# Now it's time to load the kernel modules. The order is important:
Nokia-N800-26:/lib/modules/current# insmod sunrpc.ko
Nokia-N800-26:/lib/modules/current# insmod lockd.ko
Nokia-N800-26:/lib/modules/current# insmod nfs.ko

# The device is ready, now just mount your NFS partition:
Nokia-N800-26:~# mkdir /mnt/mountpoint
Nokia-N800-26:~# mount -t nfs <nfs_server_ip>:/some/directory /mnt/mountpoint

That should do it! For the mount to work, your NFS host needs to be configured correctly and that's out of the scope of this wiki page. Just be wary of the user id mappings etc. if you want to use the mountpoint as a non-root user.

OS2006

For the 770 / maemo 2.x see HowToNFS 06.

This should be valid for older IT OS 2006 firmware.

NFS should work without a new kernel

Go into redpill mode. Install the following packages

portmap rx-34-kernel-nfs-modules nfs-common

nfs-common on the N800 bora release will require adduser which will require perl-base. These two packages can be installed from a gregale repository. http://repository.maemo.org/pool/gregale/free/



Download this kernel image that have NFS support build in kernel http://maemo.org/maemowiki/ApplicationCatalog2006#head-dee0bccd8ad8d16e82f29bfa051ecc468fb009e5

open xterm and type this command as root for install portmap:

apt-get install nfs-common

then NFS is ready to use.

For see it in File Manager create a dir in MyDocs:

mkdir /home/user/MyDocs/.nfs
# portmap
# mount -t nfs x.y.v.z:/foo /home/user/MyDocs/.nfs

skler LudgerHumbert: changed to .nfs and from //x.y... to x.y...