From 59d4afd8e1df006dbff014c15851399b82ac6ffa Mon Sep 17 00:00:00 2001 From: Jean Delvare Date: Mon, 24 Sep 2007 13:03:38 +0000 Subject: [PATCH] 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 --- INSTALL | 175 ++++++++++---------------------------------------------- 1 file changed, 30 insertions(+), 145 deletions(-) diff --git a/INSTALL b/INSTALL index ab11952f..0a8252fe 100644 --- a/INSTALL +++ b/INSTALL @@ -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