]>
Commit | Line | Data |
---|---|---|
832b75ed GG |
1 | Smartmontools installation instructions |
2 | ======================================= | |
3 | ||
9ebc753d | 4 | $Id: INSTALL,v 1.72 2006/11/15 22:48:04 chrfranke Exp $ |
832b75ed GG |
5 | |
6 | Please also see the smartmontools home page: | |
7 | http://smartmontools.sourceforge.net/ | |
8 | ||
9 | Table of contents: | |
10 | ||
11 | [1] System requirements | |
12 | [2] Installing from CVS | |
13 | [3] Installing from source tarball | |
14 | [4] Guidelines for different Linux distributions | |
15 | [5] Guidelines for FreeBSD | |
16 | [6] Guidelines for Darwin | |
17 | [7] Guidelines for NetBSD | |
18 | [8] Guidelines for Solaris | |
19 | [9] Guidelines for Cygwin | |
20 | [10] Guidelines for Windows | |
21 | [11] Guidelines for OS/2, eComStation | |
22 | [12] Guidelines for OpenBSD | |
23 | [13] Comments | |
24 | [14] Detailed description of ./configure options | |
25 | ||
26 | [1] System requirements | |
27 | ======================= | |
28 | ||
29 | A) Linux | |
30 | ||
31 | Any Linux distribution will support smartmontools if it has a | |
32 | kernel version greater than or equal to 2.2.14. So any recent | |
33 | Linux distribution should support smartmontools. | |
34 | ||
35 | There are two parts of smartmontools that may require a patched or | |
36 | nonstandard kernel: | |
37 | ||
38 | (1) To get the ATA RETURN SMART STATUS command, the kernel needs | |
39 | to support the HDIO_DRIVE_TASK ioctl(). | |
40 | ||
41 | (2) To run Selective Self-tests, the kernel needs to support the | |
42 | HDIO_DRIVE_TASKFILE ioctl(). | |
43 | ||
44 | If your kernel does not support one or both of these ioctls, then | |
45 | smartmontools will "mostly" work. The things that don't work will | |
46 | give you harmless warning messages. | |
47 | ||
48 | Although "not officially supported" by the developers, smartmontools | |
49 | has also been successfully build and run on a legacy Linux system | |
50 | with kernel 2.0.33 and libc.so.5. On such systems, the restrictions | |
51 | above apply. | |
52 | ||
53 | For item (1) above, any 2.4 or 2.6 series kernel will provide | |
54 | HDIO_DRIVE_TASK support. Some 2.2.20 and later kernels also | |
55 | provide this support IF they're properly patched and | |
56 | configured. [Andre Hedrick's IDE patches may be found at | |
57 | http://www.funet.fi/pub/linux/kernel/people/hedrick/ide-2.2.20/ or | |
58 | are available from your local kernel.org mirror. They are not | |
59 | updated for 2.2.21 or later, and may contain a few bugs.]. | |
60 | If the configuration option CONFIG_IDE_TASK_IOCTL | |
61 | exists in your 2.2.X kernel source code tree, then your 2.2.X | |
62 | kernel will probably support this ioctl. [Note that this kernel | |
63 | configuration option does NOT need to be enabled. Its presence | |
64 | merely indicates that the required HDIO_DRIVE_TASK ioctl() is | |
65 | supported.] | |
66 | ||
67 | For item (2) above, your kernel must be configured with the kernel | |
68 | configuration option CONFIG_IDE_TASKFILE_IO enabled. This | |
69 | configuration option is present in all 2.4 and 2.6 series | |
70 | kernels. Some 2.2.20 and later kernels also provide this support | |
71 | IF they're properly patched and configured as described above. | |
72 | ||
73 | Please see FAQ section of the URL above for additional details. | |
74 | ||
75 | If you are using 3ware controllers, for full functionality you | |
76 | must either use version 1.02.00.037 or greater of the 3w-xxxx | |
77 | driver, or patch earlier 3ware 3w-xxxx drivers. See | |
78 | http://smartmontools.sourceforge.net/3w-xxxx.txt | |
79 | for the patch. The version 1.02.00.037 3w-xxxx.c driver was | |
80 | incorporated into kernel 2.4.23-bk2 on 3 December 2003 and into | |
81 | kernel 2.6.0-test5-bk11 on 23 September 2003. | |
82 | ||
83 | B) FreeBSD | |
84 | ||
85 | For FreeBSD support, a 5-current kernel that includes ATAng is | |
86 | required in order to support ATA drives. Even current versions of | |
87 | ATAng will not support 100% operation, as the SMART status can not | |
88 | be reliably retrieved. There is patch pending approval of the | |
89 | ATAng driver maintainer that will address this issue. | |
90 | ||
91 | C) Solaris | |
92 | ||
93 | The SCSI code has been tested on a variety of Solaris 8 and 9 | |
94 | systems. ATA/IDE code only works on SPARC platform. All tested | |
95 | kernels worked correctly. | |
96 | ||
97 | D) NetBSD/OpenBSD | |
98 | ||
99 | The code was tested on a 1.6ZG (i.e., 1.6-current) system. It should | |
100 | also function under 1.6.1 and later releases (unverified). Currently | |
101 | it doesn't support ATA devices on 3ware RAID controllers. | |
102 | ||
103 | E) Cygwin | |
104 | ||
9ebc753d | 105 | The code was tested on Cygwin 1.5.7, 1.5.11 and 1.5.18-22. It should |
ba59cff1 | 106 | also work on other recent releases. |
832b75ed GG |
107 | |
108 | Release 1.5.15 or later is recommended for Cygwin smartd. Older versions | |
109 | do not provide syslogd support. | |
110 | ||
111 | Both Cygwin and Windows versions of smartmontools share the same code | |
112 | to access the IDE/ATA or SCSI devices. The information in the "Windows" | |
113 | section below also applies to the Cygwin version. | |
114 | ||
115 | F) Windows | |
116 | ||
ba59cff1 GG |
117 | The code was tested on Windows 98SE, NT4(SP5,SP6), 2000(SP4), |
118 | XP(no SP,SP1a,SP2) and Vista RC 1. It should also work on Windows | |
119 | 95(OSR2), 98, ME and 2003. | |
832b75ed GG |
120 | |
121 | On 9x/ME, only standard (legacy) IDE/ATA devices 0-3 are supported. | |
122 | The driver SMARTVSD.VXD must be present in WINDOWS\SYSTEM\IOSUBSYS | |
123 | to get loaded at Windows startup. The default location in a new | |
124 | installation of some versions of Windows is the WINDOWS\SYSTEM folder. | |
125 | In this case, move SMARTVSD.VXD to WINDOWS\SYSTEM\IOSUBSYS and reboot | |
4d59bff9 GG |
126 | (http://support.microsoft.com/kb/265854/en-us). |
127 | SMARTVSD.VXD may also be missing in a new installation | |
128 | (http://support.microsoft.com/kb/199886/en-us). | |
832b75ed GG |
129 | |
130 | SMARTVSD.VXD relies on the standard IDE port driver ESDI_506.PDR. | |
131 | If the system uses a vendor specific driver, access of SMART data | |
132 | is not possible on 9x/ME. This is the case if e.g. the optional | |
133 | "IDE miniport driver" is installed on a system with VIA chipset. | |
134 | ||
4d59bff9 GG |
135 | Some ATA controllers (e.g. Promise) provided a custom SMARTVSD.VXD |
136 | for their Win9x/ME driver. To access SMART data from both the legacy | |
137 | (/dev/h[a-d]) and this additional (/dev/hd[e-h]) controller, rename | |
138 | this file to SMARTVSE.VXD. Open the file with a hex editor and replace | |
139 | all occurrences of the string "SMARTVSD" with "SMARTVSE". Then reinstall | |
140 | the original Windows SMARTVSD.VXD. | |
141 | ||
142 | On NT4/2000/XP/2003, ATA or SATA devices are supported if the device | |
143 | driver implements the SMART IOCTL. | |
832b75ed GG |
144 | |
145 | The IDE/ATA read log command (smartctl -l, --log, -a, --all) is | |
146 | not supported by the SMART IOCTL of NT4/2000/XP. Undocumented | |
147 | and possibly buggy system calls are used for this purpose, | |
148 | see WARNINGS file for details. | |
149 | ||
150 | SCSI devices are supported on all versions of Windows. An installed | |
151 | ASPI interface (WNASPI32.DLL) is required to access SCSI devices. | |
152 | The code was tested with Adaptec Windows ASPI drivers 4.71.2. | |
4d59bff9 GG |
153 | (http://www.adaptec.com/en-US/support/scsi_soft/ASPI/ASPI-4.70/) |
154 | Links to other ASPI drivers can be found at http://www.nu2.nu/aspi/. | |
155 | ||
ba59cff1 GG |
156 | 3ware 9000 RAID controllers are supported using new features available |
157 | in the Windows driver release 9.4.0 (3wareDrv.sys 3.0.2.70) or later. | |
158 | Older drivers provide SMART access to the first physical drive (port) | |
9ebc753d GG |
159 | of each logical drive (unit). If driver support is not available |
160 | (7000/8000 series, 9000 on XP 64), smartctl can be used to parse SMART | |
161 | data output from CLI or 3DM. | |
832b75ed GG |
162 | |
163 | G) MacOS/Darwin | |
164 | ||
165 | The code was tested on MacOS 10.3.4. It should work from 10.3 | |
166 | forwards. It doesn't support 10.2. | |
167 | ||
4d59bff9 GG |
168 | It's important to know that on 10.3.x, some things don't work |
169 | (see WARNINGS): due to bugs in the libraries used, you cannot run | |
170 | a short test or switch SMART support off on a drive; if you try, | |
171 | you will just run an extended test or switch SMART support on. So | |
172 | don't panic when your "short" test seems to be taking hours. | |
832b75ed GG |
173 | |
174 | It's also not possible at present to control when the offline | |
175 | routine runs. If your drive doesn't have it running automatically by | |
176 | default, you can't run it at all. | |
177 | ||
178 | SCSI devices are not currently supported. Detecting the power | |
179 | status of a drive is also not currently supported. | |
180 | ||
181 | To summarize this, from another point of view, the things that | |
182 | are not supported fall into two categories: | |
183 | ||
184 | * Can't be implemented easily without more kernel-level support, | |
185 | so far as I know: | |
186 | - running immediate offline, conveyance, or selective tests | |
187 | - running any test in captive mode | |
188 | - aborting tests | |
189 | - switching automatic offline testing on or off | |
190 | - support for SCSI | |
191 | - checking the power mode [-n Directive of smartd] (this is not | |
192 | completely impossible, but not by using a documented API) | |
193 | ||
4d59bff9 | 194 | * Work on 10.4 and later, but not on 10.3: |
832b75ed GG |
195 | - switching off SMART (switching *on* works fine) |
196 | - switching off auto-save (but why would you want to?) | |
197 | - running the short test (that leaves you with only the extended test) | |
198 | ||
832b75ed GG |
199 | However, some things do work well. For ATA devices, all the |
200 | informational output is available, unless you want something that only | |
4d59bff9 GG |
201 | an offline test updates. On many newer Mac OS systems, the |
202 | hard drive comes with the offline test switched on by default, so | |
203 | even that works. | |
832b75ed GG |
204 | |
205 | H) OS/2, eComStation | |
206 | ||
207 | The code was tested on eComStation 1.1, but it should work on all versions | |
208 | of OS/2. | |
209 | Innotek LibC 0.5 runtime is required. | |
210 | Currently only ATA disks are supported, SCSI support will be added. | |
211 | ||
212 | ||
213 | [2] Installing from CVS | |
214 | ======================= | |
215 | Get the sources from the CVS repository: | |
4d59bff9 GG |
216 | cvs -d :pserver:anonymous@smartmontools.cvs.sourceforge.net:/cvsroot/smartmontools login |
217 | cvs -d :pserver:anonymous@smartmontools.cvs.sourceforge.net:/cvsroot/smartmontools co sm5 | |
832b75ed GG |
218 | (when prompted for a password, just press Enter) |
219 | ||
220 | Then type: | |
221 | ./autogen.sh | |
222 | and continue with step [3] below, skipping the "unpack the tarball" step. | |
223 | ||
224 | Further details of using CVS can be found at the URL above. | |
225 | ||
226 | The autogen.sh command is ONLY required when installing from | |
227 | CVS. You need GNU Autoconf (version 2.50 or greater), GNU Automake | |
228 | (version 1.6 or greater) and their dependencies installed in order | |
229 | to run it. You can get these here: | |
230 | http://www.gnu.org/directory/GNU/autoconf.html | |
231 | http://www.gnu.org/directory/GNU/automake.html | |
232 | ||
233 | [3] Installing from the source tarball | |
234 | ====================================== | |
235 | ||
236 | If you are NOT installing from CVS, then unpack the tarball: | |
237 | tar zxvf smartmontools-5.VERSION.tar.gz | |
238 | ||
239 | Then: | |
240 | ./configure | |
241 | make | |
242 | make install (you may need to be root to do this) | |
243 | ||
244 | As shown (with no options to ./configure) this defaults to the | |
245 | following set of installation directories: | |
246 | --prefix=/usr/local | |
247 | --sbindir=/usr/local/sbin | |
248 | --sysconfdir=/usr/local/etc | |
249 | --mandir=/usr/local/share/man | |
250 | --with-docdir=/usr/local/share/doc/smartmontools-VERSION | |
251 | --with-initscriptdir=/usr/local/etc/rc.d/init.d | |
252 | --disable-sample | |
253 | ||
254 | These will usually not overwrite existing "distribution" installations on | |
255 | Linux Systems since the FHS reserves this area for use by the system | |
256 | administrator. | |
257 | ||
258 | For different installation locations or distributions, simply add | |
259 | arguments to ./configure as shown in [4] below. | |
260 | ||
261 | If you wish to alter the default C compiler flags, set an | |
262 | environment variable CFLAGS='your options' before doing | |
263 | ./configure, or else do: | |
264 | make CFLAGS='your options' | |
265 | ||
266 | [4] Guidelines for different Linux distributions | |
267 | ================================================ | |
268 | ||
269 | Note: Please send corrections/additions to: | |
270 | smartmontools-support@lists.sourceforge.net | |
271 | ||
272 | Debian: | |
273 | If you don't want to overwrite any distribution package, use: | |
274 | ./configure | |
275 | ||
276 | Filesystem Hierarchy Standard (FHS, http://www.pathname.com/fhs/): | |
277 | ./configure --sbindir=/usr/local/sbin \ | |
278 | --sysconfdir=/usr/local/etc \ | |
279 | --mandir=/usr/local/man \ | |
280 | --with-initscriptdir=/usr/local/etc/rc.d/init.d \ | |
281 | --with-docdir=/usr/local/share/doc/smartmontools-VERSION | |
282 | ||
283 | Red Hat: | |
284 | ./configure --sbindir=/usr/sbin \ | |
285 | --sysconfdir=/etc \ | |
286 | --mandir=/usr/share/man \ | |
287 | --with-initscriptdir=/etc/rc.d/init.d \ | |
288 | --with-docdir=/usr/share/doc/smartmontools-VERSION | |
289 | ||
290 | Slackware: | |
291 | If you don't want to overwrite any "distribution" package, use: | |
292 | ./configure | |
293 | ||
294 | Otherwise use: | |
295 | ./configure --sbindir=/usr/sbin \ | |
296 | --sysconfdir=/etc \ | |
297 | --mandir=/usr/share/man \ | |
298 | --with-initscriptdir=/etc/rc.d \ | |
299 | --with-docdir=/usr/share/doc/smartmontools-VERSION | |
300 | ||
301 | And | |
302 | removepkg smartmontools smartsuite (only root can do this) | |
303 | before make install | |
304 | ||
305 | The init script works on Slackware. You just have to add an entry like | |
306 | the following in /etc/rc.d/rc.M or /etc/rc.d/rc.local: | |
307 | ||
308 | if [ -x /etc/rc.d/smartd ]; then | |
309 | . /etc/rc.d/smartd start | |
310 | fi | |
311 | ||
312 | To disable it: | |
313 | chmod 644 /etc/rc.d/smartd | |
314 | ||
315 | For a list of options: | |
316 | /etc/rc.d/smartd | |
317 | ||
318 | SuSE: | |
319 | ./configure --sbindir=/usr/sbin \ | |
320 | --sysconfdir=/etc \ | |
321 | --mandir=/usr/share/man \ | |
322 | --with-initscriptdir=/etc/init.d \ | |
323 | --with-docdir=/usr/share/doc/packages/smartmontools-VERSION | |
324 | ||
325 | [5] Guidelines for FreeBSD | |
326 | ========================== | |
327 | To match the way it will installed when it becomes available as a PORT, use | |
328 | the following: | |
329 | ||
330 | ./configure --prefix=/usr/local \ | |
331 | --with-initscriptdir=/usr/local/etc/rc.d/ \ | |
332 | --with-docdir=/usr/local/share/doc/smartmontools-VERSION \ | |
333 | --enable-sample | |
334 | ||
335 | Also, it is important that you use GNU make (gmake from /usr/ports/devel/gmake) | |
336 | to build smartmontools, as the default FreeBSD make doesn't know how to build | |
337 | the man pages. | |
338 | ||
339 | NOTE: --enable-sample will cause the smartd.conf and smartd RC files to | |
340 | be installed with the string '.sample' append to the name, so you will end | |
341 | up with the following: | |
342 | /usr/local/etc/smartd.conf.sample | |
343 | /usr/local/etc/rc.d/smartd.sample | |
344 | ||
345 | ||
346 | [6] Guidelines for Darwin | |
347 | ========================= | |
348 | ./configure --with-initscriptdir=/Library/StartupItems | |
349 | ||
4d59bff9 GG |
350 | If you'd like to build the i386 version on a powerpc machine, you can |
351 | use | |
352 | ||
353 | CC='gcc -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386' \ | |
354 | ./configure --host=i386-apple-darwin \ | |
355 | --with-initscriptdir=/Library/StartupItems | |
832b75ed GG |
356 | |
357 | [7] Guidelines for NetBSD/OpenBSD | |
358 | ================================= | |
359 | ./configure --prefix=/usr/pkg \ | |
360 | --with-docdir=/usr/pkg/share/doc/smartmontools | |
361 | ||
362 | On OpenBSD, it is important that you use GNU make (gmake from | |
363 | /usr/ports/devel/gmake) to build smartmontools, as the BSD make doesn't | |
364 | know how to make the manpages. | |
365 | ||
366 | [8] Guidelines for Solaris | |
367 | ========================== | |
368 | ||
369 | smartmontools has been partially but not completely ported to | |
370 | Solaris. It includes complete SCSI support but no ATA or 3ware | |
371 | support. It can be compiled with either cc or gcc. To compile | |
372 | with gcc: | |
373 | ||
374 | ./configure [args] | |
375 | make | |
376 | ||
377 | To compile with Sun cc: | |
378 | ||
379 | setenv CC cc [csh syntax], or | |
380 | CC=cc [sh syntax] | |
381 | ./configure [args] | |
382 | make | |
383 | ||
384 | The correct arguments [args] to configure are: | |
385 | --sbindir=/usr/sbin \ | |
386 | --sysconfdir=/etc \ | |
387 | --mandir=/usr/share/man \ | |
388 | --with-docdir=/usr/share/doc/smartmontools-VERSION \ | |
389 | --with-initscriptdir=/etc/init.d | |
390 | ||
391 | To start the script automatically on bootup, create hardlinks that | |
392 | indicate when to start/stop in: | |
393 | /etc/rc[S0123].d/ | |
394 | pointing to /etc/init.d/smartd. Create: | |
395 | K<knum>smartd in rcS.d, rc0.d, rc1.d, rc2.d | |
396 | S<snum>smartd in rc3.d | |
397 | where <knum> is related to <snum> such that the higher snum is the | |
398 | lower knum must be. | |
399 | ||
400 | On usual configuration, '95' would be suitable for <snum> and '05' | |
401 | for <knum> respectively. If you choose these value, you can | |
402 | create hardlinks by: | |
403 | ||
404 | cd /etc | |
405 | sh -c 'for n in S 0 1 2; do ln init.d/smartd rc$n.d/K05smartd; done' | |
406 | sh -c 'for n in 3 ; do ln init.d/smartd rc$n.d/S95smartd; done' | |
407 | ||
408 | [9] Guidelines for Cygwin | |
409 | ========================= | |
410 | ||
411 | Same as Red Hat: | |
412 | ./configure --prefix=/usr \ | |
413 | --sysconfdir=/etc \ | |
414 | --mandir='${prefix}/share/man' | |
415 | ||
416 | OR EQUIVALENTLY | |
417 | ./configure --sbindir=/usr/sbin \ | |
418 | --sysconfdir=/etc \ | |
419 | --mandir=/usr/share/man \ | |
420 | --with-initscriptdir=/etc/rc.d/init.d \ | |
421 | --with-docdir=/usr/share/doc/smartmontools-VERSION | |
422 | ||
423 | Using DOS text file type as default for the working directories ("textmode" | |
424 | mount option) is not recommended. Building the binaries and man pages using | |
425 | "make" is possible, but "make dist" and related targets work only with UNIX | |
426 | file type ("binmode" mount option) set. The "autogen.sh" script prints a | |
427 | warning if DOS type is selected. | |
428 | ||
ba59cff1 GG |
429 | If installing from CVS, you may check out all files either with CR/LF |
430 | or LF line endings. Starting with release 3.1-7, Cygwin's bash does no | |
431 | longer accept scripts with CR/LF by default. To run the initial script | |
432 | ./autogen.sh checked out with CR/LF on a "binmode" mount, type: | |
433 | ||
434 | bash -O igncr ./autogen.sh | |
435 | ||
436 | instead. This is not necessary for the generated ./configure script. | |
437 | ||
832b75ed GG |
438 | [10] Guidelines for Windows |
439 | ========================== | |
440 | ||
441 | To compile the Windows release with MinGW, use the following on Cygwin: | |
442 | ||
443 | ./configure --build=mingw32 | |
444 | make | |
445 | ||
446 | Instead of using "make install", copy the .exe files into | |
447 | some directory in the PATH. | |
448 | ||
449 | To build the Windows binary distribution, use: | |
450 | ||
451 | make dist-win32 | |
4d59bff9 | 452 | |
832b75ed GG |
453 | This builds the distribution in directory |
454 | ||
455 | ./smartmontools-VERSION.win32/ | |
456 | ||
457 | and packs it into | |
458 | ||
459 | ./smartmontools-VERSION.win32.zip | |
460 | ||
4d59bff9 GG |
461 | To create a Windows installer, use: |
462 | ||
463 | make installer-win32 | |
464 | ||
465 | This builds the distribution directory and packs it into the | |
466 | self-extracting install program | |
467 | ||
468 | ./smartmontools-VERSION.win32-setup.exe | |
469 | ||
470 | The installer is build using the command "makensis" from the NSIS | |
471 | package. See http://nsis.sourceforge.net/ for documentation and | |
472 | download location. The install script was tested with NSIS 2.17. | |
473 | ||
474 | To both create and run the (interactive) installer, use: | |
475 | ||
476 | make install-win32 | |
477 | ||
832b75ed GG |
478 | Additional make targets are distdir-win32 to build the directory |
479 | only and cleandist-win32 for cleanup. | |
480 | ||
481 | The binary distribution includes all documentation files converted | |
482 | to DOS text file format and *.html and *.txt preformatted man pages. | |
483 | The tools unix2dos.exe (package cygutils) and zip.exe (package zip | |
484 | or a native Win32 release of Info-ZIP, http://www.info-zip.org) are | |
485 | necessary but may be not installed by Cygwin's default settings. | |
486 | ||
487 | It is also possible to compile smartmontools with MSVC 6.0. | |
488 | The project files (smartmontools_vc6.dsw, smart{ctl,d}_vc6.dsp) are | |
489 | included in CVS (but not in source tarball). The config_vc6.h is no | |
490 | longer maintained in CVS. The command: | |
491 | ||
492 | make config-vc6 | |
493 | ||
494 | builds config_vc6.h from MinGW's config.h. Unlike MinGW, MSVC 6.0 | |
495 | can also be used to build the syslog message file tool syslogevt.exe. | |
496 | See smartd man page for usage information about this tool. | |
497 | ||
498 | ||
499 | [11] Guidelines for OS/2, eComStation | |
500 | ===================================== | |
501 | ||
502 | To compile the OS/2 code, please run | |
503 | ||
504 | ./os_os2/configure.os2 | |
505 | make | |
506 | make install | |
507 | ||
508 | [12] Guidelines for OpenBSD | |
509 | ========================== | |
510 | To match the way it will installed when it becomes available as a PORT, use | |
511 | the following: | |
512 | ||
513 | ./configure --prefix=/usr/local \ | |
514 | --sysconfdir=/etc | |
515 | --with-initscriptdir=/usr/local/share/doc/smartmontools-VERSION \ | |
516 | --with-docdir=/usr/local/share/doc/smartmontools-VERSION \ | |
517 | --enable-sample | |
518 | ||
519 | It is important that you use GNU make (gmake from /usr/ports/devel/gmake) | |
520 | to build smartmontools, as the default OpenBSD make doesn't know how to build | |
521 | the man pages. | |
522 | ||
523 | NOTE1: --with-initscriptdir installs a SystemV startup script. It really | |
524 | should be --without-initscriptdir, but the Makefile code is incorrect and | |
525 | trys to install the initscript (smartd) to /no. So, an interim fix it to | |
526 | set the initscript dir to the doc dir. | |
527 | ||
528 | NOTE2: --enable-sample will cause the smartd.conf and smartd RC files to | |
529 | be installed with the string '.sample' append to the name, so you will end | |
530 | up with the following: | |
531 | /usr/local/etc/smartd.conf.sample | |
532 | /usr/local/etc/rc.d/smartd.sample | |
533 | ||
534 | [13] Comments | |
535 | ============ | |
536 | ||
537 | To compile from another directory, you can replace the step | |
538 | ./configure [options] | |
539 | by the following: | |
540 | mkdir objdir | |
541 | cd objdir | |
542 | ../configure [options] | |
543 | ||
544 | To install to another destination (used mainly by package maintainers, | |
545 | or to examine the package contents without risk of modifying any | |
546 | system files) you can replace the step: | |
547 | make install | |
548 | with: | |
549 | make DESTDIR=/home/myself/smartmontools-package install | |
550 | ||
551 | Use a full path. Paths like ~/smartmontools-package may not work. | |
552 | ||
553 | After installing smartmontools, you can read the man pages, and try | |
554 | out the commands: | |
555 | ||
556 | man smartd.conf | |
557 | man smartctl | |
558 | man smartd | |
559 | ||
560 | /usr/sbin/smartctl -s on -o on -S on /dev/hda (only root can do this) | |
561 | /usr/sbin/smartctl -a /dev/hda (only root can do this) | |
562 | ||
563 | Note that the default location for the manual pages are | |
564 | /usr/share/man/man5 and /usr/share/man/man8. If "man" doesn't find | |
565 | them, you may need to add /usr/share/man to your MANPATH environment | |
566 | variable. | |
567 | ||
568 | Source and binary RPM packages are available at | |
569 | http://sourceforge.net/project/showfiles.php?group_id=64297 | |
570 | ||
571 | Refer to http://smartmontools.sourceforge.net/index.html#howtodownload | |
572 | for any additional download and installation instructions. | |
573 | ||
574 | The following files are installed if ./configure has no options: | |
575 | ||
576 | /usr/local/sbin/smartd [Executable daemon] | |
577 | /usr/local/sbin/smartctl [Executable command-line utility] | |
578 | /usr/local/etc/smartd.conf [Configuration file for smartd daemon] | |
579 | /usr/local/etc/rc.d/init.d/smartd [Init/Startup script for smartd] | |
580 | /usr/local/share/man/man5/smartd.conf.5 [Manual page] | |
581 | /usr/local/share/man/man8/smartctl.8 [Manual page] | |
582 | /usr/local/share/man/man8/smartd.8 [Manual page] | |
583 | /usr/local/share/doc/smartmontools-5.X/AUTHORS [Information about the authors and developers] | |
584 | /usr/local/share/doc/smartmontools-5.X/CHANGELOG [A log of changes. Also see CVS] | |
585 | /usr/local/share/doc/smartmontools-5.X/COPYING [GNU General Public License Version 2] | |
586 | /usr/local/share/doc/smartmontools-5.X/INSTALL [Installation instructions: what you're reading!] | |
587 | /usr/local/share/doc/smartmontools-5.X/NEWS [Significant bugs discovered in old versions] | |
588 | /usr/local/share/doc/smartmontools-5.X/README [Overview] | |
589 | /usr/local/share/doc/smartmontools-5.X/TODO [Things that need to be done/fixed] | |
590 | /usr/local/share/doc/smartmontools-5.X/WARNINGS [Systems where lockups or other serious problems were reported] | |
591 | /usr/local/share/doc/smartmontools-5.X/smartd.conf [Example configuration file for smartd] | |
592 | /usr/local/share/doc/smartmontools-5.X/examplescripts [Executable scripts for -M exec of smartd.conf (4 files)] | |
593 | ||
594 | The commands: | |
595 | ||
596 | make htmlman | |
597 | make txtman | |
598 | ||
599 | may be used to build .html and .txt preformatted man pages. | |
600 | These are used by the dist-win32 make target to build the Windows | |
601 | distribution. | |
602 | The commands also work on other operating system configurations | |
603 | if suitable versions of man2html, groff and grotty are installed. | |
604 | On systems without man2html, the following command should work | |
605 | if groff is available: | |
606 | ||
607 | make MAN2HTML='groff -man -Thtml' htmlman | |
608 | ||
609 | ||
610 | [14] Detailed description of arguments to configure command | |
611 | =========================================================== | |
612 | ||
613 | When you type: | |
614 | ./configure [options] | |
615 | there are six particularly important variables that affect where the | |
616 | smartmontools software is installed. The variables are listed here, | |
617 | with their default values in square brackets, and the quantities that | |
618 | they affect described following that. This is a very wide table: please read | |
619 | it in a wide window. | |
620 | ||
621 | OPTIONS DEFAULT AFFECTS | |
622 | ------- ------- ------- | |
623 | --prefix /usr/local Please see below | |
624 | --sbindir ${prefix}/sbin Directory for smartd/smartctl executables; | |
625 | Contents of smartd/smartctl man pages | |
626 | --mandir ${prefix}/share/man Directory for smartctl/smartd/smartd.conf man pages | |
627 | --sysconfdir ${prefix}/etc Directory for smartd.conf; | |
628 | Contents of smartd executable; | |
629 | Contents of smartd/smartd.conf man pages; | |
630 | Directory for rc.d/init.d/smartd init script | |
631 | --with-initscriptdir ${sysconfdir}/init.d/rc.d Location of init scripts | |
632 | --with-docdir ${prefix}/share/doc/smartmontools-5.X Location of the documentation | |
633 | --enable-sample --disable-sample Adds the string '.sample' to the names of the smartd.conf file and the smartd RC file | |
634 | ||
635 | Here's an example: | |
636 | If you set --prefix=/home/joe and none of the other four | |
637 | variables then the different directories that are used would be: | |
638 | --sbindir /home/joe/sbin | |
639 | --mandir /home/joe/share/man | |
640 | --sysconfdir /home/joe/etc | |
641 | --with-initscriptdir /home/joe/etc/init.d/rc.d | |
642 | --with-docdir /home/joe/doc/smartmontools-5.X | |
643 | ||
644 | This is useful for test installs in a harmless subdirectory somewhere. | |
645 | ||
646 | Here are the four possible cases for the four variables above: | |
647 | ||
648 | Case 1: | |
649 | --prefix not set | |
650 | --variable not set | |
651 | ===> VARIABLE gets default value above | |
652 | ||
653 | Case 2: | |
654 | --prefix set | |
655 | --variable not set | |
656 | ===> VARIABLE gets PREFIX/ prepended to default value above | |
657 | ||
658 | Case 3: | |
659 | --prefix not set | |
660 | --variable set | |
661 | ===> VARIABLE gets value that is set | |
662 | ||
663 | Case 4: | |
664 | --prefix is set | |
665 | --variable is set | |
666 | ===> PREFIX is IGNORED, VARIABLE gets value that is set | |
667 | ||
668 | ||
669 | Here are the differences with and without --enable-sample, assuming | |
670 | no other options specified (see above for details) | |
671 | ||
672 | Case 1: | |
673 | --enable-sample provided | |
674 | ==> Files installed are: | |
675 | /usr/local/etc/smartd.conf.sample | |
676 | /usr/local/etc/rc.d/init.d/smartd.sample | |
677 | ||
678 | Case 2: | |
679 | --disable-sample provided or parameter left out | |
680 | ==> Files installed are: | |
681 | /usr/local/etc/smartd.conf | |
682 | /usr/local/etc/rc.d/init.d/smartd | |
683 | ||
684 | Additional information about using configure can be found here: | |
685 | http://www.gnu.org/software/autoconf/manual/autoconf-2.57/html_mono/autoconf.html#SEC139 |