root/lm-sensors/trunk/INSTALL @ 215

Revision 215, 6.4 KB (checked in by frodo, 15 years ago)

Updated some documentation files.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
1Please read this file thoroughly before you try to install and run things. It
2will safe you many headaches. Installation is not really difficult, but there
3are a few pitfalls.
8Basic installation is uncomplicated. Run 'make all', followed by an optional
9'make install'. Everything is compiled using the Makefile in the root of
10this package. Some interesting variables:
12* SMP
13  This must be set to 1 if your kernel was compiled with SMP set to 1. There
14  is a sort of magic invocation which tries to check this; it will fail if
15  you do not have the correct kernel tree in /usr/src/linux. If you set it,
16  a '-D__SMP__' argument will be added to all module compiles.
18  This must be set to 1 if your kernel was compiled with CONFIG_MODVERSIONS
19  enabled. There is some magic which tries to retrieve this information
20  from /usr/include/linux/config.h and /usr/include/linux/autoconf.h.
21* I2C
22  If you already have Simon Vogl's i2c package installed, you may not have
23  to compile the version included in this package. In that case, check
24  the file i2c/MODIFICATIONS in this package to see what versions are
25  safe.
27  These options should only be needed if you are an active developer of
28  this package.
29* PREFIX (/usr/local)
30  The prefix which is added to most directory locations below.
31* MODDIR (/lib/modules/extra/misc)
32  The directory where 'make install' installs your modules.
33* ETCDIR (/etc)
34  The directory where 'make install' installs the example configuration file
35  if none is found there.
36* LIBDIR ($(PREFIX)/lib)
37  The directory where 'make install' installs the shared and static libraries.
38* BINDIR ($(PREFIX)/bin)
39  The directory where 'make install' installs all executables.
40* INCLUDEDIR ($(PREFIX)/include)
41  The base directory where 'make install' installs your include files.
42  Actually, SYSINCLUDEDIR ($(INCLUDEDIR)/linux) is used for kernel header
43  files, and LIBINCLUDEDIR ($(INCLUDEDIR)/sensors) is used for library
44  header files.
45* MANDIR ($(PREFIX)/man)
46  The base directory where manual pages are installed.
47* MANOWN, MANGRP (root, root)
48  Owner and group of installed manual pages
50Warning! In 2.2 and newer 2.1 kernels, there is support for I2C. This support
51is NOT compatible with this module! Actually, Simon Vogl's modules package
52(which IS compatible) is scheduled to replace the current support. If you
53actually use these modules, you have a problem; they can not coexist
54with Simon's modules. Theoretically, you should be able to replace
55the old modules in the kernel tree with the new stuff in our i2c directory,
56recompile the kernel, and then compile our modules with I2C=0. If you try
57this, please share the results with us! There have also been some rumors
58about the peaceful coexistence of both sets of modules, but others found
59some problems with it.
61Please make sure that /usr/include/linux and /usr/include/asm are symlinks
62into the kernel tree which corresponds with the kernel version you are using
63now (or more exactly, the kernel which you will use the compiled modules
64with). If the tree and the running kernel do not match, you will either
65be unable to insert the modules at all, or you can expect strange
66behaviour (probably leading to crashes).
72When you have compiled this package, you will be left with a lot of modules.
73It can be tricky to know which modules you need to insert. For this reason,
74I suggest you go the 'modprobe' way, as described within doc/modules.
75If you just want to run a test without installing them, try the following:
76  insmod i2c/i2c-core.o
77  insmod kernel/i2c-proc.o
78  insmod kernel/i2c-dev.o
79  insmod kernel/smbus.o
80  insmod kernel/sensors.o
81  insmod kernel/busses/isa.o
82  insmod kernel/busses/piix4.o # Or whatever SMBus controller you have
83  insmod kernel/chips/lm78.o   # Or whatever hardware monitoring chip you have
84Now you should have new directories under /proc/sys/dev/sensors and some files
85beginning with i2c in /proc/bus.
87If you have installed the modules, as described within doc/modules, you can
88do 'modprobe isa && modprobe piix4 && modprobe lm78 && modprobe i2c-proc'
89(the last is optional) from any directory to reach the same situation.
91There is a program '' in prog/detect which should tell you at least
92what bus driver you should insert. This program is not completely failsafe,
93but it may at least help. It will be expanded to cover chip detection too,
94in the future.
96Do not panic if some (or all) of the values in the /proc/sys/dev/sensors/*/*
97files do not seem to correspond to anything in earlier versions. Starting
98with lm_sensors version 2.1.0, these files will reflect the real chip
99measurements, without any scaling or adjusting. This is most obvious for
100the voltage files. You can specify the conversion factors in a configuration
101file.  Use an application linked to libsensors to read these real values.
103This package contains a library of functions which can be used to
104access sensor data in a more programmer-friendly way. It will be built as
105both a shared and a static library, and installed in your LIB directory
106(normally /usr/local/lib). It needs a configuration file, which is usually
107called 'sensors.conf', and can be placed in /etc, /usr/lib/sensors,
108/usr/local/lib/sensors, /usr/lib, or /usr/local/lib.
110Note that if you already have a config file, it is NOT overwritten! You
111may still want to do this by hand (`cp etc/ /etc/sensors.conf')
112as the example config file may be updated.
114Where version 1 of this package had the human-readable /proc/sensors file,
115this version includes a user-space program which gathers all data
116and displays it in a comparable format. This program is called 'sensors'.
117Everybody can use it to read sensors values; only root can use it to
118set minimum and maximum values (using the `-s' switch).
120If you want to run 'sensors' without installing the package, you must
121use the following command to make it able to find its shared library:
122  (bash) export LD_LIBRARY_PATH=/WHEREVER/lm_sensors-2.X.Y/lib:$LD_LIBRARY_PATH
123  (tcsh) setenv LD_LIBRARYPATH /WHEREVER/lm_sensors-2.X.Y/lib:$LD_LIBRARY_PATH
124Replace /WHEREVER/lm_sensors-2.X.Y with the base directory of the package
125source code.
127Please examine the files in the doc subdirectory for more information,
128especially about individual driver. You can always mail us at
129<>. Alternatively, consider useing the (free)
130support site at Good luck!
Note: See TracBrowser for help on using the browser.