Windows NFS 4.1 Client Instructions

1. Building

Requirements

Building the userspace daemon

  1. Open Windows Explorer and navigate to ms-nfs41-client\build.vc10.
  2. Make a copy of env.props.example, and rename it to env.props.
  3. Open env.props in a text editor, and verify that the value in <WDKPATH>C:\WinDDK\7600.16385.0</WDKPATH> points to your WinDDK installation.
  4. Open the solution file ms-nfs41-client.sln in Visual Studio 2010.
  5. Select the x64 platform and desired configuration (Debug or Release).
  6. Right-click on the daemon project and select Build. The project and its dependencies should build without errors. Binaries can be found under build.vc10\x64\(Configuration)\.

Building the driver

  1. From the Start menu, open the WinDDK 'x64 Checked Build Environment' for the target platform.
  2. Change directory to ms-nfs41-client and type build. The project should build without errors.

2. Installation

Requirements

Instructions

  1. Copy or extract all ms-nfs41-client binaries and configuration files into a directory that's convenient for testing.
  2. Open a WinDDK 'x64 Checked Build Environment' as Administrator in this directory (right click and 'Run as administrator').
  3. Create a certificate for test-signing the driver (Creating Test Certificates):
    > makecert /pe /ss PrivateCertStore /n CN=nfs41_test nfs41_test.cer
  4. Use the certificate to sign nfs41_driver.sys (Test-Signing a Driver File):
    > signtool sign /v /s PrivateCertStore /n nfs41_test /t http://timestamp.verisign.com/scripts/timestamp.dll nfs41_driver.sys
  5. Install the certificate to the 'Trusted Root Certificate Authorities' store:
    > certmgr /add /c nfs41_test.cer /s /r localMachine root
  6. Install the driver and update the registry:
    > install.bat
  7. Copy the libtirpc configuration:
    > mkdir C:\etc
    > copy etc_netconfig C:\etc\netconfig
  8. Allow windows to load test-signed drivers:
    > bcdedit /set testsigning on
  9. Reboot.

3. Mounting

Instructions

  1. From a Windows command prompt, run nfsd.exe.
  2. Open a new Windows command prompt and run nfs_mount.exe to mount a share:
    > nfs_mount.exe Z: nfs.citi.umich.edu:\
  3. You can later unmount with:
    > nfs_mount.exe -d Z

4. Connectathon

Requirements

Instructions

  1. Extract nfstests.zip into a directory that's convenient for testing (i.e. cthon04).
  2. Open a Cygwin shell, and change directory to cthon04.
  3. Create a git repository to track changes:
    > git init
    > git add *
    > git commit -m "files from nfstests.zip"
  4. Apply all cthon patches:
    > git am /path/to/ms-nfs41-client/tests/*.patch
  5. Build the tests:
    > make
  6. Run the test suite on a mounted directory:
    > ./runtests -a -t z:/testdir

5. Known Issues