Files
lm-sensors/INSTALL
T

124 lines
6.1 KiB
Plaintext

Please read this file thoroughly before you try to install and run things. It
will safe you many headaches. Installation is not really difficult, but there
are a few pitfalls.
COMPILATION AND INSTALLATION
============================
Basic installation is uncomplicated. Run 'make all', followed by an optional
'make install'. Everything is compiled using the Makefile in the root of
this package. Some interesting variables:
* SMP
This must be set to 1 if your kernel was compiled with SMP set to 1. There
is a sort of magic invocation which tries to check this; it will fail if
you do not have the correct kernel tree in /usr/src/linux. If you set it,
a '-D__SMP__' argument will be added to all module compiles.
* MODVER
This must be set to 1 if your kernel was compiled with CONFIG_MODVERSIONS
enabled. There is some magic which tries to retrieve this information
from /usr/include/linux/config.h and /usr/include/linux/autoconf.h.
* I2C
If you already have Simon Vogl's i2c package installed, you may not have
to compile the version included in this package. In that case, check
the file i2c/MODIFICATIONS in this package to see what versions are
safe.
* WARN, DEBUG
These options should only be needed if you are an active developer of
this package.
* PREFIX (/usr/local)
The prefix which is added to most directory locations below.
* MODDIR (/lib/modules/extra/misc)
The directory where 'make install' installs your modules.
* ETCDIR (/etc)
The directory where 'make install' installs the example configuration file
if none is found there.
* LIBDIR ($(PREFIX)/lib)
The directory where 'make install' installs the shared and static libraries.
* BINDIR ($(PREFIX)/bin)
The directory where 'make install' installs all executables.
* INCLUDEDIR ($(PREFIX)/include)
The basic directory where 'make install' installs your include files.
Actually, SYSINCLUDEDIR ($(INCLUDEDIR)/linux) is used for kernel header
files, and LIBINCLUDEDIR ($(INCLUDEDIR)/sensors) is used for library
header files.
Warning! In newer 2.1 kernels, there is support for I2C. This support is
NOT compatible with this module! Actually, Simon Vogl's modules package
(which IS compatible) is scheduled to replace the current support. If you
actually use these modules, you have a problem; they can not coexist
with Simon's modules. Theoretically, you should be able to replace
the old modules in the kernel tree with the new stuff in our i2c directory,
recompile the kernel, and then compile our modules with I2C=0. If you try
this, please share the results with us!
Please make sure that /usr/include/linux and /usr/include/asm are symlinks
into the kernel tree which corresponds with the kernel version you are using
now (or more exactly, the kernel which you will use the compiled modules
with). If the tree and the running kernel do not match, you will either
be unable to insert the modules at all, or you can expect strange
behaviour (probably leading to crashes).
TESTING AND RUNNING
===================
When you have compiled this package, you will be left with a lot of modules.
It can be tricky to know which modules you need to insert. For this reason,
I suggest you go the 'modprobe' way, as described within doc/modules.
If you just want to run a test without installing them, try the following:
insmod i2c/i2c-core.o
insmod src/i2c-proc.o
insmod src/smbus.o
insmod src/sensors.o
insmod src/isa.o
insmod src/piix4.o # Or whatever SMBus controller you have
insmod src/lm78.o # Or whatever hardware monitoring chip you have
Now you should have new directories under /proc/sys/dev/sensors and some files
beginning with i2c in /proc/bus.
If you have installed the modules, as described within doc/modules, you can
do 'modprobe isa && modprobe piix4 && modprobe lm78 && modprobe i2c-proc'
(the last is optional) from any directory to reach the same situation.
Do not panic if some (or all) of the values in the /proc/sys/dev/sensors/*/*
files do not seem to correspond to anything in earlier versions. Starting
with lm_sensors version 2.1.0, these files will reflect the real chip
measurements, without any scaling or adjusting. This is most obvious for
the voltage files. You can specify the conversion factors in a configuration
file. Use an application linked to libsensors to read these real values.
This package contains a library of functions which can be used to
access sensor data in a more programmer-friendly way. It will be built as
both a shared and a static library, and installed in your LIB directory
(normally /usr/local/lib). It needs a configuration file, which is usually
called 'sensors.conf', and can be placed in /etc, /usr/lib/sensors,
/usr/local/lib/sensors, /usr/lib, or /usr/local/lib. [NOTE: No real
config file documentation is written yet. A relatively well-commented
example can be found in the etc directory.]
Where version 1 of this package had the human-readable /proc/sensors file,
this version includes a user-space program which gathers all data
and displays it in a comparable format. This program is called 'sensors'.
Everybody can use it to read sensors values; only root can use it to
set minimum and maximum values.
If you want to run 'sensors' without installing the package, you must
use the following command to make it able to find its shared library:
(bash) export LD_LIBRARY_PATH=/WHEREVER/lm_sensors-2.X.Y/lib:$LD_LIBRARY_PATH
(tcsh) setenv LD_LIBRARYPATH /WHEREVER/lm_sensors-2.X.Y/lib:$LD_LIBRARY_PATH
Replace /WHEREVER/lm_sensors-2.X.Y with the base directory of the package
source code.
One of the next releases of this package will have a user-space probe program,
which tells you which chips and busses are present, and which modules you
will have to load. At this moment, just try to load the modules; if no chip
or bus is detected, the module will fail to insert. [NOTE: not true for
the bit-lp.o and bit-elv.o drivers. Don't try them without expecting
fake devices]
Please examine the files in the doc subdirectory for more information,
especially about individual driver. You can always mail us at
<lm78@stimpy.netroedge.com>. Alternatively, consider useing the (free)
support site at http://www.netroedge.com/~lm78/support.html. Good luck!