mirror of
https://github.com/lm-sensors/lm-sensors.git
synced 2026-10-26 12:24:33 +00:00
Update for version 3. List the build-time and run-time dependencies.
Drop all the instructions regarding kernel modules compilation. Drop documentation about Makefile variables, they are already documented in the Makefile itself. git-svn-id: http://lm-sensors.org/svn/lm-sensors/branches/lm-sensors-3.0.0@4875 7894878c-1315-0410-8ee3-d5d059ff63e0
This commit is contained in:
1 parent
05d5475452
commit
59d4afd8e1
1 file changed
+30
-145
@@ -1,166 +1,51 @@
|
||||
=============================================================================
|
||||
INSTALLATION INSTRUCTIONS
|
||||
=========================
|
||||
|
||||
DETAILED INSTALLATION INSTRUCTIONS
|
||||
See QUICKSTART for the simple version.
|
||||
|
||||
The driver modules in this package are ONLY for 2.4 kernels 2.4.10 or later!
|
||||
|
||||
This package REQUIRES i2c-2.9.0 or later! The i2c subsystem found in the
|
||||
Linux 2.4 kernel trees, even the latest ones, is outdated and won't work.
|
||||
|
||||
FOR 2.5/2.6 KERNELS, do not attempt to compile the modules in this package.
|
||||
Use the drivers already in the 2.5/2.6 kernel tree.
|
||||
If you are running a 2.5/2.6 kernel, the ONLY thing you need to
|
||||
do is 'make user' and 'make user_install'. Do NOT follow the rest
|
||||
of these instructions. Please check the QUICKSTART instead.
|
||||
The lm-sensors package, version 3, provides user-space support for the
|
||||
hardware monitoring drivers in Linux 2.6.5 and later. For older kernel
|
||||
versions, you have to use lm-sensors version 2.
|
||||
|
||||
|
||||
=============================================================================
|
||||
These are the installation instruction for the lm_sensors package.
|
||||
Dependencies
|
||||
============
|
||||
|
||||
NOTE: MAKE SURE YOU HAVE THE I2C-ALGO-BIT DRIVER (PART OF THE I2C PACKAGE)
|
||||
COMPILED INTO YOUR KERNEL OR AVAILABLE AS A MODULE; SOME I2C/SMBUS
|
||||
MASTER DRIVERS DEPEND ON IT!
|
||||
Build-time dependencies:
|
||||
* GNU make
|
||||
* gcc
|
||||
* bison
|
||||
* flex
|
||||
* libsysfs header files (from sysfsutils-devel)
|
||||
* rrd header files (optional, for sensord)
|
||||
|
||||
NOTE: YOU WILL HAVE TO GET AND INSTALL THE I2C PACKAGE FIRST!
|
||||
|
||||
NOTE: PLEASE READ THE DOCUMENTATION IN THE DOC SUBDIRECTORY IF YOU GET STUCK!
|
||||
|
||||
|
||||
Installing the i2c package
|
||||
==========================
|
||||
|
||||
This lm_sensors release REQUIRES i2c-2.9.0 or later, which is not in
|
||||
any 2.4 kernel (and will never be).
|
||||
Therefore, you must download and install the i2c package with
|
||||
the same version number or higher as this lm_sensors package.
|
||||
|
||||
You
|
||||
will have to make very sure the correct i2c header files are found. If you
|
||||
get weird compilation errors, this is almost certainly going wrong. The
|
||||
i2c header files are in a i2c subdirectory of either /usr/local/include
|
||||
(i2c compilation option 1) or /usr/src/linux*/include (i2c compilation
|
||||
options 2 and 3). Especially if you have in the past placed the header
|
||||
files in /usr/local/include, this will probably go wrong. See below on
|
||||
how to fix this.
|
||||
|
||||
|
||||
Mixing old and new, and using beta drivers
|
||||
==========================================
|
||||
|
||||
It is possible that you are running a previously patched kernel, or
|
||||
a very new kernel which already has limited or full i2c or lm_sensors
|
||||
support, but you want to use newer versions of the drivers. This is
|
||||
possible, but there are some pitfalls.
|
||||
|
||||
If you had compiled all i2c and lm_sensors drivers as modules, you are
|
||||
in luck. You can simply compile the newest versions of i2c and
|
||||
lm_sensors and install them. Just make sure the right modules are
|
||||
loaded (best bet: remove the old ones first).
|
||||
|
||||
If you have a certain driver compiled into your kernel, you may
|
||||
encounter bad problems. We do not guarantee to keep internal kernel
|
||||
interfaces unchanged. In plain language, this means that an older driver
|
||||
may not work together with a newer driver, and your kernel may crash.
|
||||
On the other hand, if you know what you are doing, compilation will
|
||||
be smart. Drivers that are compiled right into your kernel will not
|
||||
be compiled as a module again. You could do nothing with them anyway.
|
||||
|
||||
|
||||
Having a proper kernel tree
|
||||
===========================
|
||||
|
||||
Usually, if you compile a user-space application, you can get away with
|
||||
having a different version of the kernel running than the version of the
|
||||
kernel header files against which you compiled it. But a perfect match
|
||||
is needed here.
|
||||
|
||||
Let's say you want to use the lm_sensors modules with the kernel 2.4.32 you
|
||||
are running now. What you need, is the original tree in which you
|
||||
compiled that 2.4.32 kernel. A freshly unpacked 2.4.32 kernel will not
|
||||
cut it, because `make *config dep' creates some files that are needed.
|
||||
And even then, you will run into trouble, because you may not have
|
||||
selected the exact same configuration variables. Plain advise: if you
|
||||
do not have your original kernel tree anymore, recompile your kernel
|
||||
first.
|
||||
|
||||
Note that there is no need for a perfect match at compilation time, just
|
||||
at run-time. This means you can cross-compile against a different kernel
|
||||
version, and the Makefile does not check for this.
|
||||
|
||||
Usually problems if the match is imperfect, is that either this package
|
||||
won't compile at all (because it was a freshly unpacked tree without
|
||||
some files generated by `make *config dep'), or that you can't insert
|
||||
modules because of either a `kernel-module version mismatch' or because
|
||||
of `unresolved kernel symbols'. If you get either of these messages,
|
||||
check your kernel tree!
|
||||
|
||||
To keep problems to a minimum, please use a 'vanilla' kernel tree,
|
||||
as distributed on ftp://ftp.kernel/org/pub/linux/kernel, and not one
|
||||
patched by your distribution.
|
||||
Run-time dependencies:
|
||||
* libsysfs (from sysfsutils)
|
||||
* perl (for sensors-detect)
|
||||
* rrd (optional, for sensord)
|
||||
|
||||
|
||||
Compilation
|
||||
===========
|
||||
|
||||
This will compile and install the complete lm_sensors package. At the
|
||||
top of the Makefile are a couple of configuration variables that you may
|
||||
want to change. A list is found below.
|
||||
At the top of the Makefile are a couple of configuration variables that
|
||||
you may want to change. There's a description of what each variable does
|
||||
in the Makefile itself.
|
||||
|
||||
Compilation is done by `make all'; `make install' installs the package.
|
||||
You will get a lot of warnings about files which are not found, all
|
||||
ending on `.*d'. You can safely ignore this; they contain dependency
|
||||
information, which is regenerated on the spot.
|
||||
Compilation is done by `make all'. You will get a lot of warnings about
|
||||
files which are not found, all ending in `.*d'. You can safely ignore
|
||||
this; they contain dependency information, which is regenerated on the
|
||||
spot.
|
||||
|
||||
Please continue reading this file before you start compiling.
|
||||
|
||||
|
||||
Makefile configuration variables
|
||||
================================
|
||||
|
||||
SHELL (default: /bin/sh)
|
||||
You may have to specify the full path to Bash here, if /bin/sh is some
|
||||
other shell. There have been conflicting reports on whether this is
|
||||
needed.
|
||||
WARN (default: 0)
|
||||
Generate additional compilation warnings; mainly interesting for
|
||||
developers.
|
||||
DEBUG (default: 0)
|
||||
Some drivers will issue more debug information if you set this to
|
||||
1. Don't do it, unless you are a developer or are instructed to do
|
||||
so by the lm_sensors team.
|
||||
PREFIX (default: /usr/local)
|
||||
Prefix for almost all installation directories.
|
||||
ETCDIR (default: /etc)
|
||||
Installation location of the sensors.conf configuration file.
|
||||
LIBDIR (default: $(PREFIX)/lib)
|
||||
Installation location of all static and shared libraries.
|
||||
BINDIR (default: $(PREFIX)/bin)
|
||||
Installation directory of programs useful for users.
|
||||
SBINDIR (default: $(PREFIX)/sbin)
|
||||
Installation directory of system administrator-only programs.
|
||||
INCLUDEDIR (default: $(PREFIX)/include)
|
||||
Base installation directory for include files (see next two vars).
|
||||
LIBINCLUDEDIR (default: $(INCLUDEDIR)/sensors)
|
||||
Installation directory for libsensors include files.
|
||||
MANDIR (default: $(PREFIX)/man)
|
||||
Base installation directory for manual pages.
|
||||
`make install' installs the package (to /usr/local by default).
|
||||
|
||||
|
||||
Using the sensors package
|
||||
=========================
|
||||
|
||||
You can now load the modules by using `modprobe'. For example,
|
||||
`modprobe i2c-piix4' will load the i2c-piix4 module, and all i2c modules
|
||||
on which it depends.
|
||||
|
||||
You can not use demand-loading; you will have to issue explicit modprobe
|
||||
instructions.
|
||||
|
||||
There is a scanning program installed called sensors-detect. It
|
||||
will scan all available I2C and SMBus adapters for all known devices,
|
||||
and will also look for ISA, PCI and Super-I/O chips with sensors,
|
||||
and give you a list of what modules you need to insert.
|
||||
will scan all available I2C and SMBus adapters for all known sensor
|
||||
devices, and will also look for ISA, PCI and Super-I/O chips with
|
||||
sensors, and give you a list of what kernel drivers you need to load
|
||||
(using modprobe).
|
||||
|
||||
You can use the installed sensors program to get a report of all detected
|
||||
sensor devices. There is also a manual page for this program. Calling
|
||||
|
||||
Reference in new issue
Block a user