# HG changeset patch # User Florian Pose # Date 1159204806 0 # Node ID e43a29f9079eb3ed488366e2010da1d98d0860e4 # Parent c9cb34469c74218fa5f26c53def138350ef19cc6 Updated documentation concerning autotools/installation. diff -r c9cb34469c74 -r e43a29f9079e documentation/ethercat_doc.tex --- a/documentation/ethercat_doc.tex Mon Sep 25 16:05:07 2006 +0000 +++ b/documentation/ethercat_doc.tex Mon Sep 25 17:20:06 2006 +0000 @@ -3466,7 +3466,7 @@ the number of EoE interfaces (and handlers) per master to create. This parameter can either be specified when manually loading the master module, or (when using the init script) by setting the -\textit{\$EOE\_INTERFACES} variable in the sysconfig file (see +\textit{EOE\_INTERFACES} variable in the sysconfig file (see section~\ref{sec:sysconfig}). Upon loading of the master module, the virtual interfaces become available: @@ -4044,11 +4044,13 @@ The EtherCAT master provides an ``init script'', that conforms to the requirements of the ``Linux Standard Base'' (LSB\index{LSB}, -\cite{lsb}). The script is installed to \textit{/etc/init.d/ethercat}, -so that the master can be easily inserted as a service. The different -Linux distributions offer different ways to mark the service for -starting and stopping in certain runlevels (for example, SUSE provides -the \textit{insserv} command). +\cite{lsb}). The script is installed to \textit{etc/init.d/ethercat} +below the installation prefix and has to be copied to the appropriate +location (see section~\ref{sec:make}), before the master can be +inserted as a service. The different Linux distributions offer +different ways to mark the service for starting and stopping in +certain runlevels (for example, SUSE Linux provides the +\textit{insserv} command). To provide service dependencies (i.~e. which services have to be started before) right inside the init script code, LSB defines a @@ -4073,8 +4075,6 @@ The init script can also be used for manually starting and stopping the EtherCAT master. It has to be executed with one of the parameters \textit{start}, \textit{stop}, \textit{restart} or \textit{status}. -Besides, a link to the script is placed at -\textit{/usr/sbin/rcethercat} for easier access. \begin{lstlisting} host# `\textbf{/etc/init.d/ethercat restart}` @@ -4087,9 +4087,9 @@ \index{Sysconfig file} For persistent configuration, the init script uses a sysconfig file -installed to \textit{/etc/sys\-config/ethercat}, that is mandatory for -the init script. The sysconfig file contains all configuration -variables needed to operate a master: +installed to \textit{etc/sysconfig/ethercat} (below the installation +prefix), that is mandatory for the init script. The sysconfig file +contains all configuration variables needed to operate a master: \begin{description} \item[DEVICE\_INDEX] This variable must contain the PCI index of the @@ -4305,43 +4305,57 @@ with the command below (or similar): \begin{lstlisting} - host> `\textbf{tar xjf ethercat-stable-1.1-r513-src.tar.bz2}` - host> `\textbf{cd ethercat-stable-1.1-r513-src}` -\end{lstlisting} - -For compilation, the kernel sources are needed. Basically any kernel -sources are appropriate\footnote{If a realtime extension is to be - used, the kernel has to be patched before that.}, that are -configured with networking. If the host kernel is not the running -kernel, a copy of the configuration template has to be made: + host> `\textbf{tar xjf ethercat-1.1-rXXX.tar.bz2}` + host> `\textbf{cd ethercat-1.1-rXXX/}` +\end{lstlisting} + +The tarball was created with GNU Autotools, so the build process +follows the usual commands: \begin{lstlisting} - host> `\textbf{cp ethercat.conf.tmpl ethercat.conf}` -\end{lstlisting} - -Now the \textit{\$KERNEL} variable inside the \textit{ethercat.conf} -file can be adjusted to reflect the appropriate kernel version. If -everything is correct now, the sucessive call to + host> `\textbf{./configure}` + host> `\textbf{make}` +\end{lstlisting} + +The default installation prefix is \textit{/opt/etherlab}. It can be +changed with the \texttt{--prefix} argument. + +Linux kernel sources are needed for compilation\footnote{If a realtime + extension shall to be used, the kernel should be patched before + compiling the EtherCAT master.}. To compile the EtherCAT master +modules for a different kernel than the running kernel, the target +kernel version can be specified with the \texttt{--with-linux} +argument. Example: \begin{lstlisting} + host> `\textbf{./configure --with-linux="2.6.17-ipipe"}` host> `\textbf{make}` \end{lstlisting} -will result in no errors. - The following commands have to be entered as \textit{root}: To install -the kernel modules, the init script, the sysconfig file and the user -space tools, the below command has to be executed: +the kernel modules, headers, the init script, the sysconfig file and +the user space tools, the below command has to be executed: \begin{lstlisting} host# `\textbf{make install}` \end{lstlisting} -If the sysconfig file did not exist yet, the user is notified to edit -it, before running the master. For the contents of the file, see -section~\ref{sec:sysconfig}. To give a short summary: The most -important thing is to adjust the \textit{\$DEVICE\_INDEX} variable. It -has to be set to the index of the compatible network device to use +If the EtherCAT master shall be run as a service (recommended), the +init script and the sysconfig file have to be copied to the +appropriate locations. The below example is suitable for SUSE Linux. +It may vary for other distributions. + +\begin{lstlisting} + host# `\textbf{cd /opt/etherlab}` + host# `\textbf{cp etc/sysconfig/ethercat /etc/sysconfig/}` + host# `\textbf{cp etc/init.d/ethercat /etc/init.d/}` + host# `\textbf{insserv ethercat}` +\end{lstlisting} + +Now the sysconfig file has to be customized. For the contents of the +file, see section~\ref{sec:sysconfig}. To give a short summary: The +most important thing is to adjust the \textit{DEVICE\_INDEX} variable. +It has to be set to the index of the compatible network device to use with EtherCAT, where the order of devices is dependent on their position in the PCI bus. If this is not known, the index can be determinded with trial and error, but it has to be considered that a @@ -4355,7 +4369,9 @@ \end{lstlisting} The operation of the master can be observed by looking at the -syslog\index{syslog} messages, which should look like the ones below: +syslog\index{syslog} messages, which should look like the ones below. +If EtherCAT slaves are connected to the master's EtherCAT device, the +activity indicators should begin to flash. \begin{lstlisting}[numbers=left] EtherCAT: Master driver, 1.1 (stable) - rev. 513,