diff options
author | Adrian Dudau <adrian.dudau@enea.com> | 2016-01-18 14:51:29 +0100 |
---|---|---|
committer | Adrian Dudau <adrian.dudau@enea.com> | 2016-01-18 14:54:45 +0100 |
commit | 0d310c2324d0fddcf306c406849158d84a6bd608 (patch) | |
tree | 55df39f628c52403315e7955eb387a44dc24076c /documentation/book-enea-linux-users-guide/doc | |
download | meta-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')
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 <other params> <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 <other params> <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 → | ||
39 | <emphasis>QorIQ</emphasis> → <emphasis>SDK</emphasis> → | ||
40 | <emphasis>QorIQ SDK 1.9 Documentation</emphasis> → <emphasis>Linux User | ||
41 | Space</emphasis> → <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<version>].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<version>.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 | <build_dir> 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><build_dir>/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><sdkdir></literal>, by default | ||
113 | <filename>/opt/enea/<sdkver></filename>. The installer unpacks the | ||
114 | environment setup script in <filename><sdkdir></filename> and the | ||
115 | toolchain under <filename><sdkdir>/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 <sdkdir>/<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 | ||