2863 |
2863 |
2864 \chapter{Installation} |
2864 \chapter{Installation} |
2865 \label{sec:installation} |
2865 \label{sec:installation} |
2866 \index{Master!Installation} |
2866 \index{Master!Installation} |
2867 |
2867 |
|
2868 \section{Getting the Software} |
|
2869 \label{sec:getting} |
|
2870 |
|
2871 There are several ways to get the master software: |
|
2872 |
|
2873 \begin{enumerate} |
|
2874 |
|
2875 \item An official release (for example \masterversion), can be downloaded from |
|
2876 the master's website\footnote{\url{http://etherlab.org/en/ethercat/index.php}} |
|
2877 at~the EtherLab project~\cite{etherlab} as a tarball. |
|
2878 |
|
2879 \item The most recent development revision (and moreover any other revision) |
|
2880 can be obtained via the Mercurial~\cite{mercurial} repository on the master's |
|
2881 project page on |
|
2882 SourceForge.net\footnote{\url{http://sourceforge.net/projects/etherlabmaster}}. |
|
2883 The whole repository can be cloned with the command |
|
2884 |
|
2885 \begin{lstlisting}[breaklines=true] |
|
2886 hg clone http://etherlabmaster.hg.sourceforge.net/hgweb/etherlabmaster/etherlabmaster `\textit{local-dir}` |
|
2887 \end{lstlisting} |
|
2888 |
|
2889 \item Without a local Mercurial installation, tarballs of arbitrary revisions |
|
2890 can be downloaded via the ``bz2'' links in the browsable repository |
|
2891 pages\footnote{\url{http://etherlabmaster.hg.sourceforge.net/hgweb/etherlabmaster/etherlabmaster}}. |
|
2892 |
|
2893 \end{enumerate} |
|
2894 |
2868 \section{Building the Software} |
2895 \section{Building the Software} |
2869 |
2896 |
2870 The current EtherCAT master code is available at~\cite{etherlab} or can be |
2897 After downloading a tarball or cloning the repository as described in |
2871 obtained from the EtherLab CD. The \textit{tar.bz2} file has to be unpacked |
2898 sec.~\ref{sec:getting}, the sources have to be prepared and configured for the |
2872 with the commands below (or similar): |
2899 build process. |
|
2900 |
|
2901 When a tarball was downloaded, it has to be extracted with the following |
|
2902 commands: |
2873 |
2903 |
2874 \begin{lstlisting}[gobble=2] |
2904 \begin{lstlisting}[gobble=2] |
2875 $ `\textbf{tar xjf ethercat-\masterversion.tar.bz2}` |
2905 $ `\textbf{tar xjf ethercat-\masterversion.tar.bz2}` |
2876 $ `\textbf{cd ethercat-\masterversion/}` |
2906 $ `\textbf{cd ethercat-\masterversion/}` |
2877 \end{lstlisting} |
2907 \end{lstlisting} |
2878 |
2908 |
2879 The tarball was created with GNU Autotools, so the build process |
2909 The software configuration is managed with Autoconf~\cite{autoconf} so the |
2880 follows the below commands: |
2910 released versions contain a \lstinline+configure+ shell script, that has to be |
|
2911 executed for configuration (see below). |
|
2912 |
|
2913 \paragraph{Bootstrap} When downloading or cloning directly from the |
|
2914 repository, the \lstinline+configure+ script does not yet exist. It can be |
|
2915 created via the \lstinline+bootstrap.sh+ script in the master sources. The |
|
2916 autoconf and automake packages are required for this. |
|
2917 |
|
2918 \paragraph{Configuration and Build} The configuration and the build process |
|
2919 follow the below commands: |
2881 |
2920 |
2882 \begin{lstlisting}[gobble=2] |
2921 \begin{lstlisting}[gobble=2] |
2883 $ `\textbf{./configure}` |
2922 $ `\textbf{./configure}` |
2884 $ `\textbf{make}` |
2923 $ `\textbf{make}` |
2885 $ `\textbf{make modules}` |
2924 $ `\textbf{make modules}` |
3138 \url{http://rt.wiki.kernel.org/index.php/RT_PREEMPT_HOWTO}, 2010. |
3177 \url{http://rt.wiki.kernel.org/index.php/RT_PREEMPT_HOWTO}, 2010. |
3139 |
3178 |
3140 \bibitem{doxygen} Doxygen. Source code documentation generator tool. |
3179 \bibitem{doxygen} Doxygen. Source code documentation generator tool. |
3141 \url{http://www.stack.nl/~dimitri/doxygen}, 2008. |
3180 \url{http://www.stack.nl/~dimitri/doxygen}, 2008. |
3142 |
3181 |
|
3182 \bibitem{mercurial} Mercurial SCM. \url{http://mercurial.selenic.com}, 2010. |
|
3183 |
|
3184 \bibitem{autoconf} Autoconf -- GNU Project -- Free Software Foundation (FSF). |
|
3185 \url{http://www.gnu.org/software/autoconf}, 2010. |
|
3186 |
3143 \end{thebibliography} |
3187 \end{thebibliography} |
3144 |
3188 |
3145 \printnomenclature |
3189 \printnomenclature |
3146 \addcontentsline{toc}{chapter}{\nomname} |
3190 \addcontentsline{toc}{chapter}{\nomname} |
3147 \markleft{\nomname} |
3191 \markleft{\nomname} |