From f3455db0841e4d2cb94fb6d338e4b9ddc42c8bed Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 19 Sep 2013 13:16:53 -0700 Subject: [PATCH] dev-manual: Misc formatting and setup for Kepler support I went through the "Working Within Eclipse" section and set up structure to add in the Kepler support and drop the Indigo support. Along the way, I formatted the entire section to hit within the 40-character limit exclusive of the links, which always overrun. (From yocto-docs rev: 762291589382f7ef71e77f8c92dae2371f3ae6e7) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/dev-manual/dev-manual-model.xml | 1097 +++++++++-------- 1 file changed, 617 insertions(+), 480 deletions(-) diff --git a/documentation/dev-manual/dev-manual-model.xml b/documentation/dev-manual/dev-manual-model.xml index efa50b05ff..3474d05546 100644 --- a/documentation/dev-manual/dev-manual-model.xml +++ b/documentation/dev-manual/dev-manual-model.xml @@ -131,7 +131,7 @@ yocto-bsp script: Layers are ideal for isolating and storing work for a given piece of hardware. - A layer is really just a location or area in which you place + A layer is really just a location or area in which you place the recipes and configurations for your BSP. In fact, a BSP is, in itself, a special type of layer. The simplest way to create a new BSP layer that is compliant with the @@ -165,7 +165,7 @@ Romley, sys940x, Sugar Bay, and tlk exist in their own separate layers within the larger meta-intel layer. When you set up a layer for a new BSP, you should follow a standard layout. - This layout is described in the + This layout is described in the "Example Filesystem Layout" section of the Board Support Package (BSP) Development Guide. In the standard layout, you will notice a suggested structure for recipes and @@ -343,10 +343,10 @@ If you are working in the kernel all the time, you probably would want to set up your own local Git repository of the kernel tree. If you just need to make some patches to the kernel, you can access - temporary kernel source files that were extracted and used + temporary kernel source files that were extracted and used during a build. We will just talk about working with the temporary source code. - For more information on how to get kernel source code onto your + For more information on how to get kernel source code onto your host system, see the "Yocto Project Kernel" bulleted item earlier in the manual. @@ -411,7 +411,7 @@ "Yocto Project Release" earlier in this manual. Establish the temporary kernel source files: - Temporary kernel source files are kept in the + Temporary kernel source files are kept in the Build Directory created by the OpenEmbedded build system when you run BitBake. @@ -474,7 +474,7 @@ Application development involves creating an application that you want to run on your target hardware, which is running a kernel image created using the OpenEmbedded build system. - The Yocto Project provides an + The Yocto Project provides an Application Development Toolkit (ADT) and stand-alone cross-development toolchains @@ -605,26 +605,29 @@ Working Within Eclipse - The Eclipse IDE is a popular development environment and it fully supports - development using the Yocto Project. - This release of the Yocto Project supports both the Juno and Indigo versions - of the Eclipse IDE. - Thus, the following information provides setup information for both versions. + The Eclipse IDE is a popular development environment and it fully + supports development using the Yocto Project. + + This release of the Yocto Project supports both the Kepler + and Juno versions of the Eclipse IDE. + Thus, the following information provides setup information for + both versions. - When you install and configure the Eclipse Yocto Project Plug-in into - the Eclipse IDE, you maximize your Yocto Project experience. - Installing and configuring the Plug-in results in an environment that - has extensions specifically designed to let you more easily develop software. - These extensions allow for cross-compilation, deployment, and execution of - your output into a QEMU emulation session as well as actual target - hardware. + When you install and configure the Eclipse Yocto Project Plug-in + into the Eclipse IDE, you maximize your Yocto Project experience. + Installing and configuring the Plug-in results in an environment + that has extensions specifically designed to let you more easily + develop software. + These extensions allow for cross-compilation, deployment, and + execution of your output into a QEMU emulation session as well as + actual target hardware. You can also perform cross-debugging and profiling. - The environment also supports a suite of tools that allows you to perform - remote profiling, tracing, collection of power data, collection of - latency data, and collection of performance data. + The environment also supports a suite of tools that allows you + to perform remote profiling, tracing, collection of power data, + collection of latency data, and collection of performance data. @@ -638,15 +641,20 @@ To develop within the Eclipse IDE, you need to do the following: - Install the optimal version of the Eclipse IDE. - Configure the Eclipse IDE. - Install the Eclipse Yocto Plug-in. - Configure the Eclipse Yocto Plug-in. + Install the optimal version of the Eclipse + IDE. + Configure the Eclipse IDE. + + Install the Eclipse Yocto Plug-in. + + Configure the Eclipse Yocto Plug-in. + - Do not install Eclipse from your distribution's package repository. - Be sure to install Eclipse from the official Eclipse download site as directed - in the next section. + Do not install Eclipse from your distribution's package + repository. + Be sure to install Eclipse from the official Eclipse + download site as directed in the next section. @@ -654,89 +662,69 @@ Installing the Eclipse IDE - It is recommended that you have the Juno 4.2 version of the - Eclipse IDE installed on your development system. - However, if you currently have the Indigo 3.7.2 version installed and you do - not want to upgrade the IDE, you can configure Indigo to work with the - Yocto Project. + It is recommended that you have the Kepler 4.3 version of + the Eclipse IDE installed on your development system. + However, if you currently have the Juno 4.2 version + installed and you do not want to upgrade the IDE, you can + configure Juno to work with the Yocto Project. See the - "Configuring the Eclipse IDE (Indigo)" + "Configuring the Eclipse IDE (Juno)" section. - If you do not have the Juno 4.2 Eclipse IDE installed, you can find the tarball at + If you do not have the Kepler 4.3 Eclipse IDE installed, you + can find the tarball at . - From that site, choose the Eclipse Classic version particular to your development - host. - This version contains the Eclipse Platform, the Java Development - Tools (JDT), and the Plug-in Development Environment. + From that site, choose the Eclipse Standard 4.3 version + particular to your development host. + This version contains the Eclipse Platform, the Java + Development Tools (JDT), and the Plug-in Development + Environment. - Once you have downloaded the tarball, extract it into a clean - directory. + Once you have downloaded the tarball, extract it into a + clean directory. For example, the following commands unpack and install the downloaded Eclipse IDE tarball into a clean directory using the default name eclipse: $ cd ~ - $ tar -xzvf ~/Downloads/eclipse-SDK-4.2-linux-gtk-x86_64.tar.gz - - - - - If you have the Indigo 3.7.2 Eclipse IDE already installed and you want to use that - version, one issue exists that you need to be aware of regarding the Java - Virtual machine’s garbage collection (GC) process. - The GC process does not clean up the permanent generation - space (PermGen). - This space stores metadata descriptions of classes. - The default value is set too small and it could trigger an - out-of-memory error such as the following: - - Java.lang.OutOfMemoryError: PermGen space - - - - - This error causes the application to hang. - - - - To fix this issue, you can use the --vmargs - option when you start the Indigo 3.7.2 Eclipse IDE - to increase the size of the permanent generation space: - - eclipse --vmargs --XX:PermSize=256M + $ tar -xzvf ~/Downloads/eclipse-standard-kepler-R-linux-gtk-x86_64.tar.gz -
- Configuring the Eclipse IDE (Juno) +
+ Configuring the Eclipse IDE (Kepler) - This section presents the steps needed to configure the Juno 4.2 Eclipse IDE. - If you are using Indigo 3.7.2, see the - "Configuring the Eclipse IDE (Indigo)". + This section presents the steps needed to configure the + Kepler 4.3 Eclipse IDE. + If you are using Juno 4.2, see the + "Configuring the Eclipse IDE (Juno)". - Before installing and configuring the Eclipse Yocto Plug-in, you need to configure - the Juno 4.2 Eclipse IDE. + Before installing and configuring the Eclipse Yocto Plug-in, + you need to configure the Kepler 4.3 Eclipse IDE. Follow these general steps: Start the Eclipse IDE. - Make sure you are in your Workbench and select - "Install New Software" from the "Help" pull-down menu. + Make sure you are in your Workbench and + select "Install New Software" from the "Help" + pull-down menu. + Select + Juno - &ECLIPSE_JUNO_URL; + from the "Work with:" pull-down menu. - Select Juno - &ECLIPSE_JUNO_URL; - from the "Work with:" pull-down menu. - Expand the box next to "Linux Tools" and select the - LTTng - Linux Tracing Toolkit boxes. - Expand the box next to "Mobile and Device Development" and select the - following boxes: + Expand the box next to "Linux Tools" + and select the + LTTng - Linux Tracing Toolkit + boxes. + Expand the box next to "Mobile and + Device Development" and select the following boxes: C/C++ Remote Launch Remote System Explorer End-user Runtime @@ -745,70 +733,59 @@ TCF Remote System Explorer add-in TCF Target Explorer - Expand the box next to "Programming Languages" - and select the Autotools Support for CDT - and C/C++ Development Tools boxes. - Complete the installation and restart the Eclipse IDE. + Expand the box next to "Programming + Languages" and select the + Autotools Support for CDT + and C/C++ Development Tools + boxes. + Complete the installation and restart + the Eclipse IDE.
-
- Configuring the Eclipse IDE (Indigo) +
+ Configuring the Eclipse IDE (Juno) - This section presents the steps needed to configure the Indigo 3.7.2 Eclipse IDE. - If you are using Juno 4.2, see the - "Configuring the Eclipse IDE (Juno)". + This section presents the steps needed to configure the + Juno 4.2 Eclipse IDE. - Before installing and configuring the Eclipse Yocto Plug-in, you need to configure - the Indigo 3.7.2 Eclipse IDE. + Before installing and configuring the Eclipse Yocto Plug-in, + you need to configure the Juno 4.2 Eclipse IDE. Follow these general steps: Start the Eclipse IDE. - Make sure you are in your Workbench and select - "Install New Software" from the "Help" pull-down menu. + Make sure you are in your Workbench and + select "Install New Software" from the "Help" + pull-down menu. + Select + Juno - &ECLIPSE_JUNO_URL; + from the "Work with:" pull-down menu. - Select indigo - &ECLIPSE_INDIGO_URL; - from the "Work with:" pull-down menu. - Expand the box next to "Programming Languages" - and select the Autotools Support for CDT (incubation) - and C/C++ Development Tools boxes. - Expand the box next to "Linux Tools" and select the - LTTng - Linux Tracing Toolkit(incubation) + Expand the box next to "Linux Tools" + and select the + LTTng - Linux Tracing Toolkit boxes. + + Expand the box next to "Mobile and + Device Development" and select the following boxes: + + C/C++ Remote Launch + Remote System Explorer End-user Runtime + Remote System Explorer User Actions + Target Management Terminal + TCF Remote System Explorer add-in + TCF Target Explorer + + Expand the box next to "Programming + Languages" and select the + Autotools Support for CDT + and C/C++ Development Tools boxes. - Complete the installation and restart the Eclipse IDE. - After the Eclipse IDE restarts and from the Workbench, select - "Install New Software" from the "Help" pull-down menu. - Click the - "Available Software Sites" link. - Check the box next to - &ECLIPSE_UPDATES_URL; - and click "OK". - Select &ECLIPSE_UPDATES_URL; - from the "Work with:" pull-down menu. - Check the box next to TM and RSE Main Features. - - Expand the box next to TM and RSE Optional Add-ons - and select every item except RSE Unit Tests and - RSE WinCE Services (incubation). - Complete the installation and restart the Eclipse IDE. - If necessary, select - "Install New Software" from the "Help" pull-down menu so you can click the - "Available Software Sites" link again. - After clicking "Available Software Sites", check the box next to - http://download.eclipse.org/tools/cdt/releases/indigo - and click "OK". - Select &ECLIPSE_INDIGO_CDT_URL; - from the "Work with:" pull-down menu. - Check the box next to CDT Main Features. - - Expand the box next to "CDT Optional Features" - and select C/C++ Remote Launch and - Target Communication Framework (incubation). - Complete the installation and restart the Eclipse IDE. + Complete the installation and restart + the Eclipse IDE.
@@ -817,35 +794,46 @@ Installing or Accessing the Eclipse Yocto Plug-in - You can install the Eclipse Yocto Plug-in into the Eclipse IDE - one of two ways: use the Yocto Project's Eclipse Update site to install the pre-built plug-in, - or build and install the plug-in from the latest source code. - If you do not want to permanently install the plug-in but just want to try it out - within the Eclipse environment, you can import the plug-in project from the - Yocto Project's Source Repositories. + You can install the Eclipse Yocto Plug-in into the Eclipse + IDE one of two ways: use the Yocto Project's Eclipse + Update site to install the pre-built plug-in, or build and + install the plug-in from the latest source code. + If you do not want to permanently install the plug-in but + just want to try it out within the Eclipse environment, + you can import the plug-in project from the Yocto Project's + Source Repositories.
Installing the Pre-built Plug-in from the Yocto Project Eclipse Update Site - To install the Eclipse Yocto Plug-in from the update site, - follow these steps: + To install the Eclipse Yocto Plug-in from the update + site, follow these steps: - Start up the Eclipse IDE. - In Eclipse, select "Install New Software" from the "Help" menu. - Click "Add..." in the "Work with:" area. + Start up the Eclipse IDE. + + In Eclipse, select "Install New + Software" from the "Help" menu. + + Click "Add..." in the "Work with:" + area. Enter &ECLIPSE_DL_PLUGIN_URL; - in the URL field and provide a meaningful name in the "Name" field. - Click "OK" to have the entry added to the "Work with:" - drop-down list. - Select the entry for the plug-in from the "Work with:" drop-down - list. - Check the box next to Development tools and SDKs for Yocto Linux. + in the URL field and provide a meaningful name + in the "Name" field. + Click "OK" to have the entry added + to the "Work with:" drop-down list. - Complete the remaining software installation steps and - then restart the Eclipse IDE to finish the installation of the plug-in. + Select the entry for the plug-in + from the "Work with:" drop-down list. + + Check the box next to + Development tools and SDKs for Yocto Linux. + + Complete the remaining software + installation steps and then restart the Eclipse + IDE to finish the installation of the plug-in. @@ -855,71 +843,87 @@ Installing the Plug-in Using the Latest Source Code - To install the Eclipse Yocto Plug-in from the latest source code, follow these steps: + To install the Eclipse Yocto Plug-in from the latest + source code, follow these steps: - Open a shell and create a Git repository with: + Open a shell and create a Git + repository with: $ git clone git://git.yoctoproject.org/eclipse-poky yocto-eclipse For this example, the repository is named - ~/yocto-eclipse. - Change to the directory where you set up - the Git repository: + ~/yocto-eclipse. + + Change to the directory where you + set up the Git repository: $ cd ~/yocto-eclipse - Be sure you are in the right branch for your Git repository. - For this release set the branch to &DISTRO_NAME;: + Be sure you are in the right branch + for your Git repository. + For this release set the branch to + &DISTRO_NAME;: $ git checkout -b &DISTRO_NAME; origin/&DISTRO_NAME; - Change to the scripts + Change to the + scripts directory within the Git repository: $ cd scripts - Set up the local build environment by running the - setup script: + Set up the local build environment + by running the setup script: $ ./setup.sh - When the script finishes execution, it prompts - you with instructions on how to run the - build.sh script, which is also in - the scripts of the - Git repository created earlier. + When the script finishes execution, + it prompts you with instructions on how to run + the build.sh script, which + is also in the scripts of + the Git repository created earlier. Run the build.sh script as directed. - Be sure to provide the name of the Git branch along with the - Yocto Project release you are using. - Here is an example that uses the &DISTRO_NAME; branch: + Be sure to provide the name of the Git branch + along with the Yocto Project release you are + using. + Here is an example that uses the + &DISTRO_NAME; branch: $ ECLIPSE_HOME=/home/scottrif/yocto-eclipse/scripts/eclipse ./build.sh &DISTRO_NAME; &DISTRO_NAME; After running the script, the file org.yocto.sdk-<release>-<date>-archive.zip is in the current directory. - If necessary, start the Eclipse IDE and be sure you are in the - Workbench. + If necessary, start the Eclipse IDE + and be sure you are in the Workbench. + Select "Install New Software" from the "Help" pull-down menu. Click "Add". - Provide anything you want in the "Name" field. - Click "Archive" and browse to the ZIP file you built - in step seven. - This ZIP file should not be "unzipped", and must be the - *archive.zip file created by running the - build.sh script. - Click through the "Okay" buttons. - Check the box next to the new entry in the installation window and complete - the installation. - Restart the Eclipse IDE if necessary. + Provide anything you want in the + "Name" field. + Click "Archive" and browse to the + ZIP file you built in step seven. + This ZIP file should not be "unzipped", and must + be the *archive.zip file + created by running the + build.sh script. + + Click through the "Okay" buttons. + + Check the box next to the new entry + in the installation window and complete + the installation. + Restart the Eclipse IDE if + necessary. - At this point you should be able to configure the Eclipse Yocto Plug-in as described in the + At this point you should be able to configure the + Eclipse Yocto Plug-in as described in the "Configuring the Eclipse Yocto Plug-in" section.
@@ -928,29 +932,37 @@ Importing the Plug-in Project into the Eclipse Environment - Importing the Eclipse Yocto Plug-in project from the Yocto Project source repositories - is useful when you want to try out the latest plug-in from the tip of plug-in's - development tree. - It is important to understand when you import the plug-in you are not installing - it into the Eclipse application. + Importing the Eclipse Yocto Plug-in project from the + Yocto Project source repositories is useful when you + want to try out the latest plug-in from the tip of + plug-in's development tree. + It is important to understand when you import the + plug-in you are not installing it into the Eclipse + application. Rather, you are importing the project and just using it. To import the plug-in project, follow these steps: - Open a shell and create a Git repository with: + Open a shell and create a Git + repository with: $ git clone git://git.yoctoproject.org/eclipse-poky yocto-eclipse For this example, the repository is named - ~/yocto-eclipse. - In Eclipse, select "Import" from the "File" menu. - Expand the "General" box and select "existing projects into workspace" - and then click "Next". - Select the root directory and browse to - ~/yocto-eclipse/plugins. - Three plug-ins exist: + ~/yocto-eclipse. + + In Eclipse, select "Import" from + the "File" menu. + Expand the "General" box and select + "existing projects into workspace" and then + click "Next". + Select the root directory and + browse to + ~/yocto-eclipse/plugins. + + Three plug-ins exist: org.yocto.bc.ui, org.yocto.sdk.ide, and org.yocto.sdk.remotetools. @@ -959,9 +971,11 @@ - The left navigation pane in the Eclipse application shows the default projects. - Right-click on one of these projects and run it as an Eclipse application - to bring up a second instance of Eclipse IDE that has the Yocto Plug-in. + The left navigation pane in the Eclipse application + shows the default projects. + Right-click on one of these projects and run it as an + Eclipse application to bring up a second instance of + Eclipse IDE that has the Yocto Plug-in.
@@ -970,20 +984,23 @@ Configuring the Eclipse Yocto Plug-in - Configuring the Eclipse Yocto Plug-in involves setting the Cross - Compiler options and the Target options. - The configurations you choose become the default settings for all projects. + Configuring the Eclipse Yocto Plug-in involves setting the + Cross Compiler options and the Target options. + The configurations you choose become the default settings + for all projects. You do have opportunities to change them later when you configure the project (see the following section). - To start, you need to do the following from within the Eclipse IDE: + To start, you need to do the following from within the + Eclipse IDE: - Choose "Preferences" from the - "Windows" menu to display - the Preferences Dialog - Click "Yocto Project ADT" + Choose "Preferences" from the + "Windows" menu to display the Preferences Dialog. + + Click "Yocto Project ADT". + @@ -991,78 +1008,105 @@ Configuring the Cross-Compiler Options - To configure the Cross Compiler Options, you must select the type of toolchain, - point to the toolchain, specify the sysroot location, and select the target architecture. + To configure the Cross Compiler Options, you must select + the type of toolchain, point to the toolchain, specify + the sysroot location, and select the target + architecture. Selecting the Toolchain Type: - Choose between Standalone pre-built toolchain - and Build system derived toolchain for Cross - Compiler Options. + Choose between + Standalone pre-built toolchain + and + Build system derived toolchain + for Cross Compiler Options. Standalone Pre-built Toolchain: - Select this mode when you are using a stand-alone cross-toolchain. - For example, suppose you are an application developer and do not + Select this mode when you are using + a stand-alone cross-toolchain. + For example, suppose you are an + application developer and do not need to build a target image. - Instead, you just want to use an architecture-specific toolchain on an - existing kernel and target root filesystem. - + Instead, you just want to use an + architecture-specific toolchain on + an existing kernel and target root + filesystem. Build System Derived Toolchain: - Select this mode if the cross-toolchain has been installed and built - as part of the + Select this mode if the + cross-toolchain has been installed + and built as part of the Build Directory. - When you select Build system derived toolchain, + When you select + Build system derived toolchain, you are using the toolchain bundled inside the Build Directory.
Point to the Toolchain: - If you are using a stand-alone pre-built toolchain, you should be pointing to the - where it is installed. - If you used the ADT Installer script and accepted the default - installation directory, the toolchain will be installed in - the &YOCTO_ADTPATH_DIR; directory. - Sections "Configuring - and Running the ADT Installer Script" and + If you are using a stand-alone pre-built + toolchain, you should be pointing to where it is + installed. + If you used the ADT Installer script and + accepted the default installation directory, the + toolchain will be installed in the + &YOCTO_ADTPATH_DIR; + directory. + Sections "Configuring and Running the ADT Installer Script" + and "Using a Cross-Toolchain Tarball" - in the Yocto Project Application Developer's Guide - describe how to install a stand-alone cross-toolchain. - If you are using a system-derived toolchain, the path you provide - for the Toolchain Root Location - field is the Build Directory. - See the "Using - BitBake and the Build Directory" section in the Yocto Project Application - Developer's Guide for information on how to install - the toolchain into the Build Directory. + in the Yocto Project Application Developer's + Guide describe how to install a stand-alone + cross-toolchain. + If you are using a system-derived + toolchain, the path you provide for the + Toolchain Root Location + field is the + Build Directory. + See the + "Using BitBake and the Build Directory" + section in the Yocto Project Application + Developer's Guide for information on how to + install the toolchain into the Build + Directory. Specify the Sysroot Location: - This location is where the root filesystem for the target hardware resides. - If you used the ADT Installer script and accepted the - default installation directory, then the location is + This location is where the root filesystem for + the target hardware resides. + If you used the ADT Installer script and + accepted the default installation directory, + then the location is /opt/poky/<release>. - Additionally, when you use the ADT Installer script, - the same location is used for - the QEMU user-space tools and the NFS boot process. - If you used either of the other two methods to - install the toolchain or did not accept the ADT Installer - script's default installation directory, then the - location of the sysroot filesystem depends on where you separately - extracted and installed the filesystem. - For information on how to install the toolchain and on how to extract - and install the sysroot filesystem, see the + Additionally, when you use the ADT Installer + script, the same location is used for the QEMU + user-space tools and the NFS boot process. + + If you used either of the other two + methods to install the toolchain or did not + accept the ADT Installer script's default + installation directory, then the location of + the sysroot filesystem depends on where you + separately extracted and installed the + filesystem. + For information on how to install the + toolchain and on how to extract and install the + sysroot filesystem, see the "Installing the ADT and Toolchains" section. Select the Target Architecture: - The target architecture is the type of hardware you are - going to use or emulate. - Use the pull-down Target Architecture menu to make - your selection. - The pull-down menu should have the supported architectures. - If the architecture you need is not listed in the menu, you - will need to build the image. - See the "Building an Image" section - of the Yocto Project Quick Start for more information. + The target architecture is the type of hardware + you are going to use or emulate. + Use the pull-down + Target Architecture menu + to make your selection. + The pull-down menu should have the supported + architectures. + If the architecture you need is not listed in + the menu, you will need to build the image. + See the + "Building an Image" + section of the Yocto Project Quick Start for + more information. @@ -1071,38 +1115,53 @@ Configuring the Target Options - You can choose to emulate hardware using the QEMU emulator, or you - can choose to run your image on actual hardware. + You can choose to emulate hardware using the QEMU + emulator, or you can choose to run your image on actual + hardware. - QEMU: Select this option if - you will be using the QEMU emulator. - If you are using the emulator, you also need to locate the kernel - and specify any custom options. - If you selected Build system derived toolchain, - the target kernel you built will be located in the - Build Directory in tmp/deploy/images directory. - If you selected Standalone pre-built toolchain, the - pre-built image you downloaded is located - in the directory you specified when you downloaded the image. - Most custom options are for advanced QEMU users to further - customize their QEMU instance. - These options are specified between paired angled brackets. - Some options must be specified outside the brackets. - In particular, the options serial, - nographic, and kvm must all - be outside the brackets. - Use the man qemu command to get help on all the options - and their use. + QEMU: + Select this option if you will be using the + QEMU emulator. + If you are using the emulator, you also need to + locate the kernel and specify any custom + options. + If you selected + Build system derived toolchain, + the target kernel you built will be located in + the Build Directory in + tmp/deploy/images + directory. + If you selected + Standalone pre-built toolchain, + the pre-built image you downloaded is located + in the directory you specified when you + downloaded the image. + Most custom options are for advanced QEMU + users to further customize their QEMU instance. + These options are specified between paired + angled brackets. + Some options must be specified outside the + brackets. + In particular, the options + serial, + nographic, and + kvm must all be outside the + brackets. + Use the man qemu command + to get help on all the options and their use. The following is an example: serial ‘<-m 256 -full-screen>’ - Regardless of the mode, Sysroot is already defined as part of the - Cross-Compiler Options configuration in the - Sysroot Location: field. - External HW: Select this option - if you will be using actual hardware. + Regardless of the mode, Sysroot is already + defined as part of the Cross-Compiler Options + configuration in the + Sysroot Location: field. + + External HW: + Select this option if you will be using actual + hardware. @@ -1117,36 +1176,50 @@ Creating the Project - You can create two types of projects: Autotools-based, or Makefile-based. - This section describes how to create Autotools-based projects from within - the Eclipse IDE. - For information on creating Makefile-based projects in a terminal window, see the section + You can create two types of projects: Autotools-based, or + Makefile-based. + This section describes how to create Autotools-based projects + from within the Eclipse IDE. + For information on creating Makefile-based projects in a + terminal window, see the section "Using the Command Line" in the Yocto Project Application Developer's Guide. - To create a project based on a Yocto template and then display the source code, - follow these steps: + To create a project based on a Yocto template and then display + the source code, follow these steps: - Select "Project" from the "File -> New" menu. - Double click CC++. - Double click C Project to create the project. - Expand Yocto Project ADT Project. - Select Hello World ANSI C Autotools Project. - This is an Autotools-based project based on a Yocto template. - Put a name in the Project name: field. - Do not use hyphens as part of the name. - Click "Next". - Add information in the Author and - Copyright notice fields. - Be sure the License field is correct. - Click "Finish". - If the "open perspective" prompt appears, click "Yes" so that you - in the C/C++ perspective. - The left-hand navigation pane shows your project. - You can display your source by double clicking the project's source file. + Select "Project" from the "File -> New" menu. + Double click CC++. + + Double click C Project + to create the project. + Expand Yocto Project ADT Project. + + Select Hello World ANSI C Autotools Project. + This is an Autotools-based project based on a Yocto + template. + Put a name in the Project name: + field. + Do not use hyphens as part of the name. + + Click "Next". + Add information in the + Author and + Copyright notice fields. + + Be sure the License + field is correct. + Click "Finish". + If the "open perspective" prompt appears, + click "Yes" so that you in the C/C++ perspective. + + The left-hand navigation pane shows your + project. + You can display your source by double clicking the + project's source file. @@ -1155,38 +1228,47 @@ Configuring the Cross-Toolchains - The earlier section, "Configuring - the Eclipse Yocto Plug-in", sets up the default project - configurations. - You can override these settings for a given project by following these steps: + The earlier section, + "Configuring the Eclipse Yocto Plug-in", + sets up the default project configurations. + You can override these settings for a given project by following + these steps: - Select "Change Yocto Project Settings" from the - "Project" menu. - This selection brings up the Yocto Project Settings Dialog - and allows you to make changes specific to an individual project. - - By default, the Cross Compiler Options and Target Options for a project - are inherited from settings you provide using the Preferences - Dialog as described earlier - in the "Configuring the Eclipse - Yocto Plug-in" section. - The Yocto Project Settings Dialog allows you to override - those default settings for a given project. - Make your configurations for the project and click "OK". - If you are running the Juno version of Eclipse, you can skip down to the next - section where you build the project. - If you are not working with Juno, you need to reconfigure the project as - described in the next step. - Select "Reconfigure Project" from the + Select "Change Yocto Project Settings" from + the "Project" menu. + This selection brings up the Yocto Project Settings + Dialog and allows you to make changes specific to an + individual project. + By default, the Cross Compiler Options and Target + Options for a project are inherited from settings you + provide using the Preferences Dialog as described + earlier in the + "Configuring the Eclipse Yocto Plug-in" section. + The Yocto Project Settings Dialog allows you to override + those default settings for a given project. + + Make your configurations for the project + and click "OK". + If you are running the Juno version of Eclipse, you can + skip down to the next section where you build the + project. + If you are not working with Juno, you need to reconfigure the + project as described in the next step. + + Select "Reconfigure Project" from the "Project" menu. This selection reconfigures the project by running - autogen.sh in the workspace for your project. - The script also runs libtoolize, aclocal, - autoconf, autoheader, + autogen.sh in the workspace for + your project. + The script also runs libtoolize, + aclocal, + autoconf, + autoheader, automake --a, and ./configure. Click on the "Console" tab beneath your source code to - see the results of reconfiguring your project. + see the results of reconfiguring your project. + @@ -1195,11 +1277,12 @@ Building the Project - To build the project in Juno, right click on the project in the navigator pane and select - "Build Project". - If you are not running Juno, select "Build Project" from the + To build the project in Juno, right click on the project in + the navigator pane and select "Build Project". + If you are not running Juno, select "Build Project" from the "Project" menu. - The console should update and you can note the cross-compiler you are using. + The console should update and you can note the cross-compiler + you are using. @@ -1207,23 +1290,26 @@ Starting QEMU in User-Space NFS Mode - To start the QEMU emulator from within Eclipse, follow these steps: + To start the QEMU emulator from within Eclipse, follow these + steps: - Expose and select "External Tools" from + Expose and select "External Tools" from the "Run" menu. Your image should appear as a selectable menu item. - Select your image from the menu to launch the - emulator in a new window. - If needed, enter your host root password in the shell window at the prompt. - This sets up a Tap 0 connection needed for running in user-space - NFS mode. - Wait for QEMU to launch. - Once QEMU launches, you can begin operating within that - environment. - For example, you could determine the IP Address - for the user-space NFS by using the ifconfig command. + Select your image from the menu to launch + the emulator in a new window. + If needed, enter your host root password in + the shell window at the prompt. + This sets up a Tap 0 connection + needed for running in user-space NFS mode. + Wait for QEMU to launch. + Once QEMU launches, you can begin operating + within that environment. + For example, you could determine the IP Address + for the user-space NFS by using the + ifconfig command. @@ -1232,38 +1318,45 @@ Deploying and Debugging the Application - Once the QEMU emulator is running the image, you can deploy - your application using the Eclipse IDE and use then use + Once the QEMU emulator is running the image, you can deploy + your application using the Eclipse IDE and use then use the emulator to perform debugging. Follow these steps to deploy the application. - Select "Debug Configurations..." from the - "Run" menu. - In the left area, expand C/C++Remote Application. - Locate your project and select it to bring up a new - tabbed view in the Debug Configurations Dialog. - Enter the absolute path into which you want to deploy - the application. - Use the "Remote Absolute File Path for C/C++Application:" field. - For example, enter /usr/bin/<programname>. - Click on the "Debugger" tab to see the cross-tool debugger - you are using. + Select "Debug Configurations..." from the + "Run" menu. + In the left area, expand + C/C++Remote Application. + + Locate your project and select it to bring + up a new tabbed view in the Debug Configurations Dialog. + + Enter the absolute path into which you want + to deploy the application. + Use the "Remote Absolute File Path for + C/C++Application:" field. + For example, enter + /usr/bin/<programname>. + + Click on the "Debugger" tab to see the + cross-tool debugger you are using. Click on the "Main" tab. Create a new connection to the QEMU instance by clicking on "new". - Select TCF, which means Target Communication - Framework. + Select TCF, which means + Target Communication Framework. Click "Next". - Clear out the "host name" field and enter the IP Address - determined earlier. + Clear out the "host name" field and enter + the IP Address determined earlier. Click "Finish" to close the New Connections Dialog. - Use the drop-down menu now in the + Use the drop-down menu now in the "Connection" field and pick the IP Address you entered. Click "Run" to bring up a login screen and login. - Accept the debug perspective. + Accept the debug perspective. + @@ -1272,107 +1365,135 @@ Running User-Space Tools - As mentioned earlier in the manual, several tools exist that enhance - your development experience. - These tools are aids in developing and debugging applications and images. - You can run these user-space tools from within the Eclipse IDE through the - "YoctoTools" menu. + As mentioned earlier in the manual, several tools exist that + enhance your development experience. + These tools are aids in developing and debugging applications + and images. + You can run these user-space tools from within the Eclipse + IDE through the "YoctoTools" menu. - Once you pick a tool, you need to configure it for the remote target. + Once you pick a tool, you need to configure it for the remote + target. Every tool needs to have the connection configured. - You must select an existing TCF-based RSE connection to the remote target. + You must select an existing TCF-based RSE connection to the + remote target. If one does not exist, click "New" to create one. Here are some specifics about the remote tools: - OProfile: Selecting this tool causes - the oprofile-server on the remote target to launch on - the local host machine. - The oprofile-viewer must be installed on the local host machine and the - oprofile-server must be installed on the remote target, - respectively, in order to use. - You must compile and install the oprofile-viewer from the source code - on your local host machine. - Furthermore, in order to convert the target's sample format data into a form that the - host can use, you must have OProfile version 0.9.4 or - greater installed on the host. + OProfile: + Selecting this tool causes the + oprofile-server on the remote + target to launch on the local host machine. + The oprofile-viewer must be + installed on the local host machine and the + oprofile-server must be installed + on the remote target, respectively, in order to use. + You must compile and install the + oprofile-viewer from the source + code on your local host machine. + Furthermore, in order to convert the target's sample + format data into a form that the host can use, you must + have OProfile version 0.9.4 or greater installed on the + host. You can locate both the viewer and server from . You can also find more information on setting up and using this tool in the "OProfile" - section of the Yocto Project Profiling and Tracing Manual. - The oprofile-server is installed by default on - the core-image-sato-sdk image. + section of the Yocto Project Profiling and Tracing + Manual. + The oprofile-server is + installed by default on the + core-image-sato-sdk image. + Lttng2.0 ust trace import: Selecting this tool transfers the remote target's - Lttng tracing data back to the local host machine - and uses the Lttng Eclipse plug-in to graphically - display the output. - For information on how to use Lttng to trace an application, + Lttng tracing data back to the + local host machine and uses the Lttng Eclipse plug-in + to graphically display the output. + For information on how to use Lttng to trace an + application, see - and the - "LTTng (Linux Trace Toolkit, next generation)" - section, which is in the Yocto Project Profiling and Tracing Manual. - Do not use Lttng-user space (legacy) tool. + and the + "LTTng (Linux Trace Toolkit, next generation)" + section, which is in the Yocto Project Profiling and + Tracing Manual. + Do not use + Lttng-user space (legacy) tool. This tool no longer has any upstream support. - Before you use the Lttng2.0 ust trace import tool, + Before you use the + Lttng2.0 ust trace import tool, you need to setup the Lttng Eclipse plug-in and create a Tracing project. Do the following: - Select "Open Perspective" from the - "Window" menu and then select "Tracing". - Click "OK" to change the Eclipse perspective - into the Tracing perspective. - Create a new Tracing project by selecting - "Project" from the "File -> New" menu. - Choose "Tracing Project" from the + Select "Open Perspective" from the + "Window" menu and then select "Tracing". + + Click "OK" to change the Eclipse + perspective into the Tracing perspective. + + Create a new Tracing project by + selecting "Project" from the "File -> New" menu. + + Choose "Tracing Project" from the "Tracing" menu. - Generate your tracing data on the remote target. - - Select "Lttng2.0 ust trace import" from - the "Yocto Project Tools" menu to + Generate your tracing data on the + remote target. + Select "Lttng2.0 ust trace import" + from the "Yocto Project Tools" menu to start the data import process. - Specify your remote connection name. - For the Ust directory path, specify the location of - your remote tracing data. - Make sure the location ends with ust (e.g. - /usr/mysession/ust). - Click "OK" to complete the import process. - The data is now in the local tracing project you created. - Right click on the data and then use the menu to - Select "Generic CTF Trace" from the - "Trace Type... -> Common Trace Format" menu to map - the tracing type. - Right click the mouse and select "Open" - to bring up the Eclipse Lttng Trace Viewer so you - view the tracing data. + Specify your remote connection name. + + For the Ust directory path, specify + the location of your remote tracing data. + Make sure the location ends with + ust (e.g. + /usr/mysession/ust). + + Click "OK" to complete the import + process. + The data is now in the local tracing project + you created. + Right click on the data and then use + the menu to Select "Generic CTF Trace" from the + "Trace Type... -> Common Trace Format" menu to + map the tracing type. + Right click the mouse and select + "Open" to bring up the Eclipse Lttng Trace + Viewer so you view the tracing data. + - PowerTOP: Selecting this tool runs - PowerTOP on the remote target machine and displays the results in a - new view called PowerTOP. - The "Time to gather data(sec):" field is the time passed in seconds before data - is gathered from the remote target for analysis. - The "show pids in wakeups list:" field corresponds to the - -p argument - passed to PowerTOP. + PowerTOP: + Selecting this tool runs PowerTOP on the remote target + machine and displays the results in a new view called + PowerTOP. + The "Time to gather data(sec):" field is the time + passed in seconds before data is gathered from the + remote target for analysis. + The "show pids in wakeups list:" field corresponds + to the -p argument passed to + PowerTOP. LatencyTOP and Perf: LatencyTOP identifies system latency, while - Perf monitors the system's performance counter registers. - Selecting either of these tools causes an RSE terminal view to appear - from which you can run the tools. - Both tools refresh the entire screen to display results while they run. - For more information on setting up and using perf, - see the + Perf monitors the system's performance counter + registers. + Selecting either of these tools causes an RSE terminal + view to appear from which you can run the tools. + Both tools refresh the entire screen to display results + while they run. + For more information on setting up and using + perf, see the "perf" - section in the Yocto Project Profiling and Tracing Manual. + section in the Yocto Project Profiling and Tracing + Manual. For information on LatencyTOP, see the LatencyTOP website. @@ -1385,37 +1506,43 @@ Customizing an Image Using a BitBake Commander Project and Hob - Within the Eclipse IDE, you can create a Yocto BitBake Commander project, - edit the Metadata, and then use - Hob to build a customized - image all within one IDE. + Within the Eclipse IDE, you can create a Yocto BitBake Commander + project, edit the Metadata, and + then use + Hob to build a customized image all within one IDE.
Creating the Yocto BitBake Commander Project - To create a Yocto BitBake Commander project, follow these steps: + To create a Yocto BitBake Commander project, follow these + steps: - Select "Other" from the - "Window -> Open Perspective" menu - and then choose "Bitbake Commander". + Select "Other" from the + "Window -> Open Perspective" menu + and then choose "Bitbake Commander". + Click "OK" to change the perspective to Bitbake Commander. Select "Project" from the "File -> New" menu to create a new Yocto Bitbake Commander project. - Choose "New Yocto Project" from the - "Yocto Project Bitbake Commander" menu and click + Choose "New Yocto Project" from the + "Yocto Project Bitbake Commander" menu and click "Next". - Enter the Project Name and choose the Project Location. - The Yocto project's Metadata files will be put under the directory + Enter the Project Name and choose the + Project Location. + The Yocto project's Metadata files will be put under + the directory <project_location>/<project_name>. If that directory does not exist, you need to check - the "Clone from Yocto Git Repository" box, which would execute a - git clone command to get the project's Metadata files. + the "Clone from Yocto Git Repository" box, which + would execute a git clone + command to get the project's Metadata files. - Select Finish to create the project. + Select Finish to + create the project.
@@ -1424,32 +1551,38 @@ Editing the Metadata - After you create the Yocto Bitbake Commander project, you can modify the - Metadata files - by opening them in the project. - When editing recipe files (.bb files), you can view BitBake - variable values and information by hovering the mouse pointer over the variable name and + After you create the Yocto Bitbake Commander project, you + can modify the Metadata + files by opening them in the project. + When editing recipe files (.bb files), + you can view BitBake variable values and information by + hovering the mouse pointer over the variable name and waiting a few seconds. To edit the Metadata, follow these steps: - Select your Yocto Bitbake Commander project. - Select "BitBake Recipe" from the - "File -> New -> Yocto BitBake Commander" menu + Select your Yocto Bitbake Commander + project. + Select "BitBake Recipe" from the + "File -> New -> Yocto BitBake Commander" menu to open a new recipe wizard. - Point to your source by filling in the "SRC_URL" field. + Point to your source by filling in the + "SRC_URL" field. For example, you can add a recipe to your Source Directory by defining "SRC_URL" as follows: ftp://ftp.gnu.org/gnu/m4/m4-1.4.9.tar.gz - Click "Populate" to calculate the archive md5, sha256, - license checksum values and to auto-generate the recipe filename. - Fill in the "Description" field. - Be sure values for all required fields exist. + Click "Populate" to calculate the + archive md5, sha256, license checksum values and to + auto-generate the recipe filename. + Fill in the "Description" field. + + Be sure values for all required + fields exist. Click "Finish". @@ -1459,20 +1592,24 @@ Building and Customizing the Image Using Hob - To build and customize the image using Hob from within the + To build and customize the image using Hob from within the Eclipse IDE, follow these steps: - Select your Yocto Bitbake Commander project. + Select your Yocto Bitbake Commander + project. Select "Launch Hob" from the "Project" menu. - Enter the + Enter the Build Directory - where you want to put your final images. - Click "OK" to launch Hob. - Use Hob to customize and build your own images. + where you want to put your final images. + + Click "OK" to launch Hob. + + Use Hob to customize and build your own + images. For information on Hob, see the - Hob Project Page on the - Yocto Project website. + Hob Project Page + on the Yocto Project website. @@ -1508,7 +1645,7 @@ support development using actual hardware. For example, the area might contain .hddimg files that combine the - kernel image with the filesystem, boot loaders, and + kernel image with the filesystem, boot loaders, and so forth. Be sure to get the files you need for your particular development process.
@@ -1879,9 +2016,9 @@ For a better understanding of Hob, see the project page at - + on the Yocto Project website. - If you follow the "Documentation" link from the Hob page, you will + If you follow the "Documentation" link from the Hob page, you will find a short introductory training video on Hob. The following lists some features of Hob: @@ -1893,9 +2030,9 @@ You can set the MACHINE for which you are building the image. - You can modify various policy settings such as the + You can modify various policy settings such as the package format with which to build, - the parallelism BitBake uses, whether or not to build an + the parallelism BitBake uses, whether or not to build an external toolchain, and which host to build against. You can manage