-
Notifications
You must be signed in to change notification settings - Fork 0
/
README.txt
173 lines (123 loc) · 5.77 KB
/
README.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
Ninefs
http://code.google.com/p/ninefs
A 9p filesystem for windows using dokan
Tim Newsham
2010 Jan 5
This is still work in progress and has some rough edges. It has not
yet seen heavy use and may have bugs and may corrupt your data or
crash your system. The code is listed as a BSD license on the google
code hosting page, but all code is placed in the public domain.
NAME
ninefs [-cdDtU] [-a authserv] [-p passwd] [-u user] addr driveletter
dokanctl /u driveletter
DESCRIPTION
Ninefs mounts a remote 9p resource as a filesystem on the local
windows machine. It takes an address in the form "tcp!hostname!port"
or simply "hostname" or "hostname!port" and makes a connection to
a 9p server at that address and mounts it as the windows driveletter
specified. After the drive has been mounted it can be unmounted
using the dokanctl program.
The p option specifies a password to use for authentication. If
unspecified, authentication is not attempted. Authentication makes
use of an authentication server. The a option specifies an address
for this server in the same format as the addr argument. If ommited,
addr argument is used in its place except with a different default
port.
The U option disables 9P2000.u support.
The c, d and D options turn on different debug tracing options. D
turns on dokan debugging messages, c turns on chatty npfs messages
and d turns on ninefs's own debug messages.
In normal operation spaces in windows filenames are converted to
question marks and a best effort is made to convert characters to
unicode. When the t option is enabled this translation is disabled
and errors caused during unicode translation cause errors to be
returned. If a filename translation cause an error during a directory
listing, that entry is silently dropped from the listing.
BUGS
This is an early release and is sure to have many. In particular,
error codes are not well mapped and very simplistic rules are used
to convert between unicode utf16 and utf8 strings. Many
important features are missing such as the ability to specify an
attach name.
If the addr argument specifies a port it will not be suitable to
specify the authentication address. In this case the a option must
be used even if the authentication server is running on the same
machine.
SOURCE
svn checkout http://ninefs.googlecode.com/svn/trunk/ ninefs
SEE ALSO
http://code.google.com/p/ninefs
dokanctl
BINARY INSTALL
The download site has prebuilt binaries:
http://ninefs.googlecode.com/files/ninefs.exe
http://ninefs.googlecode.com/files/dokan-binaries.zip
To install and use these:
- Download and install the latest OpenSSL from
http://www.slproweb.com/products/Win32OpenSSL.html
The "Light" version is sufficient. You may also have to
install the VC++ 2008 Redistributables likned from this site.
- unzip dokan-binaries.zip and copy the files into place.
You will need to be administrator:
copy *.exe c:\windows\system32
copy *.dll c:\windows\system32
copy *.sys c:\windows\system32\drivers
- install dokan
dokanctl /i a
- install ninefs
copy ninefs.exe c:\windows\system32
- Mount something and test it out
ninefs tcp!sources.cs.bell-labs.com s
(in another window)
dir s:\plan9\sys\src\9\port
dokanctl /u s
BUILDING
To build you will need a microsoft compiler. I'm using WinDDK
and do my builds using the x86 Checked Build Environment. Other
compilers will probably work, but if you use WinDDK you can also
build Dokan from sources. This is how I build:
- Get a binary copy of the OpenSSL library and install it. The
build files expect it to be in c:\openssl. If it is placed elsewhere
edit the OPENSSL definition in the "sources" files.
- Get dokan, npfs and ninefs sources. Place all source trees
under a common directory.
- Build npfs for windows. Note, you don't need to make all of the
directories, just npfs, libnpclient and libnpauth. If you're
OpenSSL install is not in c:\openssl you will need to edit
libnpauth\sources appropriately.
svn co https://npfs.svn.sourceforge.net/svnroot/npfs/npfs/trunk npfs
cd npfs
cd libnpfs; nmake /f ntmakefile
cd ..\libnpclient; nmake /f ntmakefile
cd ..\libnpauth; nmake /f ntmakefile
cd ..\..
- Build and install dokan according to
http://dokan-dev.net/en/docs/how-to-build-dokan-library/
svn co http://dokan.googlecode.com/svn/trunk dokan
cd dokan
cd dokan; build /wcbg
copy objchk_wxp_x86\i386\dokan.dll c:\windows\system32
cd ..\dokan_control; build /wcbg
copy objchk_wxp_x86\i386\dokanctl.exe c:\windows\system32
cd ..\dokan_mount; build /wcbg
copy objchk_wxp_x86\i386\mounter.exe c:\windows\system32
cd ..\sys; build /wcbg
copy objchk_wxp_x86\i386\dokan.sys c:\windows\system32\drivers
cd ..\..
dokanctl /i a
- Build ninefs. If your OpenSSL installation is not in c:\openssl
you will need to edit ninefs\sources appropriately.
svn checkout http://ninefs.googlecode.com/svn/trunk/ ninefs
cd ninefs
build /wcbg
copy objchk_wxp_x86\i386\ninefs.exe c:\windows\system32
cd ..
- Mount something and test it out
ninefs tcp!sources.cs.bell-labs.com s
(in another window)
dir s:\plan9\sys\src\9\port
dokanctl /u s
Note: if you place the files in different locations you will
likely have to edit the ninefs/sources file to reflect your
chosen paths. Likewise if you don't build dokan yourself, you
will need to update the paths to point to the prebuilt dokan.lib.