summaryrefslogtreecommitdiffstats
path: root/documentation/book-enea-linux-users-guide/doc
diff options
context:
space:
mode:
authorAdrian Dudau <adrian.dudau@enea.com>2016-01-18 14:51:29 +0100
committerAdrian Dudau <adrian.dudau@enea.com>2016-01-18 14:54:45 +0100
commit0d310c2324d0fddcf306c406849158d84a6bd608 (patch)
tree55df39f628c52403315e7955eb387a44dc24076c /documentation/book-enea-linux-users-guide/doc
downloadmeta-enea-base-ppc-0d310c2324d0fddcf306c406849158d84a6bd608.tar.gz
initial commit for Enea Linux 5.0-ppcdizzy-enea
Signed-off-by: Adrian Dudau <adrian.dudau@enea.com>
Diffstat (limited to 'documentation/book-enea-linux-users-guide/doc')
-rw-r--r--documentation/book-enea-linux-users-guide/doc/book.xml26
-rw-r--r--documentation/book-enea-linux-users-guide/doc/cpu_isolation.xml80
-rw-r--r--documentation/book-enea-linux-users-guide/doc/dpaa.xml43
-rw-r--r--documentation/book-enea-linux-users-guide/doc/features.xml93
-rw-r--r--documentation/book-enea-linux-users-guide/doc/gettingstarted.xml85
-rw-r--r--documentation/book-enea-linux-users-guide/doc/install_enealinux.xml147
-rw-r--r--documentation/book-enea-linux-users-guide/doc/install_toolchain.xml149
-rw-r--r--documentation/book-enea-linux-users-guide/doc/targetguide.xml59
-rw-r--r--documentation/book-enea-linux-users-guide/doc/troubleshooting.xml34
9 files changed, 716 insertions, 0 deletions
diff --git a/documentation/book-enea-linux-users-guide/doc/book.xml b/documentation/book-enea-linux-users-guide/doc/book.xml
new file mode 100644
index 0000000..5ec0b4b
--- /dev/null
+++ b/documentation/book-enea-linux-users-guide/doc/book.xml
@@ -0,0 +1,26 @@
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
3"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
4<!ENTITY % local.common.attrib "xml:base CDATA #IMPLIED">
5<!ENTITY global_docsrc_common "../../../../docbuild/template/docsrc_common">
6<!ENTITY local_pardoc_distro "../../docsrc_common/pardoc-distro.xml">
7<!ENTITY common_ug "../../../../documentation/book-enea-linux-users-guide/doc">
8]>
9<book id="book_enea_linux_users_guide">
10 <title><trademark class="registered">Enea</trademark> Linux
11 <xi:include href="&local_pardoc_distro;" xpointer="element(EneaLinux_PROD_VER/1)"
12 xmlns:xi="http://www.w3.org/2001/XInclude" /> for PPC, User's Guide</title>
13 <subtitle>Release Version
14 <xi:include href="&local_pardoc_distro;" xpointer="element(EneaLinux_REL_VER/1)"
15 xmlns:xi="http://www.w3.org/2001/XInclude" /></subtitle>
16 <xi:include href="&global_docsrc_common;/bookinfo_userdoc.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
17 <xi:include href="&common_ug;/about.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
18 <xi:include href="gettingstarted.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
19 <xi:include href="&common_ug;/system_requirements.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
20 <xi:include href="targetguide.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
21 <xi:include href="&common_ug;/using.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
22 <xi:include href="features.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
23 <xi:include href="&common_ug;/eclipseguide.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
24 <xi:include href="troubleshooting.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
25 <index id="enea_linux_index"></index>
26</book>
diff --git a/documentation/book-enea-linux-users-guide/doc/cpu_isolation.xml b/documentation/book-enea-linux-users-guide/doc/cpu_isolation.xml
new file mode 100644
index 0000000..e259c00
--- /dev/null
+++ b/documentation/book-enea-linux-users-guide/doc/cpu_isolation.xml
@@ -0,0 +1,80 @@
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
3"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
4<section condition="f_ci" id="enea-linux-realtime-cpu-isolation">
5 <title>CPU Isolation</title>
6
7 <note>
8 <para>The level of feature support is target specific. Look up the <link
9 linkend="feature-matrix">Feature Compatibility Matrix</link> to see how
10 your target supports this feature.</para>
11 </note>
12
13 <para><emphasis role="bold">CPU isolation</emphasis><indexterm>
14 <primary>CPU isolation</primary>
15 </indexterm><indexterm>
16 <primary>isolation</primary>
17 </indexterm> facilitates predictable task scheduling, hence real-time
18 properties, by protecting SMP<indexterm>
19 <primary>SMP</primary>
20 </indexterm> CPUs<indexterm>
21 <primary>CPU</primary>
22 </indexterm> from being disturbed by unnecessary interrupts and unwanted
23 tasks. The isolated CPUs are granted a tickless environment, and are
24 excluded from load balancing. Any CPU except for CPU 0 can be
25 isolated.</para>
26
27 <para>Depending on the capabilities of the kernel for the specific target,
28 the isolated CPUs can obtain a tickless or nearly tickless environment. A
29 tickless environment means that isolated CPUs get no ticks at all (0 Hz).
30 Nearly tickless environment means that isolated CPUs are still disturbed by
31 ticks once a second (1 Hz).</para>
32
33 <para>The CPU isolation process involves several steps until a CPU is fully
34 isolated. Enea Linux simplifies this process for you by implementing in the
35 distribution kernel patching and configuration, and providing a script that
36 performs the partitioning in runtime.</para>
37
38 <orderedlist>
39 <listitem>
40 <para>Install <emphasis role="italic">partrt</emphasis> in Enea
41 Linux</para>
42 </listitem>
43
44 <listitem>
45 <para><phrase id="enea-linux-realtime-cpu-isolation-boot">Load and
46 boot</phrase> Enea Linux on target as described in the <link
47 linkend="enea-linux-target">Target Guide</link>, but also add the boot
48 parameters <literal>isolcpus</literal><indexterm>
49 <primary>isolcpus</primary>
50 </indexterm> and <literal>nohz</literal><indexterm>
51 <primary>nohz</primary>
52 </indexterm> telling which CPUs to isolate.</para>
53
54 <para>If booted by U-Boot:</para>
55
56 <programlisting>setenv bootargs &lt;other params&gt; <emphasis
57 role="bold">isolcpus=2,3 nohz_full=2,3</emphasis></programlisting>
58
59 <para>If booted by PXE:</para>
60
61 <programlisting>append &lt;other params&gt; <emphasis role="bold">isolcpus=2,3 nohz_full=2,3</emphasis></programlisting>
62 </listitem>
63
64 <listitem>
65 <para>After booting the Linux kernel, execute the <emphasis
66 role="bold">partrt</emphasis><indexterm>
67 <primary>partrt</primary>
68 </indexterm> script to create real-time partitions for the isolated
69 CPUs. Each CPU is coded as a binary number. The argument to partrt is an
70 OR-ed bit mask of the CPU/s to add to the real-time partition, here
71 0100<subscript>2</subscript> (CPU 2) OR 1000<subscript>2</subscript>
72 (CPU 3) = 1100<subscript>2</subscript> (0xc).</para>
73
74 <programlisting>$ partrt create 0xc</programlisting>
75
76 <para>CPUs 2 and 3 now provide an optimal real-time environment for your
77 application.</para>
78 </listitem>
79 </orderedlist>
80</section> \ No newline at end of file
diff --git a/documentation/book-enea-linux-users-guide/doc/dpaa.xml b/documentation/book-enea-linux-users-guide/doc/dpaa.xml
new file mode 100644
index 0000000..8ef4a2c
--- /dev/null
+++ b/documentation/book-enea-linux-users-guide/doc/dpaa.xml
@@ -0,0 +1,43 @@
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
3"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
4<section id="dpaa">
5 <title>Include USDPAA features</title>
6
7 <para>The packages below are related to the USDPAA framework and needs to be
8 installed either during boot time or with the package-manager.</para>
9
10 <itemizedlist spacing="compact">
11 <listitem>
12 <para><emphasis role="bold">usdpaa:</emphasis> USDPAA drivers.</para>
13 </listitem>
14
15 <listitem>
16 <para><emphasis role="bold">fmlib:</emphasis> Foundation library.</para>
17 </listitem>
18
19 <listitem>
20 <para><emphasis role="bold">fmc:</emphasis> Frame Manager Configuration
21 tool.</para>
22 </listitem>
23
24 <listitem>
25 <para><emphasis role="bold">flib:</emphasis> Frame Manager User Space
26 library.</para>
27 </listitem>
28
29 <listitem>
30 <para><emphasis role="bold">eth-config:</emphasis> Ethernet
31 configuration files.</para>
32 </listitem>
33 </itemizedlist>
34
35 <para>The boot arguments for USDPAA differ between the user applications,
36 and can be found in NXP's <ulink
37 url="https://freescale.sdlproducts.com/LiveContent/content/en-US/">https://freescale.sdlproducts.com/LiveContent/content/en-US/</ulink>,
38 under <emphasis>Software and Tool</emphasis>s &rarr;
39 <emphasis>QorIQ</emphasis> &rarr; <emphasis>SDK</emphasis> &rarr;
40 <emphasis>QorIQ SDK 1.9 Documentation</emphasis> &rarr; <emphasis>Linux User
41 Space</emphasis> &rarr; <emphasis>USDPAA</emphasis> and <emphasis>USDPAA
42 Applications</emphasis>.</para>
43</section> \ No newline at end of file
diff --git a/documentation/book-enea-linux-users-guide/doc/features.xml b/documentation/book-enea-linux-users-guide/doc/features.xml
new file mode 100644
index 0000000..e9279ec
--- /dev/null
+++ b/documentation/book-enea-linux-users-guide/doc/features.xml
@@ -0,0 +1,93 @@
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
3"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
4<chapter condition="f_any" id="enea-linux-features">
5 <title>Adding Features</title>
6
7 <para>Enea Linux provides additional features from other open source
8 projects than Yocto, allowing you to add more capabilities to your Linux
9 system. These features have been grouped into the following
10 categories:</para>
11
12 <variablelist>
13 <varlistentry condition="f_any_nw">
14 <term>Networking features:</term>
15
16 <listitem>
17 <itemizedlist spacing="compact">
18 <listitem condition="f_ovs">
19 <para>Open vSwitch (OVS)</para>
20 </listitem>
21
22 <listitem condition="f_dpdkvs">
23 <para><link linkend="enea-linux-networking-dpdkvswitch">DPDK
24 vSwitch (DVS)</link></para>
25 </listitem>
26
27 <listitem condition="f_dpdk">
28 <para><link linkend="enea-linux-networking-dpdk">Data Plane
29 Development Kit (DPDK)</link></para>
30 </listitem>
31 </itemizedlist>
32 </listitem>
33 </varlistentry>
34
35 <varlistentry condition="f_any_vt">
36 <term>Virtualization features:</term>
37
38 <listitem>
39 <itemizedlist spacing="compact">
40 <listitem condition="f_kvm">
41 <para>Kernel-Based Virtual Machine (KVM)</para>
42 </listitem>
43
44 <listitem condition="f_lxc">
45 <para>Linux Containers (LXC)</para>
46 </listitem>
47 </itemizedlist>
48 </listitem>
49 </varlistentry>
50
51 <varlistentry condition="f_any_rt">
52 <term>Real-time features:</term>
53
54 <listitem>
55 <itemizedlist spacing="compact">
56 <listitem condition="f_ci">
57 <para>CPU Isolation (CI)</para>
58 </listitem>
59
60 <listitem condition="f_fpk">
61 <para><link linkend="enea-linux-realtime-fully-preemptible">Fully
62 Preemptible Kernel (FPK)</link></para>
63 </listitem>
64 </itemizedlist>
65 </listitem>
66 </varlistentry>
67
68 <varlistentry condition="f_any_mem">
69 <term><link linkend="enea-linux-memory">Memory features</link>:</term>
70
71 <listitem>
72 <itemizedlist spacing="compact">
73 <listitem condition="f_numa">
74 <para><link linkend="enea-linux-memory-numa">Non-Uniform Memory
75 Access (NUMA)</link></para>
76 </listitem>
77 </itemizedlist>
78 </listitem>
79 </varlistentry>
80 </variablelist>
81
82 <para>You do not need to download any additional software to enable a
83 feature, since all source code for the features are included as layers,
84 patches, and commands in the Enea Linux source distribution.</para>
85
86 <xi:include href="../../docsrc_common/feature_matrix.xml"
87 xmlns:xi="http://www.w3.org/2001/XInclude" />
88
89 <xi:include href="./dpaa.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
90
91 <xi:include href="./cpu_isolation.xml"
92 xmlns:xi="http://www.w3.org/2001/XInclude" />
93</chapter> \ No newline at end of file
diff --git a/documentation/book-enea-linux-users-guide/doc/gettingstarted.xml b/documentation/book-enea-linux-users-guide/doc/gettingstarted.xml
new file mode 100644
index 0000000..c219fab
--- /dev/null
+++ b/documentation/book-enea-linux-users-guide/doc/gettingstarted.xml
@@ -0,0 +1,85 @@
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
3"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
4<chapter id="enea-linux-install">
5 <title>Getting Started</title>
6
7 <para>This chapter describes the steps required until you have a Linux
8 kernel up and running on an emulated or physical target. Detailed examples
9 are found in the <link linkend="enea-linux-target">Target Guide</link>
10 chapter.</para>
11
12 <para>Start with preparations on your Linux host:</para>
13
14 <orderedlist spacing="compact">
15 <listitem>
16 <para><link linkend="enea-linux-sysreq">System requirements </link>must
17 be met</para>
18 </listitem>
19
20 <listitem>
21 <para><link linkend="enea-linux-inst-packages">Install
22 packages</link></para>
23 </listitem>
24
25 <listitem>
26 <para><link linkend="enea-linux-download">Download and install Enea
27 Linux</link></para>
28 </listitem>
29
30 <listitem>
31 <para><link linkend="enea-linux-install-cc-toolchain">Install the
32 Cross-Compilation Toolchain</link> (optional)</para>
33 </listitem>
34 </orderedlist>
35
36 <para>Once the host environment is ready to use, you can download or build
37 your own images (kernel, root filesystem, etc.) for a specific target<phrase
38 condition="qemu"> or emulated architecture</phrase>, and boot Enea Linux on
39 target<phrase condition="qemu"> or emulated on host</phrase>:</para>
40
41 <orderedlist continuation="continues" spacing="compact">
42 <listitem>
43 <para>Get images: <link linkend="enea-linux-precompiled-images">Download
44 precompiled images</link> or <link linkend="enea-linux-own-images">Build
45 your own images</link></para>
46 </listitem>
47
48 <listitem>
49 <para>Run Enea Linux: <link linkend="enea-linux-target">Install and boot
50 Enea Linux on target </link><phrase condition="qemu">or <link
51 linkend="enea-linux-run-qemu">Run Enea Linux in
52 QEMU</link></phrase></para>
53 </listitem>
54 </orderedlist>
55
56 <para condition="eclipse">For your convenience, you can use the optional
57 Eclipse IDE with application development tools (ADT) to cross-compile,
58 trace, and monitor the performance of your applications, see <link
59 linkend="enea-linux-eclipse">Using Eclipse Tools</link>.</para>
60
61 <para>Similar information as in this chapter is provided in the <xi:include
62 href="../../docsrc_common/pardoc-distro.xml"
63 xmlns:xi="http://www.w3.org/2001/XInclude"
64 xpointer="element(ULINK_YOCTO_QUICK_URL/1)" />.</para>
65
66 <?hard-pagebreak ?>
67
68 <xi:include href="../../../../documentation/book-enea-linux-users-guide/doc/install_packages.xml"
69 xmlns:xi="http://www.w3.org/2001/XInclude" />
70
71 <?hard-pagebreak ?>
72
73 <xi:include href="install_enealinux.xml"
74 xmlns:xi="http://www.w3.org/2001/XInclude" />
75
76 <?hard-pagebreak ?>
77
78 <xi:include href="install_toolchain.xml"
79 xmlns:xi="http://www.w3.org/2001/XInclude" />
80
81 <?hard-pagebreak ?>
82
83 <xi:include href="../../../../documentation/book-enea-linux-users-guide/doc/images_precompiled.xml"
84 xmlns:xi="http://www.w3.org/2001/XInclude" />
85</chapter> \ No newline at end of file
diff --git a/documentation/book-enea-linux-users-guide/doc/install_enealinux.xml b/documentation/book-enea-linux-users-guide/doc/install_enealinux.xml
new file mode 100644
index 0000000..ab151a7
--- /dev/null
+++ b/documentation/book-enea-linux-users-guide/doc/install_enealinux.xml
@@ -0,0 +1,147 @@
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
3"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
4<section id="enea-linux-download">
5 <title>Download and Install Enea Linux</title>
6
7 <para>Download the needed tarballs from <xi:include
8 href="../../docsrc_common/pardoc-distro.xml"
9 xmlns:xi="http://www.w3.org/2001/XInclude"
10 xpointer="element(ULINK_ENEA_LINUX_URL/1)" />.</para>
11
12 <variablelist>
13 <varlistentry>
14 <term>Enea Linux</term>
15
16 <listitem>
17 <para>Enea-Linux-<xi:include
18 href="../../docsrc_common/pardoc-distro.xml"
19 xmlns:xi="http://www.w3.org/2001/XInclude"
20 xpointer="element(EneaLinux_REL_VER/1)" />.tar.gz</para>
21
22 <para>The Enea Linux distribution tarball contains:</para>
23
24 <itemizedlist spacing="compact">
25 <listitem condition="redhat_buildtools">
26 <para>a buildtools toolchain<indexterm>
27 <primary>buildtools toolchain</primary>
28 </indexterm><indexterm>
29 <primary>toolchain</primary>
30
31 <secondary>cross-compilation</secondary>
32 </indexterm> in a self-extracting archive with extension
33 <literal>.sh</literal></para>
34 </listitem>
35
36 <listitem>
37 <para><filename>poky</filename> <indexterm>
38 <primary>poky</primary>
39 </indexterm> - directory containing bitbake, conf files, recipes
40 (.bb, .bbappend, .inc files), packages, patches, scripts, and poky
41 documentation</para>
42 </listitem>
43 </itemizedlist>
44 </listitem>
45 </varlistentry>
46
47 <varlistentry>
48 <term>Documentation</term>
49
50 <listitem>
51 <simplelist>
52 <member>Enea-Linux-doc_<xi:include
53 href="../../docsrc_common/pardoc-distro.xml"
54 xmlns:xi="http://www.w3.org/2001/XInclude"
55 xpointer="element(EneaLinux_REL_VER/1)" />[-docupdate&lt;version&gt;].tar.gz</member>
56
57 <member>If available, take the docupdate tarball to get the latest
58 documentation.</member>
59 </simplelist>
60
61 <para>The Enea Linux documentation tarball contains:</para>
62
63 <itemizedlist spacing="compact">
64 <listitem>
65 <para><filename>README.htm</filename> - index linking to the Enea
66 Linux documentation</para>
67 </listitem>
68
69 <listitem>
70 <para><filename>README.release</filename> - overview of release
71 contents and quick installation guide</para>
72 </listitem>
73
74 <listitem>
75 <para><filename>documentation</filename> <indexterm>
76 <primary>documentation</primary>
77 </indexterm>- Enea Linux documentation in PDF and HTML format:
78 Open Source Reports, Release Information, User's Guide<phrase
79 condition="rtguide">, Real-Time Guide</phrase>.</para>
80 </listitem>
81 </itemizedlist>
82 </listitem>
83 </varlistentry>
84
85 <varlistentry condition="eclipse">
86 <term>Eclipse tools</term>
87
88 <listitem>
89 <para>Enea-Linux-Eclipse_<xi:include
90 href="../../docsrc_common/pardoc-distro.xml"
91 xmlns:xi="http://www.w3.org/2001/XInclude"
92 xpointer="element(EneaLinux_REL_VER_ECLIPSE/1)" />.tar.gz.</para>
93
94 <para>Optional but recommended tools for Enea Linux. The tarball
95 contains:</para>
96
97 <itemizedlist spacing="compact">
98 <listitem>
99 <para><filename>eclipse</filename> - the Eclipse IDE version
100 <phrase>4.3 </phrase><phrase>Kepler</phrase>, with eclipse
101 executable and plug-ins (CDT, RSE, SDK, ...)</para>
102 </listitem>
103
104 <listitem>
105 <para><filename>yocto-plugins</filename> - additional eclipse
106 plug-ins with tools from the Yocto Project Application Development
107 Toolkit (ADT)</para>
108 </listitem>
109 </itemizedlist>
110
111 <para>The Eclipse related documentation - Eclipse Open Source Report,
112 and the Eclipse chapter in the User's Guide - is available in the Enea
113 Linux documentation tarball.</para>
114 </listitem>
115 </varlistentry>
116 </variablelist>
117
118 <para>Unpack the Enea Linux distribution tarball:</para>
119
120 <programlisting>$ tar xzf Enea-Linux-<xi:include
121 href="../../docsrc_common/pardoc-distro.xml"
122 xmlns:xi="http://www.w3.org/2001/XInclude"
123 xpointer="element(EneaLinux_REL_VER/1)" />.tar.gz</programlisting>
124
125 <para>Unpack the Enea Linux documentation tarball:</para>
126
127 <programlisting>$ tar xzf Enea-Linux-doc_<xi:include
128 href="../../docsrc_common/pardoc-distro.xml"
129 xmlns:xi="http://www.w3.org/2001/XInclude"
130 xpointer="element(EneaLinux_REL_VER/1)" />.tar.gz
131# or, if available:
132$ tar xzf Enea-Linux-doc_<xi:include
133 href="../../docsrc_common/pardoc-distro.xml"
134 xmlns:xi="http://www.w3.org/2001/XInclude"
135 xpointer="element(EneaLinux_REL_VER/1)" />-docupdate&lt;version&gt;.tar.gz</programlisting>
136
137 <para condition="eclipse">If you want to use the Eclipse IDE and the
138 application development tools, unpack the Eclipse tarball:</para>
139
140 <programlisting condition="eclipse">$ tar xzf Enea-Linux-Eclipse_<xi:include
141 href="../../docsrc_common/pardoc-distro.xml"
142 xmlns:xi="http://www.w3.org/2001/XInclude"
143 xpointer="element(EneaLinux_REL_VER_ECLIPSE/1)" />.tar.gz</programlisting>
144
145 <para>Optionally <link linkend="enea-linux-install-cc-toolchain">Install the
146 cross-compilation toolchain</link>.</para>
147</section> \ No newline at end of file
diff --git a/documentation/book-enea-linux-users-guide/doc/install_toolchain.xml b/documentation/book-enea-linux-users-guide/doc/install_toolchain.xml
new file mode 100644
index 0000000..d5f7254
--- /dev/null
+++ b/documentation/book-enea-linux-users-guide/doc/install_toolchain.xml
@@ -0,0 +1,149 @@
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
3"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
4<section id="enea-linux-install-cc-toolchain">
5 <title>Install the Cross-Compilation Toolchain</title>
6
7 <para>Before cross-compiling<indexterm>
8 <primary>cross-compiling</primary>
9 </indexterm> applications for your target, you need to install the
10 Software Development Kit (SDK<indexterm>
11 <primary>SDK</primary>
12 </indexterm>) - which contains the cross-compilation toolchain<indexterm>
13 <primary>toolchain</primary>
14 </indexterm> - and set up the cross-compilation environment on your host.
15 The toolchain for each supported target contains a 32-bit and a 64-bit
16 library for gcc. The toolchain and the environment-setup script are wrapped
17 together inside a toolchain installer in the form of a shell script.</para>
18
19 <simplelist>
20 <member>Name of the installer:</member>
21
22 <member><literal><xi:include href="../../docsrc_common/pardoc-distro.xml"
23 xmlns:xi="http://www.w3.org/2001/XInclude"
24 xpointer="element(EneaLinux_SDK_INSTALLER/1)" /></literal></member>
25 </simplelist>
26
27 <simplelist>
28 <member>Name of the environment-setup scripts:</member>
29
30 <member><literal><xi:include href="../../docsrc_common/pardoc-distro.xml"
31 xmlns:xi="http://www.w3.org/2001/XInclude"
32 xpointer="element(EneaLinux_SDK_ENV_SCRIPT_32/1)" /></literal></member>
33
34 <member><literal><xi:include href="../../docsrc_common/pardoc-distro.xml"
35 xmlns:xi="http://www.w3.org/2001/XInclude"
36 xpointer="element(EneaLinux_SDK_ENV_SCRIPT_64/1)" /></literal></member>
37 </simplelist>
38
39 <para>The cross-compilation toolchain for <literal>t4240rdb-64b</literal> is
40 packaged as follows:<itemizedlist spacing="compact">
41 <listitem>
42 <para>The toolchain contains two libs: <literal>lib</literal> (32-bit)
43 and <literal>lib64</literal> (64-bit).</para>
44 </listitem>
45
46 <listitem>
47 <para>The installer wraps two environment-setup scripts. Which script
48 you run selects which lib will be used by gcc. This way, both 32-bit
49 applications and 64-bit applications can be cross-compiled for
50 t4240rdb-64b.</para>
51
52 <note>
53 <para>There are currently problems with 32-bit applications on the
54 64-bit T4240, see "Known Problems" in the Release
55 Information.</para>
56 </note>
57 </listitem>
58 </itemizedlist>Do as in the example below to install the SDK and set up
59 the cross-compilation environment:</para>
60
61 <orderedlist>
62 <listitem>
63 <para>Get the cross-compilation toolchain installer; either a
64 precompiled one (A) or build it yourself (B).</para>
65
66 <orderedlist numeration="upperalpha">
67 <listitem>
68 <para>The quickest alternative is to use a precompiled installer for
69 your host and target. Download the appropriate installer from the
70 server appointed to you by Enea. You find the installer in the
71 <filename>sdk</filename> directory on the download site:</para>
72
73 <para><programlisting>$ wget <xi:include
74 href="../../docsrc_common/pardoc-distro.xml"
75 xmlns:xi="http://www.w3.org/2001/XInclude"
76 xpointer="element(ULINK_ENEA_LINUX_URL/1)" />/t4240-64b/sdk/\
77<xi:include href="../../docsrc_common/pardoc-distro.xml"
78 xmlns:xi="http://www.w3.org/2001/XInclude"
79 xpointer="element(EneaLinux_SDK_INSTALLER/1)" /></programlisting></para>
80 </listitem>
81
82 <listitem>
83 <para>... or build your own cross-compilation toolchain. First
84 source the build environment setup script to create a
85 &lt;build_dir&gt; with conf files, then run bitbake with option
86 <literal>-c populate_sdk</literal> to build the toolchain and wrap
87 it inside an installer, saved in
88 <filename>&lt;build_dir&gt;/tmp/deploy/sdk/</filename>.</para>
89
90 <programlisting>$ source enea-init-build-env -b build_t4240rdb
91$ bitbake <xi:include href="../../docsrc_common/pardoc-distro.xml"
92 xmlns:xi="http://www.w3.org/2001/XInclude"
93 xpointer="element(EneaLinux_SDK_IMAGE/1)" /> -c populate_sdk
94$ cd ../build_t4240rdb/tmp/deploy/sdk/</programlisting>
95 </listitem>
96 </orderedlist>
97 </listitem>
98
99 <listitem>
100 <para>Run the installer to unpack the cross-compilation toolchain and
101 the environment-setup script:</para>
102
103 <programlisting>$ chmod 770 \
104 <xi:include href="../../docsrc_common/pardoc-distro.xml"
105 xmlns:xi="http://www.w3.org/2001/XInclude"
106 xpointer="element(EneaLinux_SDK_INSTALLER/1)" />
107$ ./<xi:include href="../../docsrc_common/pardoc-distro.xml"
108 xmlns:xi="http://www.w3.org/2001/XInclude"
109 xpointer="element(EneaLinux_SDK_INSTALLER/1)" /></programlisting>
110
111 <para>When prompted, select to install the SDK in the desired directory,
112 referred to as <literal>&lt;sdkdir&gt;</literal>, by default
113 <filename>/opt/enea/&lt;sdkver&gt;</filename>. The installer unpacks the
114 environment setup script in <filename>&lt;sdkdir&gt;</filename> and the
115 toolchain under <filename>&lt;sdkdir&gt;/sysroots</filename>.</para>
116
117 <note>
118 <para>Choose a unique directory for each toolchain. Installing a
119 second toolchain of any type (buildtools toolchain or
120 cross-compilation toolchain) in the same directory as a previously
121 installed one will break the $PATH variable of the first one.</para>
122 </note>
123 </listitem>
124
125 <listitem>
126 <para>Setup the toolchain environment by sourcing the environment-setup
127 script, here exemplified for 32-bit toolchain:<programlisting>$ source &lt;sdkdir&gt;/<xi:include
128 href="../../docsrc_common/pardoc-distro.xml"
129 xmlns:xi="http://www.w3.org/2001/XInclude"
130 xpointer="element(EneaLinux_SDK_ENV_SCRIPT_64/1)" /></programlisting></para>
131 </listitem>
132 </orderedlist>
133
134 <para>Once the cross-compilation toolchain is in place and the environment
135 set up, you can proceed with <link
136 linkend="enea-linux-cross-compile-from-command-line">Cross-Compiling
137 Applications from Command Line.</link>.</para>
138
139 <para>The above instructions and the files on the download site should
140 provide you with all you need to be able to cross-compile applications for
141 your target.</para>
142
143 <remark>INFO: Corresponding Yocto documentation is available at <xi:include
144 href="../../docsrc_common/pardoc-distro.xml"
145 xmlns:xi="http://www.w3.org/2001/XInclude"
146 xpointer="element(ULINK_YOCTO_ADT_TOOLCHAIN_URL/1)" />. Note that the file
147 names mentioned in the Yocto documentation differ from the ones in the Enea
148 Linux distribution.</remark>
149</section> \ No newline at end of file
diff --git a/documentation/book-enea-linux-users-guide/doc/targetguide.xml b/documentation/book-enea-linux-users-guide/doc/targetguide.xml
new file mode 100644
index 0000000..d96e487
--- /dev/null
+++ b/documentation/book-enea-linux-users-guide/doc/targetguide.xml
@@ -0,0 +1,59 @@
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
3"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
4<chapter id="enea-linux-target">
5 <title>Target Guide</title>
6
7 <para>In this chapter you find hardware specific details for the supported
8 targets, how to build Enea Linux for those targets, and how to install and
9 boot the kernel on target.</para>
10
11 <itemizedlist spacing="compact">
12 <listitem condition="t_p2041">
13 <para><link linkend="enea-linux-p2041rdb"><xi:include
14 href="../../docsrc_common/pardoc-distro.xml"
15 xmlns:xi="http://www.w3.org/2001/XInclude"
16 xpointer="element(EneaLinux_TARGET_NAME_P2041/1)" /></link></para>
17 </listitem>
18
19 <listitem condition="t_p3041">
20 <para><link linkend="enea-linux-p3041ds"><xi:include
21 href="../../docsrc_common/pardoc-distro.xml"
22 xmlns:xi="http://www.w3.org/2001/XInclude"
23 xpointer="element(EneaLinux_TARGET_NAME_P3041/1)" /></link></para>
24 </listitem>
25
26 <listitem condition="t_t4240">
27 <para><link linkend="enea-linux-t4240rdb"><xi:include
28 href="../../docsrc_common/pardoc-distro.xml"
29 xmlns:xi="http://www.w3.org/2001/XInclude"
30 xpointer="element(EneaLinux_TARGET_NAME_T4240/1)" /></link></para>
31 </listitem>
32
33 <listitem condition="qemu">
34 <para><link linkend="enea-linux-qemu">QEMU - target emulation in virtual
35 machine</link></para>
36 </listitem>
37
38 </itemizedlist>
39
40 <?hard-pagebreak ?>
41
42 <xi:include href="../../../../documentation/book-enea-linux-users-guide/doc/targetguide_p2041.xml"
43 xmlns:xi="http://www.w3.org/2001/XInclude" />
44
45 <?hard-pagebreak ?>
46
47 <xi:include href="../../../../documentation/book-enea-linux-users-guide/doc/targetguide_p3041.xml"
48 xmlns:xi="http://www.w3.org/2001/XInclude" />
49
50 <?hard-pagebreak ?>
51
52 <xi:include href="../../../../documentation/book-enea-linux-users-guide/doc/targetguide_t4240.xml"
53 xmlns:xi="http://www.w3.org/2001/XInclude" />
54
55 <?hard-pagebreak condition="qemu" ?>
56
57 <xi:include href="../../../../documentation/book-enea-linux-users-guide/doc/targetguide_qemu.xml"
58 xmlns:xi="http://www.w3.org/2001/XInclude" />
59</chapter>
diff --git a/documentation/book-enea-linux-users-guide/doc/troubleshooting.xml b/documentation/book-enea-linux-users-guide/doc/troubleshooting.xml
new file mode 100644
index 0000000..e69f620
--- /dev/null
+++ b/documentation/book-enea-linux-users-guide/doc/troubleshooting.xml
@@ -0,0 +1,34 @@
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
3"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
4<chapter id="enea-linux-troubleshoot">
5 <title>Troubleshooting</title>
6
7 <para>Most of the troubleshooting guidance from the Yocto Project applies to
8 Enea Linux as well. As an example, the Yocto documentation describes known
9 build failures and provides tips on recovery actions, see section
10 <xi:include href="../../docsrc_common/pardoc-distro.xml"
11 xmlns:xi="http://www.w3.org/2001/XInclude"
12 xpointer="element(ULINK_YOCTO_REF_DEBUG_BUILD_URL/1)" />. Additional and
13 complementary hints and workarounds are provided below.</para>
14
15 <para>For a complete list of known problems, with or without workarounds,
16 see chapter <emphasis>Known Problems and Limitations in This
17 Release</emphasis> in the <olink targetdoc="book_enea_linux_release_info"
18 targetptr="book_enea_linux_release_info"><trademark
19 class="registered">Enea</trademark> Linux Release
20 Information</olink>.</para>
21
22 <!-- Add release-specific troubleshooting guidelines here:
23 <section><title>&Heading;</title><para></para></section> -->
24
25 <!-- Mandatory common troubleshooting guidelines: -->
26
27 <xi:include href="../../../../documentation/book-enea-linux-users-guide/doc/troubleshooting_general.xml"
28 xmlns:xi="http://www.w3.org/2001/XInclude" />
29
30 <!-- Eclipse troubleshoting guidelines; xi:include if Eclipse is supported -->
31
32 <xi:include href="../../../../documentation/book-enea-linux-users-guide/doc/troubleshooting_eclipse.xml"
33 xmlns:xi="http://www.w3.org/2001/XInclude" />
34</chapter> \ No newline at end of file