Sharing files over a network with NFSBy Paul Stewart. Published: 15th Sep 2004, 14:49:47 | Permalink | Printable
RISC OS, Windows and Linux getting friendly [Updated]As users chose to supplement their RISC OS computers with a second machine, there grows a need to manage files over a network. With this in mind, Paul Stewart guides us through evaluating and configuring NFS with RISC OS and Windows.
Mini-Howto Networking RISC OS to a Windows PC is sometimes problematic. Various articles have been written on the issue in the past, whether they be about the physical connection or the configuration of RISC OS and Microsoft Windows.
The traditional way of connecting to Windows machines is via LanMan supplied as part of OmniClient by way of the SMB (or Samba) protocol. LanMan isn't particularly hot, with restrictions on filenames and speed. Much more satisfactory solutions are found in LanMan98 and LanManFS (although the RISC OS 5 version has notable bugs), which can be effective solutions. However, with more recent Windows versions (i.e. XP), it often involves altering settings deep within the Windows Registry in order to make it work.
Whilst SMB's origins are Windows, the Unix world has traditionally used NFS (Network filing system) for the sharing of files, and its use continues to be widespread. SMB and NFS also have slightly different security models - SMB is user/password based, whilst NFS relies upon Unix user ID and group ID access.
NFS is supported by RISC OS through OmniClient's NFS filesytem (which again has filename restrictions and is slow), Warm Silence Software's ImageNFS (commercial) and the recently developed Sunfish, by Alex Waugh. Sunfish is released under the GNU Public license. Under Linux and other Unixes, NFS is unsurprisingly, an integral part of the operating system. For Windows, an NFS server is provided by TrueGuid NFS discussed below.
Unlike ShareFS, which is a peer-to-peer file sharing system, both NFS and SMB have distinct clients and servers. This distinction is important because, for example, there's no NFS server for RISC OS meaning you can't browse your RISC OS files via NFS from Windows (although you could use the RISC OS Samba server). Below, we'll discuss how you can go about setting up an NFS system between your RISC OS and Windows computers.
- A RISC OS computer, connected to an existing TCP/IP network.
- An NFS client - for the purpose of this article we will be using Sunfish, available from here.
- A Windows computer, connected to an existing TCP/IP network.
- An NFS Server - for the purpose of this article we will be using True Grid NFS version 1. True Grid NFS server can be downloaded freely from here.
Before we begin, make sure you read through this article first to get an idea of what you need to do, and then get cracking with the installation and configuration steps.
Installing True Grid NFS server (Microsoft Windows)
Installing and configuring your NFS Server is easy. The NFS server is supplied as a single zip file. Unzip the file, using something suitable like Winzip, to a location of your choice. For the purpose of this article, we will assume you have unzipped it to C:NFS and that your operating system is installed to C:Windows and is WindowsNT based.
- Create folder "etc" in C:Windows
- Copy file C:NFSrpc to C:Windowsetc
- Copy file CNFSexports to C:Windowsetc
The Exports file is the method used by the True Grid NFS server to share folders and full details of the available options are included in the text files within the C:NFS folder. Your attention should be directed to install.txt. By use of the exports file you are able to share whole discs or just sub-folders. Security can also be applied to the shares and well as making them read only.
It is recommend you read the installation instructions provided within the NFS folder and the examples in the exports file to ensure you implement the most appropriate security for your installation.
True Grid NFS server comes pre-configured with both the C: and D: drives shared without any security implemented. The default shares are share access is everybody read/write, so be warned. The various options available for security are covered in the text files available in the C:NFS folder - see figure 1.
When running TrueGrid NFS server on a Windows NT platform (ie: Windows NT, Windows 2000 and Windows XP), you can set the NFS server to start automatically as a service, as shown in figure 2.
- Open a command prompt on Windows
- Navigate to the NFS folder "cd c:nfs"
- Type "PORTMAP add" (which adds TrueGrid PORTMAP service).
- Type "NFS add" (this adds TrueGrid NFS as a service).
- Type "NFS start" (starts PORTMAP AND NFS services).
Your NFS server is now started. By default, your C: and D: drives are shared without any security via the NFS server. The default share names are /c and /d.
Figure 3: Example c:windowsetcexports file
Installing Sunfish NFS client (RISC OS)
Download Sunfish from http://www.cp15.org/internet/. Sunfish is supplied as a zip archive and unzip this to a location of your choice. For the purpose of this article, we will assume it has been unzipped to $.Network.Sunfish.
Double click on !Sunfish and an icon will be installed on the left hand of the iconbar. Left or right clicking on the icon will open the Sunfish:mounts folder (this will be empty) (see Fig 4).
There are two ways to create a connection:
- Manually create it using your favourite text editor. More information about this is provided within the Sunfish program documentation.
- Create a new connection from within the program.
For the purpose of this article, the latter option will be used.
Press the middle mouse button whilst over the Sunfish iconbar icon and select 'New mount'. From the Create mount window (see Figure 6 below), the basics you need to connect to the default configuration of the TrueGrid NFS server are:
- This is the physical name of your Windows workstation.
- This is the name of the NFS share, as defined in the C:Windowsetcexports file
- Mount leafname
- This is the friendly RISC OS name for the share.
Type in the details appropriate to your installation.
Click the 'Create' button to create and open the share. As figure 7 shows, the share is automatically saved in the Sunfish:mounts folder and opened.
You can now begin accessing the files on the remote computer via the standard RISC OS filer window. All of the standard file operations are supported, such as copy, rename, delete and new directory. Working with the NFS share is as easy as working on your local hard disc.
Figure 8: Your Windows PC mounted on RISC OS
The speed should be more than than acceptable (although a 100Mbit connection on an Iyonix may be a significant improvement over a RiscPC's typically 10Mbit connection). MP3 music files and MPEG movies run without any issues from the remote workstation. Below is figure 9, which is a table produced from David Holden‘s HDspeed test program. This gives a comparison based on accessing an 8MB file from my local ADFS drive, the remote computer using OmniClient NFS and the remote computer using Sunfish NFS. The results produced are an interesting read.
Performed using a StrongARM 287MHz RPC, 50MB RAM, 100MB Simtec NIC, RISC OS Select 4.39. Remote PC is an AMD Athlon 1200, 512MB RAM, 3COM 10/100 NIC and Windows XP Pro (SP1a)
NFS on Linux
Setting up an NFS server on Linux can be a bit trickier, and we won't cover the full details here, since they can be quite involved. What you will need to install is an NFS server - under Debian you will need nfs-kernel-server if your kernel has NFS support in it (which gives better performance) or nfs-user-server.
The important file determining shares is /etc/exports ('man exports' describes this page in detail), and the exact setup can be notoriously difficult to get wrong for beginners. Don't forget to restart the server once this file is changed (/etc/init.d/nfs-kernel-server restart under Debian, for example).
One difference you might note with NFS versus Samba on Linux is that is NFS server doesn't resolve absolute symlinks - although in most cases this probably isn't a problem.
The NFS way of accessing files on a Windows workstations is easy to setup, configure and use. Whether or not you find it easier to use than a Samba solution will depend upon your familiarity with Windows and RISC OS networking - many users may already have a perfectly working Samba setup. Apart from its easy setup, some of the advantages of NFS over other solutions are:
- Free client and server software
- Long filenames
- Ease of installation and configuration for basic use
There you have it - don't be shy, give NFS a try yourself and see if you agree.
Update at 22:33 16/9/2004
Paul's updated us with some instructions for setting up the new Windows firewall in service pack 2 to work with the above NFS guide. You can read it all here.
SunFish NFS client
True Grid NFS
LanMan98 and ImageNFS (Warm Silence Software)
RISC OS Samba server
Linux NFS guide
Additional content by Drobe staff
Previous: Auto-built libraries from riscos.info
Next: Aemulor issues free bug fix upgrade
DiscussionViewing threaded comments | View comments unthreaded, listed by date | Skip to the end
Please login before posting a comment. Use the form on the right to do so or create a free account.
Search the archives
Today's featured article
RISC OS Memory Protection
Corruption at the lowest levels
25 comments, latest by Jaco on 30/4/05 9:54AM. Published: 25 Apr 2005
ARMDebug update: Singlestepping, OS trapping, memory editing wonder
Discuss this. Published: 15 Dec 2000
News and media:
RISCOS Ltd •
RISC OS Open •
MW Software •
Advantage Six •
CJE Micros •
Liquid Silicon •
Chris Why's Acorn/RISC OS collection •
The Register •
The Inquirer •
Apple Insider •
BBC News •
Sky News •
Google News •