Enea® 4.0 Release Information

4.0-docupdate1 Enea® Linux 4.0 Release Information

Enea® Linux 4.0 Release Information

Copyright

Copyright © Enea Software AB 2014.

This User Documentation consists of confidential information and is protected by Trade Secret Law. This notice of copyright does not indicate any actual or intended publication of this information.

Except to the extent expressly stipulated in any software license agreement covering this User Documentation and/or corresponding software, no part of this User Documentation may be reproduced, transmitted, stored in a retrieval system, or translated, in any form or by any means, without the prior written permission of Enea Software AB. However, permission to print copies for personal use is hereby granted.

Disclaimer

The information in this User Documentation is subject to change without notice, and unless stipulated in any software license agreement covering this User Documentation and/or corresponding software, should not be construed as a commitment of Enea Software AB.

Trademarks

Enea®, Enea OSE®, and Polyhedra® are the registered trademarks of Enea AB and its subsidiaries. Enea OSE®ck, Enea OSE® Epsilon, Enea® Element, Enea® Optima, Enea® Linux, Enea® LINX, Enea® LWRT, Enea® Accelerator, Polyhedra® Flash DBMS, Polyhedra® Lite, Enea® dSPEED, Accelerating Network Convergence™, Device Software Optimized™, and Embedded for Leaders™ are unregistered trademarks of Enea AB or its subsidiaries. Any other company, product or service names mentioned in this document are the registered or unregistered trade- marks of their respective owner.

Acknowledgements and Open Source License Conditions

Information is found in the Release Information manual.

© Enea Software AB 2014 4.0-docupdate1 ii Enea® Linux 4.0 Release Information

Table of Contents 1 - About This Release ...... 4 1.1 - Documentation ...... 4 1.2 - System Requirements ...... 4 1.3 - Supported Processors ...... 5 1.4 - Supported Packages ...... 5 1.5 - Security Fixes ...... 5 2 - Changes Since Previous Release ...... 6 2.1 - Version Updates in Enea Linux 4.0 ...... 6 2.2 - New Features in Enea Linux 4.0 ...... 6 2.3 - Supported Targets in Enea Linux 4.0 ...... 6 2.4 - Yocto Eclipse Plug-in Changes in Enea Linux 4.0 ...... 7 3 - Known Problems and Limitations in This Release ...... 8 3.1 - Yocto ...... 8 3.2 - Toolchain / SDK ...... 8 3.3 - Eclipse Tools ...... 8 3.4 - Target-Side Tools ...... 9 3.5 - Virtualization ...... 9 3.6 - Documentation ...... 9 3.7 - Miscellaneous ...... 10 4 - Contacting Enea Support ...... 11 4.1 - Request for Product Support ...... 11 4.2 - Support Issue Information ...... 12 4.3 - Software Updates ...... 13 4.4 - Extended Support Services ...... 13

© Enea Software AB 2014 4.0-docupdate1 iii Enea® Linux 4.0 Release Information 1. About This Release

1. About This Release

In this Enea® Linux 4.0 Release Information you find release specific information about documentation, system requirements, supported packages and hardware, main differences compared to previous release, and known problems and limitations.

Enea Linux 4.0 is based on:

• Yocto version 1.6 • poky source version daisy-11.0 • LINX version 2.6.6 • Yocto application development tools in Eclipse IDE and plug-ins • Pre-built kernel and rootfs images • Source code, recipes and scripts for building Enea Linux, including toolchains for cross-compilation

Included features are described in New Features in Enea Linux 4.0 and in Release Notes for Yocto Project 1.6 "Daisy" Release (poky daisy-11.0)1. 1.1 Documentation

The following documentation is included in this release:

Enea Linux Pre-built manuals and reports in HTML and PDF format, and additional files: • Enea® Linux Release Information (this document) • Enea® Linux User's Guide • Enea® Linux Open Source Report • Enea® Linux Real-Time Guide • Enea® Linux Eclipse Open Source Report • README.htm - links to other Enea Linux documents • README.release - describes the release contents and typical installations

Available in tarball Enea-Linux-doc_4.0.tar, directory documentation.

poky Yocto documentation in XML format with build files and README. The README explains how to generate the Yocto manuals in HTML or PDF format and how to retrieve pre-built manuals from the web.

Available in tarball Enea-Linux-4.0.tar, directory poky/documentation.

Eclipse Eclipse documentation in HTML format, available in tarball Enea-Linux-Eclipse_4.0.tar, directory eclipse/readme.

Note that the Eclipse Open Source Report is part of the Enea Linux tarball. 1.2 System Requirements

The system where you will build your Enea Linux images should meet the following requirements:

• The downloaded code shall be built on a Linux host to generate images for your target or for emulation in QEMU. You should experience no problems building Enea Linux on any stable Linux distribution, such as the penultimate version of Ubuntu, Fedora, openSUSE, Red Hat, or Debian. • Internet access during the build, for source code download from servers. • At least 50 GB free disk space for smaller images.

1 https://www.yoctoproject.org/download/yocto-project-16

© Enea Software AB 2014 4.0-docupdate1 4 Enea® Linux 4.0 Release Information 1. About This Release

• At least 100 GB free disk space for larger images comprising more packages. • At least 4 GB available RAM; 8 GB RAM recommended for parallel build jobs.

The build time depends on the capacity of the processor and other hardware, available resources, speed of internet connection, load situation, etc. As an example, on a fast 16 core machine with 16 GB RAM and SSD disks, a complete build from source could take about two hours.

The system where you will use the optional Eclipse tools requires Java 6 JRE/JDK, see the Eclipse Project Release Notes2. 1.3 Supported Processors

The Enea Linux 4.0 release supports the following processors and hardware architectures:

• Freescale B4860 • Freescale P2020 • Freescale P2041 • Freescale P4080 • TI OMAP4460/ARM Cortex-A9 • TI TMS320C6678/ARM Cortex-A15 • ARM Cortex-A9 • ARM Cortex-A15 • Intel Xeon E5-2620 1.4 Supported Packages

The packages included in the Enea Linux 4.0 release are listed in the following reports:

• Enea® Linux Open Source Report • Enea® Linux Eclipse Open Source Report 1.5 Security Fixes

The following security patches are included in the Enea Linux 4.0 release:

• Libxml2: CVE-2014-0191 • GnuTLS: CVE-2014-0092 • GnuTLS: CVE-2014-1959 • Linux-yocto: CVE-2014-0038 • Linux kernel: CVE-2013-2094 • Linux drivers: CVE-2013-2888 • Linux kernel: CVE-2013-4300 • Linux kernel: CVE-2013-6431 • OpenSSL: CVE-2014-0076 • OpenSSL: CVE-2014-0160 • OpenSSL: CVE-2014-0198 • OpenSSL: CVE-2013-4353 • OpenSSL: CVE-2013-6424 • OpenSSL: CVE-2013-6449 • OpenSSL: CVE-2013-6450 • Python: CVE-2014-1912 • Python: CVE-2013-1752

2 http://www.eclipse.org/eclipse/development/readme_eclipse_4.3.html

© Enea Software AB 2014 4.0-docupdate1 5 Enea® Linux 4.0 Release Information 2. Changes Since Previous Release

2. Changes Since Previous Release

This chapter describes the major changes and additions in the Enea Linux 4.0 release compared to the previous Enea Linux release (3.1). 2.1 Version Updates in Enea Linux 4.0

• Enea Linux 4.0 is upgraded to and based on Yocto 1.6 (was 1.5) • The poky source version is now daisy-11.0 (was dora-10.0). • The LINX version is now 2.6.6 (was 2.6.5). • The supported Eclipse version is now 4.3 Kepler (was 4.2.2 Juno) 2.2 New Features in Enea Linux 4.0

• Support for assembly of a rootfs from a given set of pre-built packages. • KVM support for PowerPC targets. KVM is a Kernel-based Virtual Machine and provides a fully virtualized environment for running guests. • Linux containers (LXC) support. LXC is a lightweight container environment that uses a single host kernel to provide multiple user-space environments. • Open vSwitch support. Open vSwitch is a multi-layer software switch which is designed to meet the needs for automated and dynamic network control in large-scale multi-server virtualization environ- ments. • Intel DPDK support. DPDK is an open source programming framework providing a set of data plane libraries and drivers for fast packet processing on x86 architectures. • Intel DPDK vSwitch support. Intel DPDK vSwitch is a modification of the regular Open vSwitch with the purpose of enabling fast packet switching on Intel architectures. • Tested with the Linux Standard Base (LSB v4.0) core test suite. • PREEMPT_RT is now supported for Zynq and the PowerPC targets. • A real-time manual that provides in-depth instructions on how to improve real-time performance in Enea Linux 4.0. • Support for Freescale B4860QDS. 2.3 Supported Targets in Enea Linux 4.0

Current and recent releases of Enea Linux provide recipes and pre-built images for the following boards:

Target 3.0 3.1 4.0 TI Keystone EVMK2H ✗ ✔ ✔ Freescale B4860QDS ✗ ✗ ✔ Freescale P2020RDB ✔ ✔ ✔ Freescale P2041RDB ✔ ✔ ✔ Freescale P4080DS ✔ ✔ ✔ Pandaboard ES ✔ ✔ ✔ Romley Ivy Bridge x86_64 ✗ ✔ ✔ Xilinx Zynq zc702 ✔ ✔ ✔

✔ = supported, ✗ = not supported

U-Boot support is provided on all supported targets except for Romley Ivy Bridge x86_64 which is booted using PXE.

© Enea Software AB 2014 4.0-docupdate1 6 Enea® Linux 4.0 Release Information 2. Changes Since Previous Release

2.4 Yocto Eclipse Plug-in Changes in Enea Linux 4.0

The following changes on Yocto Eclipse Plug-ins are included in Enea Linux 4.0, but have not been integrated in the Yocto Project 1.6 Release:

• PowerTop plug-in has not the "show pids" checkbox available anymore due to the change in the new 2.4 version which does not support that option.

© Enea Software AB 2014 4.0-docupdate1 7 Enea® Linux 4.0 Release Information 3. Known Problems and Limitations in This Re- lease 3. Known Problems and Limitations in This Release

The open source projects are continuously working on correcting reported problems. Corrections to bugs detected by Enea have been upstreamed, and the corrections have also been included in Enea Linux re- gardless of when they will be included by the open source project. Remaining issues in Enea Linux 4.0 are listed below, and workarounds to some of the problems are described in chapter Troubleshooting in the Enea® Linux User's Guide. 3.1 Yocto

Open source projects often use bug databases for much more than tracking bugs. The Yocto Project's Bugzilla database also functions as a feature tracking program, both for the current release and for future releases, and a way to track non-software issues, like documentation changes.

The following page shows a sampling of the database: https://www.yoctoproject.org/tools-resources/bugs.

For the full database, visit https://bugzilla.yoctoproject.org. 3.2 Toolchain / SDK

• Building the kernel might fail if an unpatched GNU Make of version 3.82 has been installed on the host. The mandatory recovery action is to revert to version 3.81. 3.3 Eclipse Tools

The Eclipse tools provided together with Enea Linux are part of the Yocto Application Development Toolkit (ADT) and are maintained by different open source projects. The list below outlines current prob- lems with the plug-ins as such, as well as kernel limitations when using a tool towards the mentioned target:

• HOB is currently not supported on Red Hat. • SystemTap is currently not supported on Red Hat. • When running SystemTap for the first time on a target, you may need to manually ssh into the target beforehand, in order to add the RSA key of the host to the file known_hosts. Failing to do so will result in Eclipse freezing with the progress window displayed, and a message in the terminal saying: "The authenticity of host can't be established". • Currently BitBake Commander projects can only be created for a local connection. Due to an upstream bug, selecting a remote connection causes the Eclipse GUI to freeze such that it must be killed. • A limitation currently makes Eclipse non-responding when running a streaming script, i.e. a script that runs continuously. • Currently LatencyTOP is not available for ARM kernels built with SMP support (e.g. EVMK2H Key- stone, Xilinx Zynq zc702, and PandaBoard) due to an ARM specific limitation in the Linux kernel. • When running powertop from the Eclipse terminal towards zynq and p2020rdb targets it is necessary to specify the full path in order to find the command. • PowerTOP sometimes freezes Eclipse after displaying a progress bar with message Gathering powertop data file remotely. • ssh-only is currently the only supported connection type when running Eclipse tools towards a target. • Having a hyphen character '-' in the name of the Yocto ADT AutoTools project can cause configuration errors. • The LTTng tool does not work on ARM targets, neither from within Eclipse nor when run directly on target, due to a problem with lttng-modules and gcc-4.8.x. • When running LTTng from Eclipse, it sometimes happens that a new session created in the Control View does not immediately appear under Sessions for that target. However, the session is created and will appear after right-clicking "Sessions" and selecting "Refresh".

© Enea Software AB 2014 4.0-docupdate1 8 Enea® Linux 4.0 Release Information 3. Known Problems and Limitations in This Re- lease

• The yocto-bsp properties page has some problems in the graphical user interface. Occasionally it is not possible to resize and scroll which makes it impossible to see the lower part of the properties window. 3.4 Target-Side Tools

The target-side tools can be run stand-alone on target or from Eclipse on host. The issues below are only observed when running the tools directly on target:

• The perf report command hangs or crashes (segmentation fault reported) on Zynq and Keystone targets. • The perf report does not show any output for the PandaBoard target. • The perf report command hangs or crashes due to segmentation fault on ARM targets. • perf displays for a few seconds the error message Failed to open /tmp/perf-388.map. Any attempt to exit the subsequent window causes the system to hang. • The LTTng tool does not work on ARM targets, neither from within Eclipse nor when run directly on target, due to a problem with lttng-modules and gcc-4.8.x. • The powertop --calibrate command does not work on the Keystone target. • The powertop command run with --calibrate or --time arguments may show some warnings on Pow- erPC targets. • When running powertop on ARM targets, the following warning/error is repeated: clk_set_rate: failed to set i2c0_aper rate . Then powertop stops and the statistics are no longer updated. What probably happens here is that the cpufreq governor tries to scale the CPU frequency, but since the I2C clock is derived from the CPU frequency, the I2C driver implements some policy to stay within legal frequency limits and rejects the frequency changes, ending up with the warning message. A fix1 has been merged in the linux-xlnx kernel but is not yet propagated into meta-xilinx. • If you get an error message like Cannot load from file /var/cache/power- top/saved_results.powertop when running powertop, there is most likely not enough mea- surement data collected yet. All you have to do is to keep powertop running for a certain time. • The message Model-specific registers (MSR) not found (try enabling CONFIG_X86_MSR) appears when you run powertop on non-x86 targets. powertop is mainly an x86n tool, so it expects X*^_MSR config to be enabled in the kernel. For non-x86 targets this config is not available in the kernel, hence, powertop warns about it, but the message can be ignored on those targets. • powertop issues a message sh: /usr/bin/xset: No such file or directory when it tries to use xset to configure X display preferences but cannot find the binary since the image by default contains no X system. The message can simply be ignored. 3.5 Virtualization

• virtualization: CONFIG_BRIDGE is not included in the default p2020rdb kernel. • lxc: User namespace is not available on PowerPC targets as it is an experimental feature in the 3.8 kernel. • libvirt: Default network does not start. • libvirt: Unable to start kvm guest with libvirt on PowerPC. 3.6 Documentation

• PDF navigation: When using links to open other PDFs, or jump to another place in the same PDF, jumping back sometimes fails. This has been observed when opening a PDF in Adobe Reader, inside a browser with PDF add-on, as well as when the browser is configured to open PDF files in an external PDF reader. As a workaround, open the HTML version of the document. • Internet Explorer (IE) cannot display some web pages: It is recommended to use Firefox or another non-IE browser for opening external links. If you prefer reading the documentation in PDF format in Adobe Reader (not in an Adobe plug-in in a browser), remember to configure a non-IE browser as

1 https://github.com/Xilinx/linux-xlnx/commit/0fdd34575efae5c8eced09b6b0a1b723bff4d225

© Enea Software AB 2014 4.0-docupdate1 9 Enea® Linux 4.0 Release Information 3. Known Problems and Limitations in This Re- lease

default browser to be able to follow all links from within Adobe Reader. Example of a link that does not work in IE: https://rt.wiki.kernel.org/. • Characters not displayed properly in PDF: When viewing PDF files in a browser, checkmarks (V) and crosses (x) might display as 4 and 7, respectively. This has been observed when reading Supported Targets in Firefox. Installing the Adobe Acrobat add-on should fix the problem. 3.7 Miscellaneous

• Running QEMU from an exported rootfs requires sudo privileges on the host. • menuconfig requires Ncurses. If the terminal that pops up immediately closes instead of showing the menuconfig interface, check that the Ncurses development library is installed.

© Enea Software AB 2014 4.0-docupdate1 10 Enea® Linux 4.0 Release Information 4. Contacting Enea Support

4. Contacting Enea Support

Technical support for all Enea licensed and supported products can be requested via EneaIssues (https:// eneaissues.enea.com), via e-mail mailto:[email protected] or telephone. Addresses and phone numbers for local support can be found at: http://www.enea.com/support. 4.1 Request for Product Support

Before reporting a problem or defect to the Enea Global Support, please perform the following checks:

• Check the user documentation for the Enea product(s), including trouble shooting sections. • Check if the issue you request support for is supported by Enea (see the release documentation about which components are included in your delivery). • Check any information found via http://www.enea.com/support. • Check whether the problem is specifically related to your application or if it is an error generated by an Enea product.

In order to effectively resolve reported problems, we kindly ask Enea's customers to provide Enea Global Support with sufficient information to identify and isolate the specific problem or defect. We recommend using EneaIssues (https://eneaissues.enea.com), also available at http://www.enea.com/support. Report a bug, ask for a new feature, or just ask a question.

See Section 4.2, Support Issue Information [12], listing information to provide in a support issue to ensure the issue can be processed as fast as possible. Below are some further explanations.

If possible, please try to provide relevant and basic information such as the following:

• Name of the software product component. • Version Number. • Error Messages. • Documented sequence of events to reproduce the problem.

Please also communicate the severity level of this problem or defect to Enea Global Support for priority purposes. Currently, the following levels of severity are defined:

• Minor - The Product(s) functionality operates abnormally. If the Error occurs during the development phase of a Customer's product, the development, integration, or testing is inconvenienced. Alternately, the Customer requires information or assistance with respect to the Product(s) capabilities, installation, or configuration. • Serious - The Product(s) functionality operates with severely reduced capacity causing significant im- pact to business operations. If the Error occurs during the development phase of a Customer's product, the Error has serious impacts on the development, integration, or testing. A workaround may be avail- able. • Critical (showstopper) - The Product(s) functionality is inoperable causing critical impact to business operations, if the functionality is not restored quickly. If the Error occurs during the development phase of a Customer's product, the Error hinders all of the Customer's development, integration, or testing. No viable workaround is known.

Each reported issue is assigned a problem identification number and is managed using a defect tracking system, EneaIssues. Once a problem has been received, Enea Global Support will send a receipt for the issue. An external user's guide for EneaIssues is available at http://www.enea.com/issuetrackingguide.

© Enea Software AB 2014 4.0-docupdate1 11 Enea® Linux 4.0 Release Information 4. Contacting Enea Support

4.2 Support Issue Information

The following information is to be provided by a customer in a support issue (https://eneaissues.enea.com), to enable Enea support to process the issue in fastest possible way. The customer could copy this text, add information and paste it into the issue report description (* denotes mandatory information).

1. * Problem title (Well describing the problem, please avoid using customer specific words).

2. Basic information (should be accurate and detailed - mandatory if issue is critical). • How is the problem affecting your business? • Problem impact? On which level in the system does it occur [in operation/upstart/upgrade]? • Is the problem preventing you from shipping your product? • Is the problem located in development, at applications or at an end customer?

3. * Question, probable Bug or New Feature [not part of current product definition] (Q, B or FR).

4. * Estimated Problem severity: Critical (A), Serious (B) or Minor(C). • Critical (showstopper) - The system is unusable until a fix is available. • Serious - A component of the system is unusable until a fix is available. • Minor - Little or no impact on the use of the product.

5. * Enea Product and Version, detailed enough to identify exactly which version is used. • Product release and if applicable, component version. See below. • Possibly customer specific component? • Development Host platform and Host OS version (if applicable)? • Target architecture e.g. PPC440EP Bamboo (if applicable)? • Compiler/toolset, compiler flags and version?

6. * Problem description (Should be accurate, detailed and explain the problem in terms of Enea product concepts and components. Customer specific abbreviations or words should be avoided or explained).

7. * Describe if the problem can be reproduced/verified: • Is the problem reproducible (frequency => x out of y times)? • Is the problem reproducible with the latest product release? See below. • Do you have a workaround? - if yes, please clarify.

8. Information to help identify the cause of the problem: • A reasonable investigation of the issue that makes you believe the problem is with the Enea product. • Please provide a step by step guide with necessary reference/sample code so we are able to recreate the problem at our site? • What pre-conditions are necessary to recreate the fault? • Does the error origin from the host or target? Append applicable files - see below. • What drivers are involved? Have any drivers been modified? • Wireshark traces or information from probes like RiskWatch. Append applicable files - see below

9. Product specific information and appended files: • Product release (e.g. Enea-Linux-), component version (e.g. busybox X.Y.Z). • Reproducable (or not) with latest release (e.g. Enea-Linux-). • dmesg files (Y/N)? File names: • Kernel Oops file (Y/N)? File names: • core. file? (Y/N)? File names: • Configuration files (Y/N)? e.g. in /etc. File names: • Trace log files (Y/N)? e.g. in /var/log. File names:

© Enea Software AB 2014 4.0-docupdate1 12 Enea® Linux 4.0 Release Information 4. Contacting Enea Support

4.3 Software Updates

Major product releases are currently scheduled regularly. Major releases include cumulative upgrades containing corrections to Enea licensed products and new functionality included in the licensed products. Maintenance updates and patches are provided for corrections to known problems and are available upon request.

Some special products, existing in many variants for different ranges of targets and supported major prod- ucts, can be updated and provided depending on demands, instead of regularly. Please contact Enea Global Support for further information. 4.4 Extended Support Services

Extended maintenance options are available for an additional fee that is determined based on the selected services. Potential Extended Support Services could include on-site support, support reviews, and a higher grade of support.

© Enea Software AB 2014 4.0-docupdate1 13