Annotation of embedaddon/smartmontools/INSTALL, revision 1.1.1.1
1.1 misho 1: Smartmontools installation instructions
2: =======================================
3:
4: $Id: INSTALL 3414 2011-09-09 21:07:55Z chrfranke $
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:
196: H) OS/2, eComStation
197:
198: The code was tested on eComStation 1.1, but it should work on all versions
199: of OS/2.
200: Innotek LibC 0.5 runtime is required.
201: Currently only ATA disks are supported, SCSI support will be added.
202:
203: [2] Installing from SVN
204: =======================
205:
206: Get the sources from the SVN repository:
207: svn co https://smartmontools.svn.sourceforge.net/svnroot/smartmontools/trunk/smartmontools smartmontools
208:
209: Then type:
210: ./autogen.sh
211: and continue with step [3] below, skipping the "unpack the tarball" step.
212:
213: The autogen.sh command is ONLY required when installing from
214: SVN. You need GNU Autoconf (version 2.50 or greater), GNU Automake
215: (version 1.7 or greater) and their dependencies installed in order
216: to run it. You can get these here:
217: http://directory.fsf.org/project/autoconf/
218: http://directory.fsf.org/project/automake/
219:
220: [3] Installing from the source tarball
221: ======================================
222:
223: If you are NOT installing from SVN, then unpack the tarball:
224: tar zxvf smartmontools-5.VERSION.tar.gz
225:
226: Then:
227: ./configure
228: make
229: make install (you may need to be root to do this)
230:
231: As shown (with no options to ./configure) this defaults to the
232: following set of installation directories:
233: --prefix=/usr/local
234: --sbindir=/usr/local/sbin
235: --sysconfdir=/usr/local/etc
236: --mandir=/usr/local/share/man
237: --docdir=/usr/local/share/doc/smartmontools
238: --with-exampledir=/usr/local/share/doc/smartmontools/examplescripts
239: --with-drivedbdir=/usr/local/share/smartmontools
240: --with-initscriptdir=auto
241: --with-systemdsystemunitdir=auto
242: --enable-drivedb
243: --disable-attributelog
244: --disable-sample
245: --disable-savestates
246: --with-libcap-ng=auto
247: --without-selinux
248:
249: These will usually not overwrite existing "distribution" installations on
250: Linux Systems since the FHS reserves this area for use by the system
251: administrator.
252:
253: For different installation locations or distributions, simply add
254: arguments to ./configure as shown in [4] below.
255:
256: If you wish to alter the default C++ compiler flags, set an
257: environment variable CXXFLAGS='your options' before doing
258: ./configure, or else do:
259: make CXXFLAGS='your options'
260:
261: The first output line of smartctl and smartd provides information
262: about release number, last SVN checkin date and revison, platform,
263: and package. The latter defaults to "(local build)" and can be
264: changed by the variable BUILD_INFO, for example:
265: make BUILD_INFO='"(Debian 5.39-2)"'
266:
267: [4] Guidelines for different Linux distributions
268: ================================================
269:
270: Note: Please send corrections/additions to:
271: smartmontools-support@lists.sourceforge.net
272:
273: Debian:
274: If you don't want to overwrite any distribution package, use:
275: ./configure
276:
277: Filesystem Hierarchy Standard (FHS, http://www.pathname.com/fhs/):
278: ./configure --sbindir=/usr/local/sbin \
279: --sysconfdir=/usr/local/etc \
280: --mandir=/usr/local/man \
281: --docdir=/usr/local/share/doc/smartmontools \
282: --with-initscriptdir=/usr/local/etc/init.d
283:
284: Red Hat:
285: ./configure --sbindir=/usr/sbin \
286: --sysconfdir=/etc \
287: --mandir=/usr/share/man \
288: --docdir=/usr/share/doc/smartmontools \
289: --with-initscriptdir=/etc/rc.d/init.d
290:
291: Slackware:
292: If you don't want to overwrite any "distribution" package, use:
293: ./configure
294:
295: Otherwise use:
296: ./configure --sbindir=/usr/sbin \
297: --sysconfdir=/etc \
298: --mandir=/usr/share/man \
299: --docdir=/usr/share/doc/smartmontools \
300: --with-initscriptdir=/etc/rc.d
301:
302: And
303: removepkg smartmontools smartsuite (only root can do this)
304: before make install
305:
306: The init script works on Slackware. You just have to add an entry like
307: the following in /etc/rc.d/rc.M or /etc/rc.d/rc.local:
308:
309: if [ -x /etc/rc.d/smartd ]; then
310: . /etc/rc.d/smartd start
311: fi
312:
313: To disable it:
314: chmod 644 /etc/rc.d/smartd
315:
316: For a list of options:
317: /etc/rc.d/smartd
318:
319: SuSE:
320: ./configure --sbindir=/usr/sbin \
321: --sysconfdir=/etc \
322: --mandir=/usr/share/man \
323: --docdir=/usr/share/doc/packages/smartmontools-VERSION \
324: --with-initscriptdir=/etc/init.d \
325:
326: [5] Guidelines for FreeBSD
327: ==========================
328: To match the way it will installed when it becomes available as a PORT, use
329: the following:
330:
331: ./configure --prefix=/usr/local \
332: --docdir=/usr/local/share/doc/smartmontools-VERSION \
333: --with-initscriptdir=/usr/local/etc/rc.d/ \
334: --enable-sample
335:
336: NOTE: --enable-sample will cause the smartd.conf and smartd RC files to
337: be installed with the string '.sample' append to the name, so you will end
338: up with the following:
339: /usr/local/etc/smartd.conf.sample
340: /usr/local/etc/rc.d/smartd.sample
341:
342:
343: [6] Guidelines for Darwin
344: =========================
345: ./configure --with-initscriptdir=/Library/StartupItems
346:
347: If you'd like to build the i386 version on a powerpc machine, you can
348: use
349:
350: CXX='g++ -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386' \
351: ./configure --host=i386-apple-darwin \
352: --with-initscriptdir=/Library/StartupItems
353:
354: [7] Guidelines for NetBSD
355: =========================
356: ./configure --prefix=/usr/pkg \
357: --docdir=/usr/pkg/share/doc/smartmontools
358:
359: [8] Guidelines for Solaris
360: ==========================
361:
362: smartmontools has been partially but not completely ported to
363: Solaris. It includes complete SCSI support but no ATA or 3ware
364: support. It can be compiled with either CC (Sun's C++ compiler)
365: or GNU g++.
366:
367: To compile with g++:
368:
369: ./configure [args]
370: make
371:
372: To compile with Sun CC:
373:
374: env CC=cc CXX=CC ./configure [args]
375: make
376:
377: The correct arguments [args] to configure are:
378: --sbindir=/usr/sbin \
379: --sysconfdir=/etc \
380: --mandir=/usr/share/man \
381: --docdir=/usr/share/doc/smartmontools-VERSION \
382: --with-initscriptdir=/etc/init.d
383:
384: To start the script automatically on bootup, create hardlinks that
385: indicate when to start/stop in:
386: /etc/rc[S0123].d/
387: pointing to /etc/init.d/smartd. Create:
388: K<knum>smartd in rcS.d, rc0.d, rc1.d, rc2.d
389: S<snum>smartd in rc3.d
390: where <knum> is related to <snum> such that the higher snum is the
391: lower knum must be.
392:
393: On usual configuration, '95' would be suitable for <snum> and '05'
394: for <knum> respectively. If you choose these value, you can
395: create hardlinks by:
396:
397: cd /etc
398: sh -c 'for n in S 0 1 2; do ln init.d/smartd rc$n.d/K05smartd; done'
399: sh -c 'for n in 3 ; do ln init.d/smartd rc$n.d/S95smartd; done'
400:
401: [9] Guidelines for Cygwin
402: =========================
403:
404: Same as Red Hat:
405: ./configure --prefix=/usr \
406: --sysconfdir=/etc \
407: --mandir='${prefix}/share/man'
408:
409: OR EQUIVALENTLY
410: ./configure --sbindir=/usr/sbin \
411: --sysconfdir=/etc \
412: --mandir=/usr/share/man \
413: --docdir=/usr/share/doc/smartmontools \
414: --with-initscriptdir=/etc/rc.d/init.d
415:
416: Using DOS text file type as default for the working directories ("textmode"
417: mount option) is not recommended. Building the binaries and man pages using
418: "make" is possible, but "make dist" and related targets work only with UNIX
419: file type ("binmode" mount option) set. The "autogen.sh" script prints a
420: warning if DOS type is selected.
421:
422: If installing from SVN, you may check out all files either with CR/LF
423: or LF line endings. Starting with release 3.1-7, Cygwin's bash does no
424: longer accept scripts with CR/LF by default. To run the initial script
425: ./autogen.sh checked out with CR/LF on a "binmode" mount, type:
426:
427: bash -o igncr ./autogen.sh
428:
429: instead. This is not necessary for the generated ./configure script.
430:
431: [10] Guidelines for Windows
432: ===========================
433:
434: To compile the Windows release with MinGW gcc on MSYS, use:
435:
436: ./configure
437: make
438:
439: Instead of using "make install", copy the .exe files into
440: some directory in the PATH.
441:
442: Cross-compile statically linked 32-bit version with MinGW-w64:
443:
444: ./configure --build=$(./config.guess) \
445: --host=i686-w64-mingw32 \
446: LDFLAGS=-static
447:
448: Tested on Cygwin and Debian Linux.
449:
450: Cross-compile statically linked 64-bit version with MinGW-w64:
451:
452: ./configure --build=$(./config.guess) \
453: --host=x86_64-w64-mingw32 \
454: LDFLAGS=-static
455:
456: Tested on Cygwin and Debian Linux with MinGW-w64 from
457: http://mingw-w64.sourceforge.net/.
458:
459: WARNING: The smartmontools version for 64-bit Windows is still EXPERIMENTAL.
460:
461: Cross-compile on Cygwin with old gcc-mingw 3.x:
462:
463: ./configure --build=$(./config.guess) \
464: --host=i686-pc-mingw32 \
465: CC='gcc-3 -mno-cygwin' \
466: CXX='g++-3 -mno-cygwin' \
467: CXXFLAGS='-g -O2 -Wall -W -Wno-format'
468:
469: Cross-compile on Debian Linux with gcc-mingw32:
470:
471: ./configure --build=$(./config.guess) \
472: --host=i586-mingw32msvc
473:
474:
475: To build the Windows binary distribution, use:
476:
477: make dist-win32
478:
479: This builds the distribution in directory
480:
481: ./smartmontools-VERSION.win32/
482:
483: and packs it into
484:
485: ./smartmontools-VERSION.win32.zip
486:
487: To create a Windows installer, use:
488:
489: make installer-win32
490:
491: This builds the distribution directory and packs it into the
492: self-extracting install program
493:
494: ./smartmontools-VERSION.win32-setup.exe
495:
496: The installer is build using the command "makensis" from the NSIS
497: package. See http://nsis.sourceforge.net/ for documentation and
498: download location.
499:
500: It is also possible to (cross-)build the installer on Linux.
501: This was successfully tested on Debian with package "nsis".
502:
503: To both create and run the (interactive) installer, use:
504:
505: make install-win32
506:
507: Additional make targets are distdir-win32 to build the directory
508: only and cleandist-win32 for cleanup.
509:
510: The binary distribution includes all documentation files converted
511: to DOS text file format and *.html and *.txt preformatted man pages.
512: The tools unix2dos.exe (package cygutils) and zip.exe (package zip
513: or a native Win32 release of Info-ZIP, http://www.info-zip.org) are
514: necessary but may be not installed by Cygwin's default settings.
515:
516: The event message file tool syslogevt.exe (see smartd man page) is
517: included in the binary distribution if message compiler (windmc)
518: and resource compiler (windres) are available. This may be disabled
519: by passing 'WINDMC=no' to configure.
520:
521: To prepare os_win32 directory for MS Visual Studio C++ 2010 [Express],
522: use the following on MSYS or Cygwin:
523:
524: mkdir vctmp && cd vctmp
525: ../configure [... any MinGW option set from above ...]
526: make config-vc10
527:
528: The MSVC project files (os_win32/smartmontools_vc10.sln,
529: os_win32/smart{ctl,d}_vc10.vcxproj) are included in SVN (but not in
530: source tarball). The target config-vc10 from a Makefile configured
531: for MinGW creates os_win32/{config,svnversion}_vc10.h from
532: ./{config,svnversion}.h. The configure skript must be run outside
533: of the source directory to avoid inclusion of the original config.h.
534:
535:
536: [11] Guidelines for OS/2, eComStation
537: =====================================
538:
539: To compile the OS/2 code, please run
540:
541: ./os_os2/configure.os2
542: make
543: make install
544:
545: [12] Guidelines for OpenBSD
546: ===========================
547: To match the way it will installed when it becomes available as a PORT, use
548: the following:
549:
550: ./configure --prefix=/usr/local \
551: --sysconfdir=/etc \
552: --docdir=/usr/local/share/doc/smartmontools-VERSION \
553: --without-initscriptdir \
554: --enable-sample
555:
556: NOTE: --enable-sample will cause the smartd.conf and smartd RC files to
557: be installed with the string '.sample' append to the name, so you will end
558: up with the following:
559: /etc/smartd.conf.sample
560:
561: [13] Comments
562: ============
563:
564: To compile from another directory, you can replace the step
565: ./configure [options]
566: by the following:
567: mkdir objdir
568: cd objdir
569: ../configure [options]
570:
571: Man pages contents is platform-specific by default. Info specific to other
572: platforms may be not visible. To generate man pages with full contents use:
573:
574: make os_man_filter=
575:
576: To install to another destination (used mainly by package maintainers,
577: or to examine the package contents without risk of modifying any
578: system files) you can replace the step:
579: make install
580: with:
581: make DESTDIR=/home/myself/smartmontools-package install
582:
583: Use a full path. Paths like ./smartmontools-package may not work.
584:
585: After installing smartmontools, you can read the man pages, and try
586: out the commands:
587:
588: man smartd.conf
589: man smartctl
590: man smartd
591:
592: /usr/sbin/smartctl -s on -o on -S on /dev/hda (only root can do this)
593: /usr/sbin/smartctl -a /dev/hda (only root can do this)
594:
595: Note that the default location for the manual pages are
596: /usr/share/man/man5 and /usr/share/man/man8. If "man" doesn't find
597: them, you may need to add /usr/share/man to your MANPATH environment
598: variable.
599:
600: Source and binary packages for Windows are available at
601: http://sourceforge.net/projects/smartmontools/files/
602:
603: Refer to http://sourceforge.net/apps/trac/smartmontools/wiki/Download
604: for any additional download and installation instructions.
605:
606: The following files are installed if ./configure has no options:
607:
608: /usr/local/sbin/smartctl [Executable command-line utility]
609: /usr/local/sbin/smartd [Executable daemon]
610: /usr/local/sbin/update-smart-drivedb [Drive database update script]
611: /usr/local/etc/smartd.conf [Configuration file for smartd daemon]
612: /usr/local/etc/rc.d/init.d/smartd [Init/Startup script for smartd]
613: /usr/local/share/man/man5/smartd.conf.5 [Manual page]
614: /usr/local/share/man/man8/smartctl.8 [Manual page]
615: /usr/local/share/man/man8/smartd.8 [Manual page]
616: /usr/local/share/doc/smartmontools/AUTHORS [Information about the authors and developers]
617: /usr/local/share/doc/smartmontools/CHANGELOG [A log of changes. Also see SVN]
618: /usr/local/share/doc/smartmontools/COPYING [GNU General Public License Version 2]
619: /usr/local/share/doc/smartmontools/INSTALL [Installation instructions: what you're reading!]
620: /usr/local/share/doc/smartmontools/NEWS [Significant bugs discovered in old versions]
621: /usr/local/share/doc/smartmontools/README [Overview]
622: /usr/local/share/doc/smartmontools/TODO [Things that need to be done/fixed]
623: /usr/local/share/doc/smartmontools/WARNINGS [Systems where lockups or other serious problems were reported]
624: /usr/local/share/doc/smartmontools/smartd.conf [Example configuration file for smartd]
625: /usr/local/share/doc/smartmontools/examplescripts/ [Executable scripts for -M exec of smartd.conf (4 files)]
626: /usr/local/share/smartmontools/drivedb.h [Drive database]
627:
628: If /usr/local/etc/smartd.conf exists and differs from the
629: default then the default configuration file is installed as
630: /usr/local/etc/smartd.conf.sample instead.
631:
632: The commands:
633:
634: make htmlman
635: make txtman
636:
637: may be used to build .html and .txt preformatted man pages.
638: These are used by the dist-win32 make target to build the Windows
639: distribution.
640: The commands also work on other operating system configurations
641: if suitable versions of man2html, groff and grotty are installed.
642: On systems without man2html, the following command should work
643: if groff is available:
644:
645: make MAN2HTML='groff -man -Thtml' htmlman
646:
647:
648: Some of the source files are prepared for the documentation
649: generator Doxygen (http://www.doxygen.org/). If Doxygen is installed,
650: the command:
651:
652: doxygen
653:
654: creates HTML documentation in doc/html and LaTeX documentation
655: in doc/latex. If TeX is installed, the following command creates
656: a documentation file doc/latex/refman.pdf:
657:
658: ( cd doc/latex && make pdf )
659:
660:
661: [14] Detailed description of arguments to configure command
662: ===========================================================
663:
664: When you type:
665: ./configure [options]
666: there are six particularly important variables that affect where the
667: smartmontools software is installed. The variables are listed here,
668: with their default values in square brackets, and the quantities that
669: they affect described following that. This is a very wide table: please read
670: it in a wide window.
671:
672: OPTIONS DEFAULT AFFECTS
673: ------- ------- -------
674: --prefix /usr/local Please see below
675: --sbindir ${prefix}/sbin Directory for smartd/smartctl executables;
676: Contents of smartd/smartctl man pages
677: --docdir ${prefix}/share/doc/smartmontools Location of the documentation
678: (autoconf >= 2.60 only, see also --with-docdir below)
679: --mandir ${prefix}/share/man Directory for smartctl/smartd/smartd.conf man pages
680: --sysconfdir ${prefix}/etc Directory for smartd.conf;
681: Contents of smartd executable;
682: Contents of smartd/smartd.conf man pages;
683: Directory for rc.d/init.d/smartd init script
684: --with-initscriptdir auto Location of init scripts
685: --with-systemdsystemunitdir auto Location of systemd service files
686: --with-docdir ${prefix}/share/doc/smartmontools Location of the documentation
687: --with-exampledir ${docdir}/examplescripts Location of example scripts
688: --enable-sample --disable-sample Adds the string '.sample' to the names of the smartd.conf file and the smartd RC file
689: --with-os-deps os_<guessed>.o OS dependent module(s)
690: --with-selinux --without-selinux Enables SELinux support. If smartmontools has to create the /dev/tw[ae] device
691: nodes for 3ware/AMCC controllers, this option ensures that the nodes are created
692: with correct SELinux file contexts.
693: --with-libcap-ng --with-libcap-ng=auto Enables/disables libcap-ng support. If enabled and libcap-ng is
694: available, option --capabilities is added to smartd.
695: --disable-drivedb --enable-drivedb Disables default drive database file '${drivedbdir}/drivedb.h'
696: --with-drivedbdir ${prefix}/share/smartmontools Directory for 'drivedb.h' (implies --enable-drivedb)
697: --enable-savestates --disable-savestates Enables default smartd state files '${savestates}MODEL-SERIAL.ata.state'
698: --with-savestates ${prefix}/var/lib/smartmontools/smartd. Prefix for smartd state files (implies --enable-savestates)
699: --enable-attributelog --disable-attributelog Enables default smartd attribute log files
700: --with-attributelog ${prefix}/var/lib/smartmontools/attrlog. Prefix for smartd attribute log files (implies --enable-attributelog)
701:
702: Please note that in previous versions of smartmontools (<= 5.39) the
703: default for --with-docdir was
704: ${prefix}/share/doc/smartmontools-VERSION
705: This was changed to make it consistent with the default of the
706: new --docdir option added in autoconf 2.60.
707:
708: The defaults for --with-initscriptdir and --with-systemdsystemunitdir are
709: guessed such that the following rules apply:
710: - If --prefix=/usr --sysconfdir=/etc is specified, the guessed directories
711: should be the defaults used by the current OS or distribution.
712: - If --sysconfdir=/etc is NOT specified, the guessed directories should
713: always be below ${prefix} or below ${sysconfdir}.
714:
715: Here's an example:
716: If you set --prefix=/home/joe and none of the other four
717: variables then the different directories that are used would be:
718: --sbindir /home/joe/sbin
719: --docdir /home/joe/share/doc/smartmontools
720: --mandir /home/joe/share/man
721: --sysconfdir /home/joe/etc
722: --with-exampledir /home/joe/share/doc/smartmontools/examplescripts
723: --with-drivedbdir /home/joe/share/smartmontools
724: --with-initscriptdir [see below]
725: --with-systemdsystemunitdir [see below]
726:
727: If systemd is present (and pkg-config reports /lib/systemd/system
728: as the systemdsystemunitdir):
729:
730: --with-initscriptdir [disabled]
731: --with-systemdsystemunitdir /home/joe/lib/systemd/system
732:
733: else if /etc/rc.d/init.d exists:
734:
735: --with-initscriptdir /home/joe/etc/rc.d/init.d
736: --with-systemdsystemunitdir [disabled]
737:
738: else if /etc/init.d exists:
739:
740: --with-initscriptdir /home/joe/etc/init.d
741: --with-systemdsystemunitdir [disabled]
742:
743: else if /etc/rc.d exists:
744:
745: --with-initscriptdir /home/joe/etc/rc.d
746: --with-systemdsystemunitdir [disabled]
747:
748: else
749:
750: --with-initscriptdir [disabled]
751: --with-systemdsystemunitdir [disabled]
752:
753: This is useful for test installs in a harmless subdirectory somewhere.
754:
755: Here are the four possible cases for the four variables above:
756:
757: Case 1:
758: --prefix not set
759: --variable not set
760: ===> VARIABLE gets default value above
761:
762: Case 2:
763: --prefix set
764: --variable not set
765: ===> VARIABLE gets PREFIX/ prepended to default value above
766:
767: Case 3:
768: --prefix not set
769: --variable set
770: ===> VARIABLE gets value that is set
771:
772: Case 4:
773: --prefix is set
774: --variable is set
775: ===> PREFIX is IGNORED, VARIABLE gets value that is set
776:
777:
778: Here are the differences with and without --enable-sample, assuming
779: that initscript location is set and no other options specified
780: (see above for details)
781:
782: Case 1:
783: --enable-sample provided
784: ==> Files installed are:
785: /usr/local/etc/smartd.conf.sample
786: /usr/local/etc/rc.d/init.d/smartd.sample
787:
788: Case 2:
789: --disable-sample provided or parameter left out
790: ==> Files installed are:
791: /usr/local/etc/smartd.conf
792: /usr/local/etc/rc.d/init.d/smartd
793:
794: Additional information about using configure can be found here:
795: http://www.gnu.org/software/autoconf/manual/autoconf.html#Running-configure-Scripts
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>