Annotation of embedaddon/smartmontools/INSTALL, revision 1.1.1.2
1.1 misho 1: Smartmontools installation instructions
2: =======================================
3:
1.1.1.2 ! misho 4: $Id: INSTALL 3555 2012-06-01 21:07:33Z chrfranke $
1.1 misho 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 SVN
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: For item (1) above, any 2.4 or 2.6 series kernel will provide
49: HDIO_DRIVE_TASK support. Some 2.2.20 and later kernels also
50: provide this support IF they're properly patched and
51: configured. [Andre Hedrick's IDE patches may be found at
52: http://www.nic.funet.fi/pub/linux/kernel/people/hedrick/ide-2.2.20/
53: or are available from your local kernel.org mirror. They are not
54: updated for 2.2.21 or later, and may contain a few bugs.].
55: If the configuration option CONFIG_IDE_TASK_IOCTL
56: exists in your 2.2.X kernel source code tree, then your 2.2.X
57: kernel will probably support this ioctl. [Note that this kernel
58: configuration option does NOT need to be enabled. Its presence
59: merely indicates that the required HDIO_DRIVE_TASK ioctl() is
60: supported.]
61:
62: For item (2) above, your kernel must be configured with the kernel
63: configuration option CONFIG_IDE_TASKFILE_IO enabled. This
64: configuration option is present in all 2.4 and 2.6 series
65: kernels. Some 2.2.20 and later kernels also provide this support
66: IF they're properly patched and configured as described above.
67:
68: Please see FAQ section of the URL above for additional details.
69:
70: If you are using 3ware controllers, for full functionality you
71: must either use version 1.02.00.037 or greater of the 3w-xxxx
72: driver, or patch earlier 3ware 3w-xxxx drivers. See
73: http://smartmontools.sourceforge.net/3w-xxxx.txt
74: for the patch. The version 1.02.00.037 3w-xxxx.c driver was
75: incorporated into kernel 2.4.23-bk2 on 3 December 2003 and into
76: kernel 2.6.0-test5-bk11 on 23 September 2003.
77:
78: B) FreeBSD
79:
80: For FreeBSD support, a 5-current kernel that includes ATAng is
81: required in order to support ATA drives. Even current versions of
82: ATAng will not support 100% operation, as the SMART status can not
83: be reliably retrieved. There is patch pending approval of the
84: ATAng driver maintainer that will address this issue.
85:
86: C) Solaris
87:
88: The SCSI code has been tested on a variety of Solaris 8 and 9
89: systems. ATA/IDE code only works on SPARC platform. All tested
90: kernels worked correctly.
91:
92: D) NetBSD/OpenBSD
93:
94: The code was tested on a 1.6ZG (i.e., 1.6-current) system. It should
95: also function under 1.6.1 and later releases (unverified). Currently
96: it doesn't support ATA devices on 3ware RAID controllers.
97:
98: E) Cygwin
99:
100: The code was tested on Cygwin 1.7.7-1. It should also work on other
101: recent releases.
102:
103: Both Cygwin and Windows versions of smartmontools share the same code
104: to access the IDE/ATA or SCSI devices. The information in the "Windows"
105: section below also applies to the Cygwin version.
106:
107: F) Windows
108:
109: The code was tested on Windows 98SE, ME, NT4(SP5,SP6), 2000(SP4),
110: XP(up to SP3), 2003, Vista and Windows 7.
111:
112: -- Windows 9x/ME
113:
114: On 9x/ME, only standard (legacy) IDE/ATA devices 0-3 are supported.
115: The driver SMARTVSD.VXD must be present in WINDOWS\SYSTEM\IOSUBSYS
116: to get loaded at Windows startup. The default location in a new
117: installation of some versions of Windows is the WINDOWS\SYSTEM folder.
118: In this case, move SMARTVSD.VXD to WINDOWS\SYSTEM\IOSUBSYS and reboot
119: (http://support.microsoft.com/kb/265854/en-us).
120:
121: SMARTVSD.VXD relies on the standard IDE port driver ESDI_506.PDR.
122: If the system uses a vendor specific driver, access of SMART data
123: is not possible.
124:
125: Some ATA controllers (e.g. Promise) provided a custom SMARTVSD.VXD
126: for their Win9x/ME driver. To access SMART data from both the legacy
127: (/dev/h[a-d]) and this additional (/dev/hd[e-h]) controller, rename
128: this file to SMARTVSE.VXD. Open the file with a hex editor and replace
129: all occurrences of the string "SMARTVSD" with "SMARTVSE". Then reinstall
130: the original Windows SMARTVSD.VXD.
131:
132: To access SCSI and USB devices, an installed ASPI interface (WNASPI32.DLL)
133: is required. The code was tested with Adaptec Windows ASPI drivers 4.71.2.
134: (http://www.adaptec.com/en-US/support/_eol/scsi_sw/ASPI-4.70/)
135: Links to other ASPI drivers can be found at http://www.nu2.nu/aspi/.
136:
137: -- Windows NT4/2000/XP/2003/Vista/Win7
138:
139: ATA or SATA devices are supported if the device driver implements
140: the SMART IOCTLs or IOCTL_IDE_PASS_THROUGH or IOCTL_ATA_PASS_THROUGH.
141: The ATA SMART READ LOG command (smartctl -l, --log, -a, --all) is not
142: supported if only the SMART IOCTLs are implemented.
143:
144: SCSI and USB devices are accessed through SPTI. Special driver support
145: is not required.
146:
147: 3ware 9000 RAID controllers are supported using features available
148: in the Windows driver release 9.4.0 (3wareDrv.sys 3.0.2.70) or later.
149: Older drivers provide SMART access to the first physical drive (port)
150: of each logical drive (unit). If driver support is not available
151: (7000/8000 series, 9000 on XP 64), smartctl can be used to parse SMART
152: data output from CLI or 3DM.
153:
154: G) MacOS/Darwin
155:
156: The code was tested on MacOS 10.3.4. It should work from 10.3
157: forwards. It doesn't support 10.2.
158:
159: It's important to know that on 10.3.x, some things don't work
160: (see WARNINGS): due to bugs in the libraries used, you cannot run
161: a short test or switch SMART support off on a drive; if you try,
162: you will just run an extended test or switch SMART support on. So
163: don't panic when your "short" test seems to be taking hours.
164:
165: It's also not possible at present to control when the offline
166: routine runs. If your drive doesn't have it running automatically by
167: default, you can't run it at all.
168:
169: SCSI devices are not currently supported. Detecting the power
170: status of a drive is also not currently supported.
171:
172: To summarize this, from another point of view, the things that
173: are not supported fall into two categories:
174:
175: * Can't be implemented easily without more kernel-level support,
176: so far as I know:
177: - running immediate offline, conveyance, or selective tests
178: - running any test in captive mode
179: - aborting tests
180: - switching automatic offline testing on or off
181: - support for SCSI
182: - checking the power mode [-n Directive of smartd] (this is not
183: completely impossible, but not by using a documented API)
184:
185: * Work on 10.4 and later, but not on 10.3:
186: - switching off SMART (switching *on* works fine)
187: - switching off auto-save (but why would you want to?)
188: - running the short test (that leaves you with only the extended test)
189:
190: However, some things do work well. For ATA devices, all the
191: informational output is available, unless you want something that only
192: an offline test updates. On many newer Mac OS systems, the
193: hard drive comes with the offline test switched on by default, so
194: even that works.
195:
1.1.1.2 ! misho 196: The OS X SAT SMART Driver provides access to SMART data for SAT capable
! 197: USB and Firewire devices:
! 198: https://github.com/kasbert/OS-X-SAT-SMART-Driver
! 199: https://github.com/RJVB/OS-X-SAT-SMART-Driver
! 200: This does not require any smartctl -d TYPE option and should work also
! 201: with older smartmontools releases.
! 202:
1.1 misho 203: H) OS/2, eComStation
204:
205: The code was tested on eComStation 1.1, but it should work on all versions
206: of OS/2.
207: Innotek LibC 0.5 runtime is required.
208: Currently only ATA disks are supported, SCSI support will be added.
209:
210: [2] Installing from SVN
211: =======================
212:
213: Get the sources from the SVN repository:
214: svn co https://smartmontools.svn.sourceforge.net/svnroot/smartmontools/trunk/smartmontools smartmontools
215:
216: Then type:
217: ./autogen.sh
218: and continue with step [3] below, skipping the "unpack the tarball" step.
219:
220: The autogen.sh command is ONLY required when installing from
221: SVN. You need GNU Autoconf (version 2.50 or greater), GNU Automake
222: (version 1.7 or greater) and their dependencies installed in order
223: to run it. You can get these here:
224: http://directory.fsf.org/project/autoconf/
225: http://directory.fsf.org/project/automake/
226:
227: [3] Installing from the source tarball
228: ======================================
229:
230: If you are NOT installing from SVN, then unpack the tarball:
231: tar zxvf smartmontools-5.VERSION.tar.gz
232:
233: Then:
234: ./configure
235: make
236: make install (you may need to be root to do this)
237:
238: As shown (with no options to ./configure) this defaults to the
239: following set of installation directories:
240: --prefix=/usr/local
241: --sbindir=/usr/local/sbin
242: --sysconfdir=/usr/local/etc
243: --mandir=/usr/local/share/man
244: --docdir=/usr/local/share/doc/smartmontools
245: --with-exampledir=/usr/local/share/doc/smartmontools/examplescripts
246: --with-drivedbdir=/usr/local/share/smartmontools
247: --with-initscriptdir=auto
248: --with-systemdsystemunitdir=auto
249: --enable-drivedb
250: --disable-attributelog
251: --disable-sample
252: --disable-savestates
253: --with-libcap-ng=auto
254: --without-selinux
255:
256: These will usually not overwrite existing "distribution" installations on
257: Linux Systems since the FHS reserves this area for use by the system
258: administrator.
259:
260: For different installation locations or distributions, simply add
261: arguments to ./configure as shown in [4] below.
262:
263: If you wish to alter the default C++ compiler flags, set an
264: environment variable CXXFLAGS='your options' before doing
265: ./configure, or else do:
266: make CXXFLAGS='your options'
267:
268: The first output line of smartctl and smartd provides information
269: about release number, last SVN checkin date and revison, platform,
270: and package. The latter defaults to "(local build)" and can be
271: changed by the variable BUILD_INFO, for example:
272: make BUILD_INFO='"(Debian 5.39-2)"'
273:
274: [4] Guidelines for different Linux distributions
275: ================================================
276:
277: Note: Please send corrections/additions to:
278: smartmontools-support@lists.sourceforge.net
279:
280: Debian:
281: If you don't want to overwrite any distribution package, use:
282: ./configure
283:
284: Filesystem Hierarchy Standard (FHS, http://www.pathname.com/fhs/):
285: ./configure --sbindir=/usr/local/sbin \
286: --sysconfdir=/usr/local/etc \
287: --mandir=/usr/local/man \
288: --docdir=/usr/local/share/doc/smartmontools \
289: --with-initscriptdir=/usr/local/etc/init.d
290:
291: Red Hat:
292: ./configure --sbindir=/usr/sbin \
293: --sysconfdir=/etc \
294: --mandir=/usr/share/man \
295: --docdir=/usr/share/doc/smartmontools \
296: --with-initscriptdir=/etc/rc.d/init.d
297:
298: Slackware:
299: If you don't want to overwrite any "distribution" package, use:
300: ./configure
301:
302: Otherwise use:
303: ./configure --sbindir=/usr/sbin \
304: --sysconfdir=/etc \
305: --mandir=/usr/share/man \
306: --docdir=/usr/share/doc/smartmontools \
307: --with-initscriptdir=/etc/rc.d
308:
309: And
310: removepkg smartmontools smartsuite (only root can do this)
311: before make install
312:
313: The init script works on Slackware. You just have to add an entry like
314: the following in /etc/rc.d/rc.M or /etc/rc.d/rc.local:
315:
316: if [ -x /etc/rc.d/smartd ]; then
317: . /etc/rc.d/smartd start
318: fi
319:
320: To disable it:
321: chmod 644 /etc/rc.d/smartd
322:
323: For a list of options:
324: /etc/rc.d/smartd
325:
326: SuSE:
327: ./configure --sbindir=/usr/sbin \
328: --sysconfdir=/etc \
329: --mandir=/usr/share/man \
330: --docdir=/usr/share/doc/packages/smartmontools-VERSION \
331: --with-initscriptdir=/etc/init.d \
332:
333: [5] Guidelines for FreeBSD
334: ==========================
335: To match the way it will installed when it becomes available as a PORT, use
336: the following:
337:
338: ./configure --prefix=/usr/local \
339: --docdir=/usr/local/share/doc/smartmontools-VERSION \
340: --with-initscriptdir=/usr/local/etc/rc.d/ \
341: --enable-sample
342:
343: NOTE: --enable-sample will cause the smartd.conf and smartd RC files to
344: be installed with the string '.sample' append to the name, so you will end
345: up with the following:
346: /usr/local/etc/smartd.conf.sample
347: /usr/local/etc/rc.d/smartd.sample
348:
349:
350: [6] Guidelines for Darwin
351: =========================
352: ./configure --with-initscriptdir=/Library/StartupItems
353:
354: If you'd like to build the i386 version on a powerpc machine, you can
355: use
356:
357: CXX='g++ -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386' \
358: ./configure --host=i386-apple-darwin \
359: --with-initscriptdir=/Library/StartupItems
360:
361: [7] Guidelines for NetBSD
362: =========================
363: ./configure --prefix=/usr/pkg \
364: --docdir=/usr/pkg/share/doc/smartmontools
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 (Sun's C++ compiler)
372: or GNU g++.
373:
374: To compile with g++:
375:
376: ./configure [args]
377: make
378:
379: To compile with Sun CC:
380:
381: env CC=cc CXX=CC ./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: --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: --docdir=/usr/share/doc/smartmontools \
421: --with-initscriptdir=/etc/rc.d/init.d
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:
1.1.1.2 ! misho 429: Files may also be checked out with a non-Cygwin SVN client which uses CR/LF
! 430: for svn:eol-style=native. The "autogen.sh" script has svn:eol-style=LF.
! 431: Bash option "-o igncr" is not required.
1.1 misho 432:
433: [10] Guidelines for Windows
434: ===========================
435:
436: To compile the Windows release with MinGW gcc on MSYS, use:
437:
438: ./configure
439: make
440:
441: Instead of using "make install", copy the .exe files into
442: some directory in the PATH.
443:
444: Cross-compile statically linked 32-bit version with MinGW-w64:
445:
446: ./configure --build=$(./config.guess) \
447: --host=i686-w64-mingw32 \
448: LDFLAGS=-static
449:
450: Tested on Cygwin and Debian Linux.
451:
452: Cross-compile statically linked 64-bit version with MinGW-w64:
453:
454: ./configure --build=$(./config.guess) \
455: --host=x86_64-w64-mingw32 \
456: LDFLAGS=-static
457:
458: Tested on Cygwin and Debian Linux with MinGW-w64 from
459: http://mingw-w64.sourceforge.net/.
460:
461: WARNING: The smartmontools version for 64-bit Windows is still EXPERIMENTAL.
462:
463: Cross-compile on Cygwin with old gcc-mingw 3.x:
464:
465: ./configure --build=$(./config.guess) \
466: --host=i686-pc-mingw32 \
467: CC='gcc-3 -mno-cygwin' \
468: CXX='g++-3 -mno-cygwin' \
469: CXXFLAGS='-g -O2 -Wall -W -Wno-format'
470:
471: Cross-compile on Debian Linux with gcc-mingw32:
472:
473: ./configure --build=$(./config.guess) \
474: --host=i586-mingw32msvc
475:
476:
477: To build the Windows binary distribution, use:
478:
479: make dist-win32
480:
481: This builds the distribution in directory
482:
483: ./smartmontools-VERSION.win32/
484:
485: and packs it into
486:
487: ./smartmontools-VERSION.win32.zip
488:
489: To create a Windows installer, use:
490:
491: make installer-win32
492:
493: This builds the distribution directory and packs it into the
494: self-extracting install program
495:
496: ./smartmontools-VERSION.win32-setup.exe
497:
498: The installer is build using the command "makensis" from the NSIS
499: package. See http://nsis.sourceforge.net/ for documentation and
500: download location.
501:
502: It is also possible to (cross-)build the installer on Linux.
503: This was successfully tested on Debian with package "nsis".
504:
1.1.1.2 ! misho 505: To create a combined 32-/64-bit installer, use this in 32-bit build
! 506: directory if 64-build directory is at ../build64:
! 507:
! 508: make builddir_win64=../build64 installer_win32
! 509:
1.1 misho 510: To both create and run the (interactive) installer, use:
511:
512: make install-win32
513:
514: Additional make targets are distdir-win32 to build the directory
515: only and cleandist-win32 for cleanup.
516:
517: The binary distribution includes all documentation files converted
518: to DOS text file format and *.html and *.txt preformatted man pages.
519: The tools unix2dos.exe (package cygutils) and zip.exe (package zip
520: or a native Win32 release of Info-ZIP, http://www.info-zip.org) are
521: necessary but may be not installed by Cygwin's default settings.
522:
523: The event message file tool syslogevt.exe (see smartd man page) is
524: included in the binary distribution if message compiler (windmc)
525: and resource compiler (windres) are available. This may be disabled
526: by passing 'WINDMC=no' to configure.
527:
528: To prepare os_win32 directory for MS Visual Studio C++ 2010 [Express],
529: use the following on MSYS or Cygwin:
530:
531: mkdir vctmp && cd vctmp
532: ../configure [... any MinGW option set from above ...]
533: make config-vc10
534:
535: The MSVC project files (os_win32/smartmontools_vc10.sln,
536: os_win32/smart{ctl,d}_vc10.vcxproj) are included in SVN (but not in
537: source tarball). The target config-vc10 from a Makefile configured
538: for MinGW creates os_win32/{config,svnversion}_vc10.h from
539: ./{config,svnversion}.h. The configure skript must be run outside
540: of the source directory to avoid inclusion of the original config.h.
541:
542:
543: [11] Guidelines for OS/2, eComStation
544: =====================================
545:
546: To compile the OS/2 code, please run
547:
548: ./os_os2/configure.os2
549: make
550: make install
551:
552: [12] Guidelines for OpenBSD
553: ===========================
554: To match the way it will installed when it becomes available as a PORT, use
555: the following:
556:
557: ./configure --prefix=/usr/local \
558: --sysconfdir=/etc \
559: --docdir=/usr/local/share/doc/smartmontools-VERSION \
560: --without-initscriptdir \
561: --enable-sample
562:
563: NOTE: --enable-sample will cause the smartd.conf and smartd RC files to
564: be installed with the string '.sample' append to the name, so you will end
565: up with the following:
566: /etc/smartd.conf.sample
567:
568: [13] Comments
569: ============
570:
571: To compile from another directory, you can replace the step
572: ./configure [options]
573: by the following:
574: mkdir objdir
575: cd objdir
576: ../configure [options]
577:
578: Man pages contents is platform-specific by default. Info specific to other
579: platforms may be not visible. To generate man pages with full contents use:
580:
581: make os_man_filter=
582:
583: To install to another destination (used mainly by package maintainers,
584: or to examine the package contents without risk of modifying any
585: system files) you can replace the step:
586: make install
587: with:
588: make DESTDIR=/home/myself/smartmontools-package install
589:
590: Use a full path. Paths like ./smartmontools-package may not work.
591:
592: After installing smartmontools, you can read the man pages, and try
593: out the commands:
594:
595: man smartd.conf
596: man smartctl
597: man smartd
598:
599: /usr/sbin/smartctl -s on -o on -S on /dev/hda (only root can do this)
600: /usr/sbin/smartctl -a /dev/hda (only root can do this)
601:
602: Note that the default location for the manual pages are
603: /usr/share/man/man5 and /usr/share/man/man8. If "man" doesn't find
604: them, you may need to add /usr/share/man to your MANPATH environment
605: variable.
606:
607: Source and binary packages for Windows are available at
608: http://sourceforge.net/projects/smartmontools/files/
609:
610: Refer to http://sourceforge.net/apps/trac/smartmontools/wiki/Download
611: for any additional download and installation instructions.
612:
613: The following files are installed if ./configure has no options:
614:
615: /usr/local/sbin/smartctl [Executable command-line utility]
616: /usr/local/sbin/smartd [Executable daemon]
617: /usr/local/sbin/update-smart-drivedb [Drive database update script]
618: /usr/local/etc/smartd.conf [Configuration file for smartd daemon]
619: /usr/local/etc/rc.d/init.d/smartd [Init/Startup script for smartd]
620: /usr/local/share/man/man5/smartd.conf.5 [Manual page]
621: /usr/local/share/man/man8/smartctl.8 [Manual page]
622: /usr/local/share/man/man8/smartd.8 [Manual page]
623: /usr/local/share/doc/smartmontools/AUTHORS [Information about the authors and developers]
624: /usr/local/share/doc/smartmontools/CHANGELOG [A log of changes. Also see SVN]
625: /usr/local/share/doc/smartmontools/COPYING [GNU General Public License Version 2]
626: /usr/local/share/doc/smartmontools/INSTALL [Installation instructions: what you're reading!]
627: /usr/local/share/doc/smartmontools/NEWS [Significant bugs discovered in old versions]
628: /usr/local/share/doc/smartmontools/README [Overview]
629: /usr/local/share/doc/smartmontools/TODO [Things that need to be done/fixed]
630: /usr/local/share/doc/smartmontools/WARNINGS [Systems where lockups or other serious problems were reported]
631: /usr/local/share/doc/smartmontools/smartd.conf [Example configuration file for smartd]
632: /usr/local/share/doc/smartmontools/examplescripts/ [Executable scripts for -M exec of smartd.conf (4 files)]
633: /usr/local/share/smartmontools/drivedb.h [Drive database]
634:
635: If /usr/local/etc/smartd.conf exists and differs from the
636: default then the default configuration file is installed as
637: /usr/local/etc/smartd.conf.sample instead.
638:
639: The commands:
640:
641: make htmlman
642: make txtman
643:
644: may be used to build .html and .txt preformatted man pages.
645: These are used by the dist-win32 make target to build the Windows
646: distribution.
647: The commands also work on other operating system configurations
648: if suitable versions of man2html, groff and grotty are installed.
649: On systems without man2html, the following command should work
650: if groff is available:
651:
652: make MAN2HTML='groff -man -Thtml' htmlman
653:
654:
655: Some of the source files are prepared for the documentation
656: generator Doxygen (http://www.doxygen.org/). If Doxygen is installed,
657: the command:
658:
659: doxygen
660:
661: creates HTML documentation in doc/html and LaTeX documentation
662: in doc/latex. If TeX is installed, the following command creates
663: a documentation file doc/latex/refman.pdf:
664:
665: ( cd doc/latex && make pdf )
666:
667:
668: [14] Detailed description of arguments to configure command
669: ===========================================================
670:
671: When you type:
672: ./configure [options]
673: there are six particularly important variables that affect where the
674: smartmontools software is installed. The variables are listed here,
675: with their default values in square brackets, and the quantities that
676: they affect described following that. This is a very wide table: please read
677: it in a wide window.
678:
679: OPTIONS DEFAULT AFFECTS
680: ------- ------- -------
681: --prefix /usr/local Please see below
682: --sbindir ${prefix}/sbin Directory for smartd/smartctl executables;
683: Contents of smartd/smartctl man pages
684: --docdir ${prefix}/share/doc/smartmontools Location of the documentation
685: (autoconf >= 2.60 only, see also --with-docdir below)
686: --mandir ${prefix}/share/man Directory for smartctl/smartd/smartd.conf man pages
687: --sysconfdir ${prefix}/etc Directory for smartd.conf;
688: Contents of smartd executable;
689: Contents of smartd/smartd.conf man pages;
690: Directory for rc.d/init.d/smartd init script
691: --with-initscriptdir auto Location of init scripts
692: --with-systemdsystemunitdir auto Location of systemd service files
693: --with-docdir ${prefix}/share/doc/smartmontools Location of the documentation
694: --with-exampledir ${docdir}/examplescripts Location of example scripts
695: --enable-sample --disable-sample Adds the string '.sample' to the names of the smartd.conf file and the smartd RC file
696: --with-os-deps os_<guessed>.o OS dependent module(s)
697: --with-selinux --without-selinux Enables SELinux support. If smartmontools has to create the /dev/tw[ae] device
698: nodes for 3ware/AMCC controllers, this option ensures that the nodes are created
699: with correct SELinux file contexts.
700: --with-libcap-ng --with-libcap-ng=auto Enables/disables libcap-ng support. If enabled and libcap-ng is
701: available, option --capabilities is added to smartd.
702: --disable-drivedb --enable-drivedb Disables default drive database file '${drivedbdir}/drivedb.h'
703: --with-drivedbdir ${prefix}/share/smartmontools Directory for 'drivedb.h' (implies --enable-drivedb)
704: --enable-savestates --disable-savestates Enables default smartd state files '${savestates}MODEL-SERIAL.ata.state'
705: --with-savestates ${prefix}/var/lib/smartmontools/smartd. Prefix for smartd state files (implies --enable-savestates)
706: --enable-attributelog --disable-attributelog Enables default smartd attribute log files
707: --with-attributelog ${prefix}/var/lib/smartmontools/attrlog. Prefix for smartd attribute log files (implies --enable-attributelog)
708:
709: Please note that in previous versions of smartmontools (<= 5.39) the
710: default for --with-docdir was
711: ${prefix}/share/doc/smartmontools-VERSION
712: This was changed to make it consistent with the default of the
713: new --docdir option added in autoconf 2.60.
714:
715: The defaults for --with-initscriptdir and --with-systemdsystemunitdir are
716: guessed such that the following rules apply:
717: - If --prefix=/usr --sysconfdir=/etc is specified, the guessed directories
718: should be the defaults used by the current OS or distribution.
719: - If --sysconfdir=/etc is NOT specified, the guessed directories should
720: always be below ${prefix} or below ${sysconfdir}.
721:
722: Here's an example:
723: If you set --prefix=/home/joe and none of the other four
724: variables then the different directories that are used would be:
725: --sbindir /home/joe/sbin
726: --docdir /home/joe/share/doc/smartmontools
727: --mandir /home/joe/share/man
728: --sysconfdir /home/joe/etc
729: --with-exampledir /home/joe/share/doc/smartmontools/examplescripts
730: --with-drivedbdir /home/joe/share/smartmontools
731: --with-initscriptdir [see below]
732: --with-systemdsystemunitdir [see below]
733:
734: If systemd is present (and pkg-config reports /lib/systemd/system
735: as the systemdsystemunitdir):
736:
737: --with-initscriptdir [disabled]
738: --with-systemdsystemunitdir /home/joe/lib/systemd/system
739:
740: else if /etc/rc.d/init.d exists:
741:
742: --with-initscriptdir /home/joe/etc/rc.d/init.d
743: --with-systemdsystemunitdir [disabled]
744:
745: else if /etc/init.d exists:
746:
747: --with-initscriptdir /home/joe/etc/init.d
748: --with-systemdsystemunitdir [disabled]
749:
750: else if /etc/rc.d exists:
751:
752: --with-initscriptdir /home/joe/etc/rc.d
753: --with-systemdsystemunitdir [disabled]
754:
755: else
756:
757: --with-initscriptdir [disabled]
758: --with-systemdsystemunitdir [disabled]
759:
760: This is useful for test installs in a harmless subdirectory somewhere.
761:
762: Here are the four possible cases for the four variables above:
763:
764: Case 1:
765: --prefix not set
766: --variable not set
767: ===> VARIABLE gets default value above
768:
769: Case 2:
770: --prefix set
771: --variable not set
772: ===> VARIABLE gets PREFIX/ prepended to default value above
773:
774: Case 3:
775: --prefix not set
776: --variable set
777: ===> VARIABLE gets value that is set
778:
779: Case 4:
780: --prefix is set
781: --variable is set
782: ===> PREFIX is IGNORED, VARIABLE gets value that is set
783:
784:
785: Here are the differences with and without --enable-sample, assuming
786: that initscript location is set and no other options specified
787: (see above for details)
788:
789: Case 1:
790: --enable-sample provided
791: ==> Files installed are:
792: /usr/local/etc/smartd.conf.sample
793: /usr/local/etc/rc.d/init.d/smartd.sample
794:
795: Case 2:
796: --disable-sample provided or parameter left out
797: ==> Files installed are:
798: /usr/local/etc/smartd.conf
799: /usr/local/etc/rc.d/init.d/smartd
800:
801: Additional information about using configure can be found here:
802: http://www.gnu.org/software/autoconf/manual/autoconf.html#Running-configure-Scripts
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>