Develop Yocto* Project Compatible
Platform Projects with Intel® System Studio
User Guide
Notices and Disclaimers
2 Develop Yocto* Project Compatible Platform Projects with Intel® System Studio
Notices and Disclaimers
No license (express or implied, by estoppel or otherwise) to any intellectual property rights is granted
by this document.
This document contains information on products, services and/or processes in development. All
information provided here is subject to change without notice. Contact your Intel representative to
obtain the latest forecast, schedule, specifications and roadmaps.
Intel technologies' features and benefits depend on system configuration and may require enabled
hardware, software or service activation. Performance varies depending on system configuration. No
product or component can be absolutely secure. Check with your system manufacturer or retailer or
learn more at [intel.com].
The products and services described may contain defects or errors which may cause deviations from
published specifications. Current characterized errata are available on request. Intel disclaims all
express and implied warranties, including without limitation, the implied warranties of merchantability,
fitness for a particular purpose, and non-infringement, as well as any warranty arising from course of
performance, course of dealing, or usage in trade.
Intel, the Intel logo, Intel Atom, Intel Core, VTune and Xeon are trademarks of Intel Corporation in the
U.S. and/or other countries.
*Other names and brands may be claimed as the property of others.
© Intel Corporation.
This software and the related documents are Intel copyrighted materials, and your use of them is
governed by the express license under which they were provided to you ("License"). Unless the License
provides otherwise, you may not use, modify, copy, publish, distribute, disclose or transmit this software
or the related documents without Intel's prior written permission.
This software and the related documents are provided as is, with no express or implied warranties,
other than those that are expressly stated in the License.
Contents
Develop Yocto* Project Compatible Platform Projects with Intel® System Studio 3
Contents Introduction ...........................................................................................................................................................................................4
Prerequisites ..........................................................................................................................................................................................6
Process Overview ................................................................................................................................................................................9
Create and Configure a Platform Project ............................................................................................................................... 10
Build a Platform Project ................................................................................................................................................................. 18
Tailor a Platform Project ............................................................................................................................................................... 24
Deploy a Platform Project............................................................................................................................................................. 25
Test and Debug a Platform .......................................................................................................................................................... 26
Import and Modify a Platform Project ..................................................................................................................................... 27
Configuring the Platform Kernel ................................................................................................................................................ 29
Including Intel System Studio Runtime Components ...................................................................................................... 33
Board Support Packages (BSPs) ................................................................................................................................................ 36
Frequently Asked Questions ....................................................................................................................................................... 37
Filing Defects and Early Access .................................................................................................................................................. 39
Known Issues ...................................................................................................................................................................................... 40
Find More ............................................................................................................................................................................................. 41
Introduction
4 Develop Yocto* Project Compatible Platform Projects with Intel® System Studio
Introduction
The Intel® System Studio 2020 Eclipse* IDE includes a plug-in that supports developing Yocto* Project
Compatible platform projects for Wind River Linux* LTS 17 (RCPL9 or later) or Yocto Project 2.6 (and
above).
In a platform project you define the information needed to create a system image to run on a Wind
River Linux* LTS 17 (RCPL9 or later) or Yocto Project 2.6 (and above) development target. It includes
files, directories, configuration fragments, applications, packages, and a kernel.
This guide explains the process of developing a platform project and provides step-by-step
instructions.
Yocto Project Compatible: In this guide, we use the term Yocto Project Compatible to encompass
platform projects targeted for Wind River Linux LTS 17 (RCPL9 or later) or Yocto Project 2.6 (and
above).
Terminology
• Yocto Project Compatible: Platform projects for Wind River Linux LTS 17 (RCPL9 or later) or
Yocto Project 2.6 (and above )
• Platform project: Used to maintain the information in a platform project image; for example,
files, directories, configuration fragments, applications, packages, and a kernel.
• Project configuration: The process of specifying target platform hardware and software options
and generating the files needed to create the platform project image.
• Platform project image: The target file system and kernel image that runs on a target used for
development.
• The platform project represents the project’s build directory. This build directory is equivalent
to command line projects. For new projects, the folder workspace/XXXX_build is created
automatically as the project’s build directory.
Project type Project Name Build Directory Description
New XXXX workspace/XXXX_build Where XXXX is the project name
you specified Imported XXXX_import Path to the imported
build directory
The Yocto Project Compatible Platform Project Life Cycle
With Intel System Studio 2020, you can create Yocto Project Compatible platform projects, configure
them from Intel System Studio via the Toaster web-based tool, and then perform basic project builds.
The user customization created using Toaster is directly appended to the project's standard
conf/local.conf and conf/bblayers.conf files. This allows you to, at any time, go to the command line
and execute direct bitbake commands. In addition, you can directly edit the project's conf files.
Command line updates are automatically included (when Intel System Studio reconfigures the project).
Introduction
Develop Yocto* Project Compatible Platform Projects with Intel® System Studio 5
You can use the default build targets to construct the project's kernel and file system image(s). You can
also directly generate an SDK (or an Extensible SDK - eSDK), which can be passed to remote application
developers to prepare and debug applications that run with this project.
Typically, new developers will create a QEMU-based project and perform initial application
development against that target. Since QEMU-based projects can run directly on the developer's host,
they can test the project's initial networking and applications directly without the immediate need for a
physical target.
To include new content that is included with a Yocto Project Compatible installation (for example,
available features or BSPs), use the Toaster tool to find and include that feature and any dependent
layers.
To include content provided directly from a vendor or another group in your company, have them
provide it as a standard Yocto Project layer and use the Import Layer feature of Toaster to include and
enable that content.
To detach the project build directory from Intel System Studio, select File > Delete, leave delete
contents unchecked, and then continue purely from the command line.
To reattach this (or any other) project's build directory back to Intel System Studio so you can use the
prebuild targets and the kernel configuration tool, select File > Import > Yocto Project Compatible >
Existing Yocto Project Compatible Platform Project into Workspace.
Prerequisites
6 Develop Yocto* Project Compatible Platform Projects with Intel® System Studio
Prerequisites
Before you can develop a Yocto Project compatible platform project, you must install the following on
your host system:
• Intel System Studio 2020
• Wind River Linux* LTS 17 (RCPL9 or later)
OR
Yocto Project 2.6 (and above)
If you are working behind a firewall, you also need to configure the Intel System Studio proxy.
Step 1. Install Intel System Studio
If you have not installed Intel System Studio, do so now.
1. Before you start, review the System Requirements and Release Notes to make sure you have the
prerequisites you need to install the product.
2. To install the Intel System Studio, click here.
3. After you install the product, see the latest technical documentation
Step 2. Install Wind River Linux LTS or Yocto Project
Before creating a Wind River Linux LTS or Yocto Project platform project, you must prepare your host
system and install either Wind River Linux LTS 17 (RCPL9 or later) or Yocto Project 2.6.
Prepare your host system
Before you install Wind River Linux LTS or Yocto Project you must prepare your host system.
• Wind River Linux LTS: See the Quick Start Overview and Necessary Linux Host System Libraries
and Executables.
• Yocto Project: See Yocto Project Quick Build.
Download and install recommendations
• Wind River Linux LTS: We recommend that you download a minimal Wind River Linux LTS
installation, and then use Toaster to select and automatically download the desired layers and
other extra content during initial development. Once the design is stable, you can use Toaster
to explicitly fetch the extra content.
• Yocto Project 2.6: We recommend that you download a minimal Yocto Project 2.6 installation,
and then use Toaster to select and automatically download the desired layers (from the current
or past release) plus other extra content during initial development. Once the design is stable,
you can use Toaster to explicitly fetch the extra content.
Prerequisites
Develop Yocto* Project Compatible Platform Projects with Intel® System Studio 7
Supported host operating systems
The table below lists or provides a link to the platforms on which Wind River Linux LTS or Yocto Project
can be installed.
Wind River Linux LTS 17 Wind River Linux LTS 18 Yocto Project 2.6
Red Hat Enterprise Linux
Workstation 7.2
Red Hat Enterprise Linux
Workstation 7.3
CentOS 7.2
Fedora 25
Fedora 26
openSUSE Leap 42.3
Novell SUSE Linux Enterprise
Desktop 12 SP3
Ubuntu* Desktop 16.04 LTS
SLED-15
Fedora27
Fedora28
CentOS-7.5
RHEL-7.5
OpenSUSE-42.3
OpenSUSE-Leap-15
Ubuntu-16.04
Ubuntu-18.04
https://www.yoctoproject.org/docs
/2.6/mega-manual/mega-
manual.html#detailed-supported-
distros
NOTE: Ubuntu Desktop 18.04 LTS is not supported by Wind River Linux LTS 17 at this time, as it was
released after Wind River Linux LTS 17. Please contact Wind River Support to see if this host will be
supported prior to Wind River Linux LTS 18 via an RCPL update.
Installation instructions
Wind River Linux LTS 17 Wind River Linux LTS 18 Yocto Project
Product and download
information:
https://www.windriver.com/pro
ducts/linux/
Installation information:
https://knowledge.windriver.co
m/en-
us/000_Products/000/010/060/
000/000/000_*Start_here*_Win
d_River_Linux_Platform_Develo
pment_Quick_Start%2C_LTS/00
0
Product and download
information:
https://www.windriver.com/pro
ducts/linux/
Product and download
information:
https://www.yoctoproject.org/so
ftware-overview/downloads/
Installation information:
https://www.yoctoproject.org/d
ocs/latest/brief-
yoctoprojectqs/brief-
yoctoprojectqs.html
NOTE: If you are installing a later version of Wind River Linux LTS or Yocto Project, find the appropriate
instructions on the appropriate web site.
Step 3. Configure Your Host System
Prerequisites
8 Develop Yocto* Project Compatible Platform Projects with Intel® System Studio
• The installation must be writeable by the user in order to create projects and run the bitbake
build system
• The user must not build content as “root.” This is enforced by the build tool bitbake and
prevents unexpected side effects to the host system from builds and modifications of the
kernel and file systems.
• The user must either:
o Set up their proxies to allow git and http access to the network
o For Wind River Linux LTS only: Perform a “mirror” installation for Wind River Linux LTS
that pre-installs the full LTS product and does not require subsequent network access.
Step 4. (Optional) Configure the Intel System Studio Proxy
If you are on an open network, skip this step.
If you are working behind a proxy server you may need to configure the Intel System Studio Eclipse IDE
proxy. Follow these Eclipse proxy instructions.
Consult your network administrator to determine the correct proxy settings for your work environment.
NOTE: We recommend that you leave the SOCKS proxy setting empty in the Eclipse proxy settings
panel. In some proxy environments, setting the Eclipse SOCKS proxy may interfere with the ability of
Intel System Studio to access Internet resources. In this case, the specific error messages provided by
Intel System Studio may be misleading. This is a known problem with Eclipse.
If you encounter problems with cloning, see What should I do if I encounter problems while cloning? in
the Frequently Asked Questions chapter.
Process Overview
Develop Yocto* Project Compatible Platform Projects with Intel® System Studio 9
Process Overview
In a Yocto Project Compatible platform project, you define the information needed to create a system
image to run on a development target. It includes files, directories, configuration fragments,
applications, packages, and a kernel.
The sections in this topic explain each step in the process of developing a platform project. The
remaining topics in this guide provide step-by-step instructions.
Create and Configure a Platform Project
• Creating a platform project
To create a platform project, you will create a new Yocto Project Compatible platform project in
the Intel® System Studio IDE.
• Configuring a platform project
To configure the platform project you will select a board support package (BSP), kernel, and
root file system. You can add other features to the platform project, as needed.
Configuration information is entered on the Toaster web interface (Project Configuration Page)
that is installed as part of Intel System Studio.
For details, see CREATE AND CONFIGURE A PLATFORM PROJECT
Build the platform project
After you have configured the platform project, you will build it using one of the available build targets.
For details, see BUILD A PLATFORM PROJECT
Tailor the platform project
You can tailor the platform project by modifying the file system and/or the kernel.
For details, see TAILOR A PLATFORM PROJECT
Deploy the platform project
To deploy the new platform project to a target, copy your built platform project to a USB drive (or any
other copy method) on your host and then transfer to your target.
For details, see DEPLOY A PLATFORM PROJECT
Test and debug the platform
Test and debug the platform on the target device.
For details, see TEST AND DEBUG A PLATFORM
Create and Configure a Platform Project
10 Develop Yocto* Project Compatible Platform Projects with Intel® System Studio
Create and Configure a Platform Project
In the Intel System Studio IDE, use the Yocto Compatible Platform Project workflow to create a platform
project. The workflow screens provide guided support for the most common first steps in creating a
platform project.
As part of the new project creation workflow, you will be guided to the Toaster (Project Configuration
Page) to configure your project. A web-based version of Yocto Project Toaster is installed on your
development system as part of your Wind River Linux LTS or Yocto Project installation. The version of
Toaster included includes enhancements around Wind River Templates and uses the Wind River Layer
Index to provide the applicable content.
About Configuration
To configure your project, you enter information on the Yocto Project Toaster web interface (Project
Configuration Page). Toaster is installed on your host system as part of Yocto Project or Wind River
Linux LTS installation.
Information from the platform project is used to create the system image. Depending on the
configuration, a platform project can contain multiple file system images; for example, a base file
system and a kernel as a minimum, or separately configured and built platform images, such as
initramfs.
For information about Toaster, go to https://www.yoctoproject.org/docs/ and locate the latest version of
the Toaster manual.
NOTE: You must use the version of the Toaster manual that corresponds to the version of Yocto Project
or Wind River Linux LTS installed on your host system.
Before You Create Your First Project
Before you start your first project:
• Verify that Wind River Linux LTS or Yocto Project is installed properly
• By default for LTS configurations, the tool will set BB_NO_NETWORK = '0' in order to allow
normal installations to build out of the box. If this setting is not appropriate for your business
rules, change the value back to 1 in the configuration build tool using the link bitbake
variables.
Create and Configure a New Project
1. Launch Intel System Studio.
NOTE: If you ran the installer as sudo (sudo ./install.sh),run this script /opt/intel/system_studio_2020/iss_ide_eclipse-launcher.sh
The Intel System Studio IDE opens.
2. Choose File > New > Project to start the new project wizard.
Create and Configure a Platform Project
Develop Yocto* Project Compatible Platform Projects with Intel® System Studio 11
3. Expand the Yocto Project Compatible folder and select Yocto Project Compatible Platform
Project.
4. Click Next.
5. From the Target operating system drop-down list, select Yocto Project or Wind River Linux
Platfrom LTS and click Next.
Create and Configure a Platform Project
12 Develop Yocto* Project Compatible Platform Projects with Intel® System Studio
6. Enter the project information:
a) Project name: Your name for the project
b) Install Dir: The path to where Wind River Linux LTS or Yocto Project is installed
TIP To confirm that you’ve found the installation directory, check for bitbake
subdirectories.
7. For Wind River Linux Platform LTS, click Finish.
• For Wind River Linux Platform LTS: The project is created and briefly displayed in the
Project Explorer before the Toaster (Project Configuration Page) opens, as shown
below.
• For Yocto Project: The Toaster Create Project screen appears, where you can select the
release for that project. Click Create Project to go to the Toaster (Project Configuration
Page), as shown below.
NOTE: Although the default entries shown on the following Wind River Linux LTS and Yocto
Project sample screens may differ, the steps you follow to fill in the fields are the same for
either.
Create and Configure a Platform Project
Develop Yocto* Project Compatible Platform Projects with Intel® System Studio 13
Wind River Linux LTS example:
Yocto Project example:
Create and Configure a Platform Project
14 Develop Yocto* Project Compatible Platform Projects with Intel® System Studio
7. Enter the configuration information:
Machine: Target hardware or qemux86-64
Distro: Select a Linux distribution
8. In the box to the left of the blue Prepare Project button, enter the image name.
Wind River Linux example:
Yocto project example:
9. Click Prepare Project.
Toaster prepares the project by:
a) Downloading and updating any missing layers
b) Updating the project’s local.conf and bblayers.conf files
c) Returning the default image selection to the Intel System Studio project
NOTE: There will be a long delay the first time the layers are cloned, which can take five to 10
minutes or more depending on your network. The largest layer is the kernel, which is included
in the wrlinux layer. After that initial clone, future layer checks will take only a few seconds.
Create and Configure a Platform Project
Develop Yocto* Project Compatible Platform Projects with Intel® System Studio 15
Wind River Linux example:
Yocto Project example:
The project files now appear in the Project Explorer. The build target names in the bitbake
command above will be updated to reflect the image name you entered.
Create and Configure a Platform Project
16 Develop Yocto* Project Compatible Platform Projects with Intel® System Studio
Reconfigure an Existing Project
In the Project Explorer, you can easily access the Toaster (Project Configuration Page) by clicking
Project Configuration.
Follow these instructions to modify the configuration settings for an existing platform project:
1. Launch Intel System Studio.
NOTE: If you ran the installer as sudo (sudo ./install.sh),run this
script /opt/intel/system_studio_2020/iss_ide_eclipse-launcher.sh
The Intel System Studio IDE opens.
2. Choose File > Open > Project and select the project.
3. In the Project Explorer, click Project Configuration to open the Toaster (Project Configuration
Page).
4. On the Toaster (Project Configuration Page), the Machine and Distro values will be pre-
populated from the settings in the project. You can accept them as they are or make changes.
Wind River Linux example:
5. In the box to the left of the blue Update button, enter the image name.
Create and Configure a Platform Project
Develop Yocto* Project Compatible Platform Projects with Intel® System Studio 17
Wind River Linux example:
Yocto Project example:
6. Click Update to save your changes or click Cancel if you do not want to save your changes.
Toaster updates the project by:
a) Downloading and updating any missing layers
b) Updating the project’s local.conf and bblayers.conf files
c) Returning the default image selection to the Intel System Studio project
The configuration updates will be reflected in the Project Explorer. Specifically, the build target
names will be updated to reflect the image name you selected. For example, build_wrlinux-
image-glibc-core or build_core-image-minimal.
7. If you click Cancel, the following page appears.
Build a Platform Project
18 Develop Yocto* Project Compatible Platform Projects with Intel® System Studio
Build a Platform Project
Select a Build Target and Build the Project
Follow these steps to select a build target and build the platform project:
1. In the Project Explorer, right-click on a target in the Build Targets list, and then select Build
Target from the list of options. For descriptions of the build targets, see About Build Targets.
NOTE: The Build Project option will build the first make rule.
2. Check the Build Console for results.
Build a Platform Project
Develop Yocto* Project Compatible Platform Projects with Intel® System Studio 19
About Build Targets
The build targets for a project are listed in the Project Explorer. In this section, we describe the available
build targets.
NOTE: The naming convention for build targets is build_<image_recipe> where <image_recipe> is
replaced by the image name that was entered on the Toaster (Project Configuration Screen). For
example, build_wrlinux-image-glibc-core or build-core-minimal.
Build_<image_recipe>
This target will build the selected image recipe. The image recipe selection can be changed by clicking
the Project Configuration node in the project’s tree, selecting a new image type in the pop-up Toaster
project configuration web page, and then clicking Update.
The output will be primarily the kernel image and the file system images (as selected by
IMAGE_FSTYPES). These built artifacts can be found in the project’s tmp*/deploy/images/<arch>,
together with any other files; for example, device tree overlays) that may be required to boot the
selected board. These requirements are outlined in the board’s BSP recipe and included readme
documents.
Here is an example of the built artifacts for a qemux86-64 board. In this example the kernel is the
bzImage file, plus there are generated file system images for ext4 and tar-bz2. Note that the short file
name versions of the artifacts are symlinked to the latest generated version of that artifact (as recorded
in the timestamp field of the file name).
myname@myname:~/runtime-release-branch-config/yp-
25_build/tmp/deploy/images/qemux86$ ls -la
total 23684
drwxr-xr-x 2 myname myname 4096 Jul 31 13:01 .
drwxr-xr-x 3 myname myname 4096 Jul 31 12:56 ..
Build a Platform Project
20 Develop Yocto* Project Compatible Platform Projects with Intel® System Studio
lrwxrwxrwx 2 myname myname 73 Jul 31 12:56 bzImage -> bzImage--
4.14.48+git0+d64aec9793_97c8063d2d-r0-qemux86-20180731181337.bin
-rw-r--r-- 2 myname myname 6872640 Jul 31 12:56 bzImage--
4.14.48+git0+d64aec9793_97c8063d2d-r0-qemux86-20180731181337.bin
lrwxrwxrwx 2 myname myname 73 Jul 31 12:56 bzImage-qemux86.bin ->
bzImage--4.14.48+git0+d64aec9793_97c8063d2d-r0-qemux86-20180731181337.bin
-rw-r--r-- 2 myname myname 1306 Jul 31 13:01 core-image-minimal-qemux86-
20180731181337.qemuboot.conf
-rw-r--r-- 2 myname myname 10868736 Jul 31 13:01 core-image-minimal-qemux86-
20180731181337.rootfs.ext4
-rw-r--r-- 2 myname myname 783 Jul 31 13:01 core-image-minimal-qemux86-
20180731181337.rootfs.manifest
-rw-r--r-- 2 myname myname 2894251 Jul 31 13:01 core-image-minimal-qemux86-
20180731181337.rootfs.tar.bz2
-rw-r--r-- 1 myname myname 91086 Jul 31 13:01 core-image-minimal-qemux86-
20180731181337.testdata.json
lrwxrwxrwx 2 myname myname 53 Jul 31 13:01 core-image-minimal-
qemux86.ext4 -> core-image-minimal-qemux86-20180731181337.rootfs.ext4
lrwxrwxrwx 2 myname myname 57 Jul 31 13:01 core-image-minimal-
qemux86.manifest -> core-image-minimal-qemux86-20180731181337.rootfs.manifest
lrwxrwxrwx 2 myname myname 55 Jul 31 13:01 core-image-minimal-
qemux86.qemuboot.conf -> core-image-minimal-qemux86-
20180731181337.qemuboot.conf
lrwxrwxrwx 2 myname myname 56 Jul 31 13:01 core-image-minimal-
qemux86.tar.bz2 -> core-image-minimal-qemux86-20180731181337.rootfs.tar.bz2
lrwxrwxrwx 1 myname myname 55 Jul 31 13:01 core-image-minimal-
qemux86.testdata.json -> core-image-minimal-qemux86-
20180731181337.testdata.json
-rw-r--r-- 2 myname myname 6997468 Jul 31 12:56 modules--
4.14.48+git0+d64aec9793_97c8063d2d-r0-qemux86-20180731181337.tgz
lrwxrwxrwx 2 myname myname 73 Jul 31 12:56 modules-qemux86.tgz ->
modules--4.14.48+git0+d64aec9793_97c8063d2d-r0-qemux86-20180731181337.tgz
For instructions about how to copy or flash the image files in order to boot the board, see the
documentation for the board.
Build_Kernel
This build target will build the kernel image. This is useful to perform iterations of the kernel’s
configuration when it is not needed to rebuild the file system.
The generated kernel will appear in the above deploy/images directory.
Build a Platform Project
Develop Yocto* Project Compatible Platform Projects with Intel® System Studio 21
SDK_<image_recipe>
This build target will generate an SDK image as a self-extracting shell script. The SDK file can be
extracted to a desired location and then used to independently develop applications for that board.
These built SDK files can be found in the project’s tmp*/deploy/sdk directory. Here is an example for
SDKs build for qemux86_64 board with the wrlinux-small image recipe. In this example there are two
SDKs generated, one for the 32-bit CPU variant and one for the full 64-bit CPU variant.
Wind River Linux LTS example:
$ ls build/tmp-glibc/deploy/sdk/
wrlinux-small-10.17.41.2-glibc-i686-qemux86_64-wrlinux-image-glibc-core-sdk.sh
wrlinux-small-10.17.41.2-glibc-x86_64-qemux86_64-wrlinux-image-glibc-core-sdk.sh
Yocto Project example:
myname@myname:~/system_studio/workspace-gold/yp-sumo_build$ ls -la tmp/deploy/sdk/
total 125600
drwxr-xr-x 2 myname myname 4096 Aug 15 19:14 .
drwxr-xr-x 6 myname myname 4096 Aug 16 14:17 ..
-rw-r--r-- 2 myname myname 6073 Aug 15 19:12 poky-glibc-x86_64-core-image-
minimal-i586-toolchain-2.5.1.host.manifest
-rwxr-xr-x 2 myname myname 128482656 Aug 15 19:14 poky-glibc-x86_64-core-image-
minimal-i586-toolchain-2.5.1.sh
-rw-r--r-- 2 myname myname 7473 Aug 15 19:11 poky-glibc-x86_64-core-image-
minimal-i586-toolchain-2.5.1.target.manifest
-rw-r--r-- 2 myname myname 105453 Aug 15 19:11 poky-glibc-x86_64-core-image-
minimal-i586-toolchain-2.5.1.testdata.json
For more information about Extensible SDKs go to https://www.yoctoproject.org/docs/latest/sdk-
manual/sdk-manual.html#sdk-using-the-standard-sdk
Build a Platform Project
22 Develop Yocto* Project Compatible Platform Projects with Intel® System Studio
eSDK_<image_recipe>
This build target will generate an Extensible SDK image as a self-extracting shell script. The Extensible
SDK is based on the standard SDK, but also provides the devtool that can build and deploy applications
to a target. It will also include a QEMU simulator for QEMU-based projects. The Extensible SDK file can
be extracted to a desired location and then used to independently develop applications for that board.
These built SDK files can be found in the project’s tmp*/deploy/sdk directory. Here is an example for
SDKs built for qemux86_64 board with the wrlinux-small image recipe. In this example there are two
SDKs generated, one for the 32-bit CPU variant and one for the full 64-bit CPU variant. Note the -ext in
the file name to distinguish it from a standard SDK.
Wind River Linux LTS example:
$ ls build/tmp-glibc/deploy/sdk/
wrlinux-small-10.17.41.2-glibc-x86_64-qemux86_64-wrlinux-image-glibc-core-sdk-ext.sh
...
$
Yocto project example:
myname@myname:~/system_studio/workspace-gold/yp-sumo_build$ ls -la tmp/deploy/sdk/
total 835300
drwxr-xr-x 2 myname myname 4096 Aug 16 14:33 .
drwxr-xr-x 6 myname myname 4096 Aug 16 14:17 ..
-rw-r--r-- 2 myname myname 6073 Aug 15 19:12 poky-glibc-x86_64-core-image-
minimal-i586-toolchain-2.5.1.host.manifest
-rwxr-xr-x 2 myname myname 128482656 Aug 15 19:14 poky-glibc-x86_64-core-image-
minimal-i586-toolchain-2.5.1.sh
-rw-r--r-- 2 myname myname 7473 Aug 15 19:11 poky-glibc-x86_64-core-image-
minimal-i586-toolchain-2.5.1.target.manifest
-rw-r--r-- 2 myname myname 105453 Aug 15 19:11 poky-glibc-x86_64-core-image-
minimal-i586-toolchain-2.5.1.testdata.json
Build a Platform Project
Develop Yocto* Project Compatible Platform Projects with Intel® System Studio 23
-rw-r--r-- 1 myname myname 4387 Aug 16 14:33 poky-glibc-x86_64-core-image-
minimal-i586-toolchain-ext-2.5.1.host.manifest
-rwxr-xr-x 2 myname myname 704699796 Aug 16 14:33 poky-glibc-x86_64-core-image-
minimal-i586-toolchain-ext-2.5.1.sh
-rw-r--r-- 1 myname myname 2876 Aug 16 14:33 poky-glibc-x86_64-core-image-
minimal-i586-toolchain-ext-2.5.1.target.manifest
-rw-r--r-- 2 myname myname 109627 Aug 16 14:29 poky-glibc-x86_64-core-image-
minimal-i586-toolchain-ext-2.5.1.testdata.json
-rw-r--r-- 2 myname myname 4507 Aug 16 14:29 x86_64-buildtools-nativesdk-
standalone-2.5.1.host.manifest
-rwxr-xr-x 2 myname myname 21810655 Aug 16 14:29 x86_64-buildtools-nativesdk-
standalone-2.5.1.sh
-rw-r--r-- 2 myname myname 0 Aug 16 14:28 x86_64-buildtools-nativesdk-
standalone-2.5.1.target.manifest
-rw-r--r-- 2 myname myname 83956 Aug 16 14:28 x86_64-buildtools-nativesdk-
standalone-2.5.1.testdata.json
For more information about Extensible SDKs go to https://www.yoctoproject.org/docs/latest/sdk-
manual/sdk-manual.html#sdk-extensible
Tailor a Platform Project
24 Develop Yocto* Project Compatible Platform Projects with Intel® System Studio
Tailor a Platform Project
Modify the Kernel
Follow these steps to modify the kernel:
1. In the Project Explorer, double-click Kernel Configuration.
2. When a message saying the Kernel Source cannot be found, click Yes to extract the kernel
sources now.
3. In the Project Explorer, click Kernel Configuration to open the Linux Kernel Configuration tab.
4. Edit the platform project.
5. When you finish making changes, build the platform project. Click Build a Platform Project for
instructions.
Alternatively, to simply rebuild the kernel image, select and build the Rebuild_Kernel target.
Deploy a Platform Project
Develop Yocto* Project Compatible Platform Projects with Intel® System Studio 25
Deploy a Platform Project
To deploy the new platform to a target, copy your built platform from your host system to a USB drive
(or any other copy method) and transfer it to your target.
QEMU Prerequisites
If you choose to test a platform on a QEMU before deploying to a hardware target, you need to
complete the following steps first.
1. Start the QEMU simulator in your project directory by entering the command
$ runqemu variable nographic where variable is either quemux86-64 or qemuxx86.
2. When prompted, run ipconfig to get the IP address. You will need the IP address when you
create the target connection.
3. Create a target connection in the IDE. For instructions, see Create a Target Connection.
Test and Debug a Platform
26 Develop Yocto* Project Compatible Platform Projects with Intel® System Studio
Test and Debug a Platform
You can use Intel® System Studio tools to test and debug on the target or the host, depending on how
you configure the platform project.
For more information, see:
• For instructions for enabling agents like Intel® VTune™ Profiler and Intel SoC Watch, see
INCLUDING INTEL SYSTEM STUDIO RUNTIME COMPONENTS in this guide.
• For information about application debugging, see Develop Yocto Project Compatible
Applications with Intel System Studio.
Import and Modify a Platform Project
Develop Yocto* Project Compatible Platform Projects with Intel® System Studio 27
Import and Modify a Platform Project
Follow these steps to import an existing Wind River Linux LTS 17 (RCPL9 or later) platform project and
modify it in Intel System Studio:
1. In the IDE, choose File > Import to start the import wizard.
2. Expand the Yocto Project Compatible folder and select Existing Yocto Project Compatible
Platform Project into Workspace.
3. Click Next.
4. Select Wind River Linux Platform from the Target operating system drop-down list.
5. Browse to the location where imported Wind River Linux platform projects are stored.
Import and Modify a Platform Project
28 Develop Yocto* Project Compatible Platform Projects with Intel® System Studio
6. Project name will be the directory name-import by default. Change this if you wish.
7. Click Finish.
The imported project files are shown in the Project Explorer, as shown in the example below.
7. See RECONFIGURE AN EXISTING PROJECT for instructions to modify the platform project.
Configuring the Platform Kernel
Develop Yocto* Project Compatible Platform Projects with Intel® System Studio 29
Configuring the Platform Kernel
Customizing the Linux kernel to better fit the particular details of a hardware implementation is almost
always a required step in an embedded software development cycle.
The Kernel Configuration tool supports viewing and editing your kernel configuration.
For examples of configuring a project-specific kernel build, such as using a custom kernel recipe, see
the Wind River Linux Knowledge Library or Yocto Project documents.
Command Line tools
This section describes the command-line methods you can use to configure the kernel.
Menuconfig
Wind River Linux and Yocto Project support standard kernel configuration tools such
as menuconfig and xconfig. To use one of these configuration tools, you invoke them using a build
option from the command line, for example:
$ bitbake linux-yocto -c menuconfig
Kernel Configuration tool
For a tutorial on using menuconfig to add, remove, and turn kernel modules into static features,
see Kernel Configuration with menuconfig Tutorial. Or for Yocto Project, go to Configuring the Kernel in
the Yocto Project Linux Kernel Development Guide.
Configuring the Platform Kernel
30 Develop Yocto* Project Compatible Platform Projects with Intel® System Studio
Patching with Fragments
Kernel configuration can be done conveniently using configuration fragments, which are small files that
contain kernel configuration options in the syntax of the original kernel's .config configuration file.
For an example tutorial, see Kernel Configuration and Patching with Fragments Tutorial. Or for Yocto
Project, go to Creating Configuration Fragments in the Yocto Project Linux Kernel Development Guide.
Once you make changes to your configuration, you must use the kernel_rebuild build target to include
the changes in your platform project image. Note that this replaces the default sym links with your local
kernel and vmlinux symbol file.
For examples of configuring a project-specific kernel build, such as using a custom kernel recipe,
see Project-specific Custom Kernel Builds. Or for Yocto Projects, go to the Yocto Project Linux Kernel
Development Guide.
Kernel Configuration Tool
The Kernel Configuration tool allows you to change your kernel configuration in the same manner as
using menuconfig from the command line. The Kernel Configuration tool also lets you set filters to
choose which kernel options appear in the tool, as well as a list of dependencies for any selected option
in the view.
The special features of the Kernel Configuration tool (as compared to the standard menuconfig
command line tools) are:
• Ability to easily see and find hidden and/or disabled configuration items
• Easy reference calculations for dependencies, include reverse dependencies from the select
and imply keywords
• Easy search and link tools
• Easy access to the parent KConfig files and their content
Configuring the Platform Kernel
Develop Yocto* Project Compatible Platform Projects with Intel® System Studio 31
Kernel Configurator Editor
The editor includes two tabs to simplify the process of making changes to your kernel
configuration: Linux Kernel Configuration.
The Configuration tab consists of two panels. The top panel presents the items for configuration that
may be familiar to you from using menuconfig or xconfig to configure kernels. The three tabs in the
lower panel -- Help, Dependencies, and Kconfig -- provide additional information on the items you
select in the top panel.
NOTE: By moving your cursor around inside the Linux Kernel Configuration view, you can find the drag
points to enlarge view sections.
When you select an item in the top panel, help appears in the Help tab.
Select the Dependencies tab to see any items your selected item depends on, or items that depend on
it. Double-click any item dependency to move to it in the top panel.
Select the Kconfig tab to see the definition of the item and the file system location where it is defined. If
you click the file path link shown in blue, the Kernel Configuration tool adds the file to the Edit view and
you are placed at the location of the item definition.
Step-by-Step Instructions
1. Launch the Kernel Configuration tool.
In the Project Explorer view, expand the platform project directory and double-click on
the Kernel Configuration node.
The Kernel Configuration tool appears as a tab in the main view.
Configuring the Platform Kernel
32 Develop Yocto* Project Compatible Platform Projects with Intel® System Studio
2. Create a new kernel configuration by modifying the settings of menu items in the top panel.
The current configuration status of items is indicated by the icons associated with them.
The Configuration view does not show all items, because some of them are disabled due to
dependency conditions.
3. Optional: Right-click in the Configuration view and select Filters > Show All to view all items,
including disabled items.
The disabled items are shown as grayed-out. You can still select them and view
the Dependencies tab to see the reasons they are disabled.
4. Rebuild the kernel.
Once you have made changes to your kernel configuration, you must rebuild the kernel to
include these changes in your platform project image.
In the Project Explorer view, expand the Build Targets in the platform project folder, right-click
on kernel_rebuild, and select Build Target.
Including Intel System Studio Runtime Components
Develop Yocto* Project Compatible Platform Projects with Intel® System Studio 33
Including Intel System Studio Runtime Components
Include the Intel System Studio Integration Layer Directory
Follow these steps after you launch the project configuration tool (Toaster) either via ISS or directly
from your Wind River Linux LTS or Yocto Project installation.
NOTE: The layer name and paths below work for Wind River Linux LTS and Yocto Project.
1. Click Import Layer.
2. Enter the layer name wr-iss-2020.
3. Click the selection In a directory.
4. Provide the path to the WindRiver/wr-iss-2020 integration layer, for example $HOME/intel/system_studio_2020/WindRiver/iss_ide_eclipse-launcher.sh
NOTE: If you ran the installer as sudo(sudo ./install.sh),use this path: /opt/intel/system_studio_2020/iss_ide_eclipse-launcher.sh
5. Click Import and add to project to finish.
Wind River Linux: When this layer is added, Toaster will automatically register the recipes and
Wind River Templates. You can directly include them and have their content added into the
board’s file system image.
Yocto Project: You must enter the software recipe names manually.
Including Intel System Studio Runtime Components
34 Develop Yocto* Project Compatible Platform Projects with Intel® System Studio
Enable Intel System Studio 2020 through Wind River Templates
The wr-iss-2020 layer provides Wind River Templates that simplify the inclusion of the desired runtime
components of Intel System Studio.
The available templates are:
feature/intel-iss-icc-runtime
feature/intel-iss-ippcv
feature/intel-iss-ippvm
feature/intel-iss-ippall
feature/intel-iss-ippdc
feature/intel-iss-mkl-target
feature/intel-iss-ippcc
feature/intel-iss-ippe
feature/intel-iss-socwatch-target
feature/intel-iss-ippch
feature/intel-iss-ippip
feature/intel-vtune-drivers
feature/intel-iss-ippcore
feature/intel-iss-ippsp
feature/intel-vtune-sep-driver
Follow these instructions to add one or more of these templates:
1. Go to the bottom right of the Toaster interface, in the Wind River Templates section.
2. Enter the name of one of the above feature templates. The type-ahead feature will help you fill
in the template name
3. Click Add Template.
4. Repeat, as desired.
When you build your file system image and your SDK images, the Intel System Studio runtime
components will be included.
Including Intel System Studio Runtime Components
Develop Yocto* Project Compatible Platform Projects with Intel® System Studio 35
Enable Intel System Studio 2020 through Yocto Project Recipes
Once you add the Intel System Studio layer, you directly update IMAGE_INSTALL_append with these
recipes in Toaster:
1. Open the project’s configuration.
2. Click on Bitbake Variables (bottom left).
3. Click the edit icon for IMAGE_INSTALL_append.
4. Add one or more recipes (space delimited).
Here is the list of supported Intel System Studio recipes:
intel-iss-icc-target
intel-iss-ippcv
intel-iss-ippvm
intel-iss-ippall
intel-iss-ippdc
intel-iss-mkl-target
intel-iss-ippcc
intel-iss-ippe
intel-iss-socwatch-target
intel-iss-ippch
intel-iss-ippip
intel-vtune-drivers
intel-iss-ippcore
intel-iss-ippsp
intel-vtune-sep-driver
Board Support Packages (BSPs)
36 Develop Yocto* Project Compatible Platform Projects with Intel® System Studio
Board Support Packages (BSPs)
Finding BSPs for Your Project
The list of supported MACHINE types (and their BSP layers) can easily be found using Toaster by
clicking the Machine link and selecting the Machine (plus any required layers).
If a vendor or another team has prepared a new BSP that you wish to use, click the Import Layer button
to include and attach that BSP's layer. This tool allows you to either point to an upstream git repository
or to a local directory.
The layer's content will not be fully calculated and visible in Toaster until after the first build. In this
case you can directly enter the Machine name (plus any additional layer features like the "distro" and
desired image recipe), and then build the project.
Providing BSPs to Users of Wind River Linux LTS and Yocto Project
Hardware developers can easily create and share BSPs to enable their boards for developers. To do so,
simply provide your custom content in a standard Yocto Project layer directory, and then share that
directory to your prospective users.
• Adapt and existing BSP or instantiate a new one.
• Set up recipes to allow the user to easily enable special features and/or hardware.
For detailed information about BSP layers, see:
https://www.yoctoproject.org/docs/latest/bsp-guide/bsp-guide.html
https://www.yoctoproject.org/software-overview/layers/
For information about Yocto Project, see: https://www.yoctoproject.org/docs
Frequently Asked Questions
Develop Yocto* Project Compatible Platform Projects with Intel® System Studio 37
Frequently Asked Questions
Q. How does Toaster configure my project?
Intel System Studio opens a temporary Toaster instance in the directory <XXX_dir>/.toaster
(where <XXX_dir> is either the Wind River Linux or the Yocto Project installation directory), and
closes it when the user finishes by selects Prepare Project, Update, or Cancel.
The user preferences are appended to the project's conf/local.conf and conf/bblayers.conf
files.
This Toaster instance uses the same standard database at <XXX_dir>/toaster.sqlite (where
<XXX_dir> is either the Wind River Linux or the Yocto Project installation directory), which will
also be used the standard persistent instance of Toaster as per the Toaster documentation.
Q. How is Toaster able to configure projects for layers I did not install?
Toaster maintains a separate layer cache in <XXX_dir>/_toaster_clones (where <XXX_dir> is
either the Wind River Linux or the Yocto Project installation directory), and it will automatically
download any requested layers when either (a) a project build is started, or (b) the project
configuration page is closed with Prepare Project or Update.
Toaster updates the project's conf/bblayers.conf file to point to these cached layer directories.
NOTE: if you install additional Wind River Linux LTS 17 layers using the command line setup
tool, remember to always include any previous non-default layers that you are using in your
project, otherwise setup might remove them believing that they are no longer needed and
break your existing projects.
Q. Why does Prepare Project take so long the first time I run it?
Toaster performs its standard review of the project's layers when the user is done configuring a
project, and it will download any layers not currently in the Toaster layer cache. The first time
this is done there are no layers in the cache, so all have to be downloaded. The kernel layer (one
of the later layers) will especially take a long time.
Q. What happens if I close the Toaster configuration page without clicking Update or Cancel?
Nothing will happen. The temporary instance of Toaster will remain passive and open until the
next configuration request, or until the host is restarted.
Q. What happens if I close the Toaster configuration page without clicking Prepare Project?
The new project will still build, however its layer list (in conf/bblayers.conf will still be
referencing the installations layers instead of the Toaster's extended cached layers (in
<XXX_dir>/_toaster_clones where <XXX_dir> is either the Wind River Linux or the Yocto
Project installation directory). The next time the user does configure via Toaster, the project’s
conf files will finally be updated to point to the Toaster cache, so any (or all) content will likely
take time to rebuild.
Frequently Asked Questions
38 Develop Yocto* Project Compatible Platform Projects with Intel® System Studio
Q. How can I detach a project from Intel System Studio and continue my work from the command
line?
If you do a simple delete in Intel System Studio, you will remove the Platform Project wrapper
from Intel System Studio, but leave the project's build directory available to do command line
work.
However, if you also check the box Also delete complete content of platform projects, this
also delete the project's build directory to complete clean the project and nothing will be left.
Q. How do I re-attach a project to Intel System Studio, or connect any existing Yocto Project
Compatible platform project to Intel System Studio?
Simply import the project's build directory into Intel System Studio with File > Import > Yocto
Project Compatible > Existing Yocto Project Compatible Platform Project into Workspace.
This will create a new Intel System Studio platform project that points to the original project's
build directory, and all Intel System Studio actions will work with that content.
Q. What is the "oe-init-this" script I see added to my project's build directory?
This is a helper script that allows you to quickly prepare a bitbake environment in the project's
build directory, without having to find the parent bitbake installation directory and manually
setting up the proper environment in order to execute the desired bitbake commands.
Typical usage:
$ cd <project-build-directory>
$ bash
$ source oe-init-this
$ bitbake ...
$ exit
Q. What should I do if my Toaster installation is broken and Intel System Studio hangs in the project
creation dialog?
You can directly kill the Toaster launch script and thereby release the Intel System Studio
dialog.
$ ps -e -o pid,cmd | grep project-configure.sh
<pid> /bin/bash /.../variable/scripts/project-configure.sh ...
$ kill <pid>
where variable is replaced by wrlinux-x or yocto-x
Examine the returned error message to help restore your Toaster installation.
Q. What should I do if I encounter problems while cloning?
Check your .gitconfig file to make sure you have access to http and https URLs.
NOTE: Use the insteadOf rule in the gitconfig file.
Example: [url https://git.yoctoproject.org/git]
insteadOf = "git://git.yoctoproject.org"
Filing Defects and Early Access
Develop Yocto* Project Compatible Platform Projects with Intel® System Studio 39
Filing Defects and Early Access
Wind River Linux LTS
For any defects or enhancement requests, please contact Wind River Customer Support. You can also
open a support case by going to https://www.windriver.com/ and selecting Support > Open Support
Case.
To access patch overlays for previously or pending versions of Wind River Linux LTS 17, click here:
https://knowledge.windriver.com/Content_Lookup?id=K-511696.
Or, go to the Wind River website and select Support > Access Documentation. Then, search for Intel
System Studio LTS 17.
Yocto Project
Use the Yocto Project bug tracking system to create defects and enhancement requests for Toaster. Use
the link https://bugzilla.yoctoproject.org and select New > Build System, Metadata & Runtime >
Toaster.
To access patch overlays for previously or pending versions of Yocto Project, go to Bug 12785 Support
Project Specific configuration for external tools (e.g. ISS, Eclipse), which can be found at this link
https://bugzilla.yoctoproject.org/show_bug.cgi?id=12785.
Known Issues
40 Develop Yocto* Project Compatible Platform Projects with Intel® System Studio
Known Issues
For Wind River Linux LTS:
Issue Cause Workaround
The message
Network access
disabled through
BB_NO_NETWORK
appears while
fetching linux-yocto
The kernel source (which
is included in the wrlinux
layer) has been updated
since Toaster was started
and Toaster did not
detect the change.
1. Remove the older wrlinux cloned repository,
and thus the older kernel repository:
$ rm –rf
<installdir>/_toaster_clones/_git___lxgit.wr
s.com_git_layers_wrlinux_WRLINUX_10_17
_LTS
2. Open the project in Toaster via the KERNEL
CONFIGURATION TOOL.
3. Click Update.
4. This will re-clone the removed repo and
things will again be in sync.
Find More
Develop Yocto* Project Compatible Platform Projects with Intel® System Studio 41
Find More
Resource Description
Wind River
Knowledge Library
Access to Wind River documentation.
NOTE: Some of the Wind River documentation is available only if you have
a Wind River WindShare account.
Yocto Project Website Access to Yocto Project documentation.
Code Samples and
Tutorials
Intel provides downloadable sample code and tutorials, which guide a new
user through the basic product features: The sample code illustrates common
scenarios, and the corresponding tutorials show how the build tools can be
used to create and optimize code.
Intel® System Studio
Get Started
Links to Getting Started Guides for all Intel® System Studio components
Intel® System Studio
Featured
Documentation
Links to articles that address a wide range of Intel System Studio topics
Additional
Documentation
A downloadable ZIP file containing all Intel® System Studio documentation is
available for offline use from https://software.intel.com/en-
us/articles/download-documentation-intel-system-studio-current-previous.
Intel® System Studio
Product Page
Visit this page for support and the latest online documentation.