Use 'bool' type for 'bool' module parameters, if supported.
[comedi.git] / INSTALL
diff --git a/INSTALL b/INSTALL
index 5ee99bb76478f27d35de0cab69f1799e9c766dd4..c85b02558ef9be5b831915792919f6a76b0802c4 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -4,8 +4,9 @@
 In order to compile the Comedi modules, you will need to have
 a correctly configured Linux kernel source tree.  The best
 way to get one is to download a tarball from kernel.org and
-compile your own kernel.  Comedi should work with most 2.2 and
-2.4 Linux kernels.  Support for 2.0.3x is not actively maintained,
+compile your own kernel.  Comedi should work with most 2.2, 
+2.4, and 2.6 Linux kernels.  2.6.x kernels older than 2.6.6 are
+not supported.  Support for 2.0.3x is not actively maintained,
 but it should work and bugs will be fixed as they are reported.
 
 You can also prepare a kernel source tree that matches
@@ -14,7 +15,7 @@ the Debian distibution the config files for the kernel-image packages
 are installed into the /boot directory).  The following steps will
 (almost) set up your kernel sources correctly.  You will also need
 write permission to the kernel source directory the first time you
-run comedi's 'make config', so you might want to unpack the kernel 
+run comedi's configure script, so you might want to unpack the kernel
 source into a directory you own.
 
 1) Get a copy of the kernel source that matches the kernel you are
@@ -26,7 +27,9 @@ source into a directory you own.
        'uname -r' produces "2.4.16-386" then your EXTRAVERSION should be
        set as 'EXTRAVERSION=-386'.
 3) Run 'make oldconfig' in your kernel source directory.
-4) Run 'make dep' in the kernel source directory and you are done.
+4) Run 'make dep' (for 2.6 kernels, do a 'make modules_prepare' instead 
+       or even better a full 'make') in the kernel source directory and 
+       you are done.
 
 Red Hat users note: Kernel sources that are distributed with Red
 Hat Linux are not supported, because they are too heavily
@@ -36,28 +39,29 @@ Documentation/comedi/redhat-notes on how to use Red Hat kernels.
 * RTAI support:
 
 If you want to use the real-time capabilities of Comedi with
-RTAI, you need to compile and install RTAI first.  It is
-necessary to use the rthal patch instead of the "copyto"
-scripts.  Known working versions are RTAI-1.6, RTAI-24.1.4,
-and current RTAI CVS.  Remember to enable Kcomedilib support,
-since you will be accessing Comedi from other kernel modules.
+RTAI, you need to compile and install RTAI first.  If you
+don't install the rtai kernel modules, you may get unresolved
+symbols when installing the comedi kernel modules.
 
 * RTLinux support:
 
 If you want to use the real-time capabilities of Comedi with
 RTLinux, you need to compile RTLinux (both the kernel and the
 modules) first.  Known working versions are 2.x and 3.0.
-Remember to enable Kcomedilib support, since you will be
-accessing Comedi from other kernel modules.
 
 * Configuration:
 
-Configure using 'make'.  This will ask you the location of the
-Linux kernel source tree.  If it detects that you have a kernel
-patched for RTAI or RTLinux, it will also ask you for the location
-of the RTAI or RTLinux source directory.  Then the configuration
-script will ask questions for a couple general Comedi features
-and then whether or not compile each driver.
+Configure with './configure'.  './configure --help' will give the
+configuration options.  If the configure script does not exist
+(if you checked comedi out from git for example), it can
+be generated by running './autogen.sh'.  The autoconf, automake,
+autoheader, etc. tools are required to generate the configure
+script (automake version >= 1.7 recommended).  The --with-linuxdir
+option is particularly useful, as it allows you to specify
+the location of your Linux kernel source directory.  If
+you are using an RT-patched kernel, the --with-rtaidir or
+--with-rtlinuxdir options allow you to specify
+the location of your RTAI or RTLinux source directory.
 
 * Compiling:
 
@@ -69,18 +73,29 @@ log, it is impossible to find problems.
 
 Install using 'make install' as root.  This installs the files:
 
-  /lib/modules/<<kernel version>>/misc/comedi.o
-  /lib/modules/<<kernel version>>/misc/kcomedilib.o
-  /lib/modules/<<kernel version>>/misc/<<driver files>>.o
-
-You need to create device files to access the hardware from a
-user process.  These can be created using 'make dev'.  The following
-special files will be created:
+  /lib/modules/<<kernel version>>/comedi/comedi.ko
+  /lib/modules/<<kernel version>>/comedi/kcomedilib.ko
+  /lib/modules/<<kernel version>>/comedi/<<driver files>>.ko
+
+Comedi communicates with userspace via device files (/dev/comedi*).
+If you have devices which are able to auto-configure themselves and
+you've got udev support these devices are created automatically.  You
+can disable this mechanism by setting the module parameter
+comedi_autoconfig to zero of the module "comedi_fops". In case you
+have got an old ISA card or no udev support (embedded systems) you can
+create static devices with the module parameter
+comedi_num_legacy_minors by setting it to the number of desired static
+/dev/comedi* devices. You can then configure your device from the
+userspace with comedi_config. In this case you need to create device
+files to access the hardware by hand from a user process.  These can
+be created using 'make dev'.  The following special files will be
+created:
 
   /dev/comedi0
   /dev/comedi1
   /dev/comedi2
-  /dev/comedi3
+  ...
+  /dev/comedi15
 
 * Comedilib:
 
@@ -96,7 +111,7 @@ be loaded into the kernel.  This is done by a command similar to
   /sbin/modprobe <<driver>>
 
 If your module dependencies are set up correctly, this will load
-both comedi.o and your driver.  If you get unresolved symbols, check
+both comedi.ko and your driver.  If you get unresolved symbols, check
 the FAQ or the mailing list archives.  Also look at the man pages
 for modprobe and insmod.
 
@@ -129,6 +144,9 @@ directory.
 
 * Module Autoloading:
 
+For recent kernels, module autoloading is handled by udev.  The
+following is only applicable to older kernels.
+
 If you like to autoload your modules, put the following lines
 into /etc/modules.conf (this does not apply for PCMCIA cards):
 
@@ -143,24 +161,18 @@ following lines into /etc/conf.modules:
   alias char-major-98-0 dt282x
   post-install dt282x /etc/dt282x.conf
 
-If you have a National Instruments AT-MIO or PCI-MIO board, you probably
-will want to run comedi_calibrate, an autocalibration tool that is part
-of comedilib in a bootup script.
+* Calibration:
+
+If your board has self-calibration capabilities,
+will want to run comedi_calibrate, an autocalibration tool that 
+is packaged in a seperate tarball, in a bootup script.
 
 * PCMCIA:
 
-Linux-2.4 kernels are recommended for PCMCIA drivers, since 2.2
-kernel require the separate PCMCIA package.  It is possible to
-use 2.2 kernels with PCMCIA, although it is necessary to modify
-the top level Makefile.
-
-Comedi works with several PCMCIA cards, and the driver modules can
-be loaded and unloaded upon insertion and removal of the card.
-The necessary configuration files are in the Comedilib source
-package.  Copy the files in etc/pcmcia/ to /etc/pcmcia and restart
-card services.  The pcmcia script provided is very simple -- it only
-uses /dev/comedi0 for devices, which is a limitation if you have
-other Comedi devices in your system.
+The PCMCIA drivers require at least a 2.6.16 kernel (at for
+unpatched mainline kernels).  You must also have pcmciautils
+and udev installed.  You can write a udev rule to automatically
+run gpib_config after the driver is loaded.
 
 * Upgrading: