Setting up NFS

IT 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.

IT 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:

you must be able to access the device as root. 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

  1. I'm installing wget just to get the nfs-common binary package to bypass
  2. 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

  1. 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

  1. Remove documentation to save some space on the device

Nokia-N800-26:~/nfstmp# rm -rf usr/share/man/ usr/share/doc/

  1. 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

  1. 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

  1. 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.

IT OS2006

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