2010-10-11 14:59:26 -04:00
< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
< html xmlns = "http://www.w3.org/1999/xhtml" >
< head >
< meta http-equiv = "Content-Type" content = "text/html; charset=utf-8" / >
< title > Windows NFS 4.1 Client Instructions< / title >
< link rel = "stylesheet" title = "CITI Default" href = "http://www.citi.umich.edu/format/citi.css" type = "text/css" / >
< link rel = "icon" href = "http://www.citi.umich.edu/images/citilogo-16x16.png" type = "image/png" / >
< link rel = "shortcut icon" href = "http://www.citi.umich.edu/images/citilogo-16x16.png" type = "image/png" / >
< style type = "text/css" >
/*< ![CDATA[*/
body { min-width: 600px; background-color: #DDDDFF; font-family: serif; }
#page { padding: 0 12px 0 12px; }
#content { margin: 12px 0 12px 0; padding: 8px; background-color: #FFFFFF; border: 1px solid #88A; }
#index { padding-right: 12px; float: right; background-color: #FFFFFF; border: 1px solid #88A; }
a { color: #0282b4; }
a:hover { color: #0244b4; }
h1 { font-size: 2em; text-align: center; background: none; }
h2 { margin: 24px 0 8px 0; font-variant: small-caps; border-bottom: 1px dashed #88A; }
h3 { margin-left: 8px; }
/*]]>*/
< / style >
< / head >
< body >
< div id = "page" >
< h1 > Windows NFS 4.1 Client Instructions< / h1 >
< div id = "content" >
< div id = "index" >
< ol >
< li > < a href = "#build" > Building< / a > < / li >
< li > < a href = "#install" > Installation< / a > < / li >
< li > < a href = "#mount" > Mounting< / a > < / li >
< li > < a href = "#cthon" > Connectation< / a > < / li >
< li > < a href = "#issues" > Known Issues< / a > < / li >
< / ol >
< / div >
< h2 > 1. < a name = "build" > Building< / a > < / h2 >
< h3 > Requirements< / h3 >
< ul >
2010-10-13 16:22:37 -04:00
< li > Windows Vista x64, Windows Server 2008 R2 x64, or Windows 7 x64. (Windows XP and previous versions are not supported. 32-bit builds have not been tested.)< / li >
2010-10-11 14:59:26 -04:00
< li > Windows Driver Development Kit (WinDDK 6000 or later)< / li >
2010-10-20 14:54:14 -04:00
< li > ms-nfs41-client source code:
< br / > < code > > git clone git://citi.umich.edu/projects/ms-nfs41-client.git< / code > < / li >
2010-10-11 14:59:26 -04:00
< / ul >
< h3 > Instructions< / h3 >
< ol >
2010-10-20 14:54:14 -04:00
< li > From the Start menu, open the WinDDK 'x64 Checked Build Environment' for the target platform.< / li >
< li > Change directory to < strong > ms-nfs41-client< / strong > and type < code > build< / code > . The project should build without errors.< / li >
2010-10-11 14:59:26 -04:00
< / ol >
< h2 > 2. < a name = "install" > Installation< / a > < / h2 >
< h3 > Requirements< / h3 >
< ul >
2010-10-20 14:54:14 -04:00
< li > ms-nfs41-client binaries: < strong > nfs41_driver.sys< / strong > , < strong > nfs41_np.dll< / strong > , < strong > libtirpc.dll< / strong > , < strong > nfs_install.exe< / strong > , < strong > nfsd.exe< / strong > , < strong > nfs_mount.exe< / strong > < / li >
< li > ms-nfs41-client configuration files: < strong > nfs41rdr.inf< / strong > , < strong > install.bat< / strong > , < strong > uninstall.bat< / strong > , < strong > etc_netconfig< / strong > < / li >
2010-10-11 14:59:26 -04:00
< / ul >
< h3 > Instructions< / h3 >
< ol >
< li > Copy or extract all ms-nfs41-client binaries and configuration files into a directory that's convenient for testing.< / li >
2010-10-13 16:22:37 -04:00
< li > Open a WinDDK 'x64 Checked Build Environment' as Administrator in this directory (right click and 'Run as administrator').< / li >
< li > Create a certificate for test-signing the driver (< a href = "http://msdn.microsoft.com/en-us/library/ff540213%28VS.85%29.aspx" title = "msdn.microsoft.com" > Creating Test Certificates< / a > ):
2010-10-20 14:54:14 -04:00
< br / > < code > > makecert /pe /ss PrivateCertStore /n CN=nfs41_test nfs41_test.cer< / code > < / li >
< li > Use the certificate to sign < strong > nfs41_driver.sys< / strong > (< a href = "http://msdn.microsoft.com/en-us/library/ff553467%28VS.85%29.aspx" title = "msdn.microsoft.com" > Test-Signing a Driver File< / a > ):
< br / > < code > > signtool sign /v /s PrivateCertStore /n nfs41_test /t http://timestamp.verisign.com/scripts/timestamp.dll nfs41_driver.sys< / code > < / li >
2010-10-13 16:22:37 -04:00
< li > Install the certificate to the 'Trusted Root Certificate Authorities' store:
2010-10-20 14:54:14 -04:00
< br / > < code > > certmgr /add /c nfs41_test.cer /s /r localMachine root< / code > < / li >
2010-10-11 14:59:26 -04:00
< li > Install the driver and update the registry:
2010-10-20 14:54:14 -04:00
< br / > < code > > install.bat< / code > < / li >
2010-10-11 14:59:26 -04:00
< li > Copy the libtirpc configuration:
2010-10-20 14:54:14 -04:00
< br / > < code > > mkdir C:\etc< / code >
< br / > < code > > copy etc_netconfig C:\etc\netconfig< / code > < / li >
2010-10-11 14:59:26 -04:00
< li > Allow windows to load test-signed drivers:
2010-10-20 14:54:14 -04:00
< br / > < code > > bcdedit /set testsigning on< / code > < / li >
2010-10-11 14:59:26 -04:00
< li > Reboot.< / li >
< / ol >
< h2 > 3. < a name = "mount" > Mounting< / a > < / h2 >
< h3 > Instructions< / h3 >
< ol >
2010-10-20 14:54:14 -04:00
< li > From a Windows command prompt, run < strong > nfsd.exe< / strong > .< / li >
< li > Open a new Windows command prompt and run < strong > nfs_mount.exe< / strong > to mount a share:
< br / > < code > > nfs_mount.exe Z: nfs.citi.umich.edu:\< / code > < / li >
2010-10-11 14:59:26 -04:00
< li > You can later unmount with:
2010-10-20 14:54:14 -04:00
< br / > < code > > nfs_mount.exe -d Z< / code > < / li >
2010-10-11 14:59:26 -04:00
< / ol >
< h2 > 4. < a name = "cthon" > Connectathon< / a > < / h2 >
< h3 > Requirements< / h3 >
< ul >
2010-10-13 16:22:37 -04:00
< li > < a href = "http://www.cygwin.com" title = "www.cygwin.com" > Cygwin< / a > , including packages gcc-core, make, time, tirpc, git< / li >
< li > < a href = "http://www.connectathon.org/nfstests.html" title = "www.connectathon.org" > Connectathon Test Suite< / a > < / li >
2010-10-20 14:54:14 -04:00
< li > ms-nfs41-client source code (patches for connectathon are located in < strong > ms-nfs41-client\tests< / strong > )< / li >
2010-10-11 14:59:26 -04:00
< / ul >
< h3 > Instructions< / h3 >
< ol >
2010-10-20 14:54:14 -04:00
< li > Extract < strong > nfstests.zip< / strong > into a directory that's convenient for testing (i.e. < strong > cthon04< / strong > ).< / li >
< li > Open a Cygwin shell, and change directory to < strong > cthon04< / strong > .< / li >
2010-10-13 16:22:37 -04:00
< li > Create a git repository to track changes:
2010-10-20 14:54:14 -04:00
< br / > < code > > git init< / code >
< br / > < code > > git add *< / code >
< br / > < code > > git commit -m "files from nfstests.zip"< / code > < / li >
2010-10-13 16:22:37 -04:00
< li > Apply all cthon patches:
2010-10-20 14:54:14 -04:00
< br / > < code > > git am /path/to/ms-nfs41-client/tests/*.patch< / code > < / li >
2010-10-13 16:22:37 -04:00
< li > Build the tests:
2010-10-20 14:54:14 -04:00
< br / > < code > > make< / code > < / li >
2010-10-11 14:59:26 -04:00
< li > Run the test suite on a mounted directory:
2010-10-20 14:54:14 -04:00
< br / > < code > > ./runtests -a -t z:/testdir< / code > < / li >
2010-10-11 14:59:26 -04:00
< / ol >
< h2 > 5. < a name = "issues" > Known Issues< / a > < / h2 >
< ul >
2010-10-13 16:22:37 -04:00
< li > AUTH_SYS is not fully implemented, and uses a fake uid=666 and gid=777. Keep this in mind when setting up exports.< / li >
2010-10-11 14:59:26 -04:00
< li > When nfs_mount.exe is run without arguments, it does not properly list mounted drives.< / li >
< li > If nfsd.exe is restarted while a drive is mapped, that drive needs to be remounted before further use.< / li >
2010-10-13 16:22:37 -04:00
< li > Symbolic links are not supported in Cygwin. Connectathon's basic test8 and special test nfsidem have been commented out.< / li >
< li > Does not properly handle renaming a file on top of an existing open file- the existing file is removed on rename, and not preserved until last close. Connectathon's special test op_ren has been commented out.< / li >
2010-10-11 14:59:26 -04:00
< / ul >
< / div >
< / div >
< / body >
< / html >