Yocto 1.2 Features

From Yocto Project
Revision as of 17:33, 8 September 2011 by Song (talk | contribs) (→‎Usebility)
Jump to navigationJump to search

Potential Yocto Project 1.2 Features

Yocto Project 1.2 - Target release = April 2012

Yocto Project 1.2 Themes

The topics below are the themes that some members of the team have started brainstorming for Yocto Project v1.2. These will be improved with community input.

Yocto Project 1.2 Objectives

The objectives of the Yocto 1.2 release are to ... [TBD]

Yocto Project 1.2 Theme List

The Yocto Project 1.2 Themes towards the Objectives listed above are:

  • Theme 1
  • Theme 2
  • Theme 3

Process for Entering New Feature Requests

  • Create a new entry in the appropriate feature table below (Poky, SDK, Hardware)
    • Suggestion: start by copying an existing request as a template
  • Give the feature a short, descriptive name
  • Provide a one or two sentence brief description of the feature
  • Set the priority as appropriate (see the legend below)
  • Set the Status to "Review"
  • In the Source field, enter your name along with the origination of the request (e.g. OSV, OEM, Community) if applicable; provide as much detail here as you can
  • In the Comments / Bugzilla field, provide any additional information for the request, such as a link to a bugzilla entry
  • Preview your Entry to make sure it looks ok and then save it

Legend

Priority: 1 = Must Have, 2 = Nice to Have, 3 = Optional

Status: Accept = Engineering agreement to include in release, Review = Under Review for Inclusion in this release, Reject = Will not be included in this release

Sample Table

This is a sample table to show how to submit features.

Feature Name Description Priority Status Source Comments / Bugzilla Links
Placeholder feature name Placeholder description of the feature 1, 2, or 3 Review name Comment

Usebility

Feature Name Description Priority Status Source Owner Comments / Bugzilla Links
build appliance Intended for developers to very easily "Check it out" and do a Yocto Project build with minimal pain. Should be a virtual image of a desktop OS which will boot into HOB and offer a terminal or an app to deploy resulting images to media or to run QEMU. 1 Review davest/tracey/RP TBD See here for Build Appliance Design
Web Hob Add a web interface for Hob, perhaps similar to SuSE Studio. This is for both local (non-network) builds as well as network. Would require us to have a web server package installed of course for local builds. 1 Review davest/tracey/RP TBD xx
Hob improvements Update Hob with performance improvements and improvements to package disabling 1 Review davest/tracey/RP TBD xx
Support for non-developers Create clear instructions for how a Windows user can take an example image from the YP web site and deploy it to a board. Assume no Linux knowledge. These instructions should be applicable in example images in BSPs 1 Review davest/tracey/RP TBD xx
Firewall / Proxy handling in git Develop a git plugin which will fall back to tunneling through HTTP if the git:// interface will not work because it is blocked by a firewall and the correct proxy is not set up. 1 Review davest/tracey/RP TBD xx
Build Yocto behind firewall - implementation 2 Dev Dave Darren/Joshua 1.2 Yocto 1.2, from 1.1, the above one seems to be part of this.

Core/Bitbake

Feature Name Description Priority Status Source Owner Due Comments / Bugzilla Links
Web-based Image Creator Create a web-based interface that does what the Image Creator does. 2.5 Review LCS Jason Kridner? 1.2 Yocto 1.2 - depends on Image Creator completing
Recipe-specific sysroot 3 Review from 1.0 Saul (Dongxiao) 1.2 Yocto 1.2 (1 month task)
Handle old versions in WORKDIR 3 Review from 1.0 1.2 Yocto 1.2
Executable images Create images that are executable - for example a pre-installed Ubuntu image with YP installed 3 Review LCS 1.2 Yocto 1.2
Self-hosting image Create customizable chroot; Build an image that would be self-hosting 2.5 Review LCS 1.2 Yocto 1.2
Yocto OOPS-type messages add the equivalent of kernel OOPS to Yocto 2.5 Review LCS 1.2 Yocto 1.2
Reduced depth revision history Decrease the depth of the revision history 3 Review LCS 1.2 Yocto 1.2
Ability to archive work dir Add the ability to archive the work directory to handle the GPL compliance issue. 3 Review LCS 1.2 Yocto 1.2, On Janitor\'s list

QA Items

Feature Name Description Priority Status Source Owner Due Comments / Bugzilla Links
Patch Test System Create a machine where developers can upload/test patches before submitting them to master to ensure builds won\'t break when patches are added. (developer autobuilders? Fuzz builds?) 2 Review Team Jiajun 1.2
Open Source Test Cases Perform technical, legal, and QA steps necessary to move test cases into open source. 3 Review QA 1.2 Yocto 1.2
Start a framework for automated BSP testing Build-testing is only half the job of BSP testing, and new BSP development is and will be ramping up even more rapidly soon. We need to start building a framework to make as much of this as automated as possible. Phase I, what we can complete for 1.2, should be the ability to load an image from the autobuilder and make it ready for booting, or actually boot it, on a given target. It would be good to use systems running Yocto images as much as possible for this. 2 Review Tom 1.2
Test framework this is a test framework that we can include in the distribution 3 Review RP Notes 1.2 Yocto 1.2 - Is it the TI’s test framework we discussed before? A: Not necessarily, we\'re still waiting for someone to step up and really take ownership of this area but it needs some resource commitment as its not a simple task.

Meta Data

Feature Name Description Priority Status Source Owner Due Comments / Bugzilla Links
Replacement for video/audio players currently in Yocto Codec… 3 Review Meta-data 1.2 Yocto 1.2
Investigate New UI For demos, we would like need a reference UI that is not Sato. Investigate possibilities that the Yocto team won\'t need to maintain. OpenBox? Gnome-desktop? GP? LXDE? KDE Mobile? 3 Review Meta-data 1.2 Yocto 1.2
Qemugl upstreaming Opengl ES Support 3 Review Meta-data 1.2 Yocto 1.2
selinux patch integration add SE Linux patches in a similar way to PAM 3 Review Meta-data 1.2 Yocto 1.2
build statistics reporting As someone interested in how long it takes to build different images on different hardware configurations and other assorted build metrics, I would like a web based service, that takes output generated by an extended buildstats.bbclass and stores it, to compare against different machines. The end result should be a way to visualize the collected data. See: https://wiki.yoctoproject.org/wiki/Yocto_Buildbot_Autobuilder_Discussions 2 M3, Sprint A eflanagan/Jay7/ka6sox Beth/Jay 1.2 Yocto 1.2, from 1.1
Framework to support multiple library versions co-existing similar to recipe specific sysroot; needs documentation 3 Review Team Saul (Dongxiao?) 1.2 Yocto 1.2 - we just need to document how to use multiple versions of a library using clutter as the example
Embedded java environment or even JDK support 3 Review Team 1.2 Yocto 1.2
Target module build Allow for building kernel modules on the target device 2 Review RP Notes Darren 1.2 Yocto 1.2, On Janitor\'s list
gtk+ sato filechooser patch 3 Review RP Notes 1.2 Yocto 1.2
sato refresh 3 Review RP Notes 1.2 Yocto 1.2
Sanity checks on per recipe basis 2 Accept RP Notes Bug#405 Saul (Scott G) 1.2 Yocto 1.2, from 1.1
perf scripting\' integration Make it easy and convenient for the user to write and execute \'perf scripts\' from the IDE. We should be able to leverage and build on the Systemtap integration for this. 2 Dev Tom Jessica/Tom 1.2 Yocto 1.2, from 1.1
Add Directfb(license LGPL) function Directfb is more appropriate embedded device than other graphic software 3 Moved from M1 Meta-data WR Distro team 1.2 Yocto 1.2, from 1.1

BSPs

Feature Name Description Priority Status Source Owner Due Comments / Bugzilla Links
AMT driver integration incorporate Linux AMT into the Yocto BSPs 1.2 Intel
BSP update/intro determine and integrate / create arch reference BSPs (e500, Cortex, ARM, MIPs) 2 Dev Bruce/Richard/team Bruce 1.2 Yocto 1.2, from 1.1

ADT

Feature Name Description Priority Status Source Owner Due Comments / Bugzilla Links
Enhance the deploy part in remote debug ADT is currently using org.eclipse.cdt.remote.launch for remote debug. One limitation in this plug-in is that it can only deploy one single file to the target during the debug. Though it is ok for debugging static linked program, debugging dynamic linked program might require deploying multiple files(including executables and libraries) to the target. 2 Review Lianhao Jessica 1.2
Secure login 2 Review ADT Team Jessica 1.2 Yocto 1.2
Prebuit SDK integration speedup target image generation by reusing prebuilt tools from SDK native and target binaries. See: http://wiki.secretlab.ca/Yocto_prebuilt_SDK_integration 2 Reject Adrian Jessica 1.2 Yocto 1.2 - This functionality looks to have been provided by sstate packages?

Documentation

Feature Name Description Priority Status Source Owner Due Comments / Bugzilla Links
Various Demo Videos The idea here is to create screen-capture type tutorials similar to what exists for the ADT Eclipse Plug-in. However, we want to contract out some help for professional voice-over talent to be used with the images. These don\'t have to be limited to screen-capture material but could include well-done PPT decks - similar to how other business units in Intel create various training modules. For 1.1 it would be good to capture the script for the existing ADT Eclipse Plug-in module and have it voiced over. Also, for 1.1 it would be good to create a similar module for the Image Creator application. 2 Not Started From ADT module and scratch ScottR 1.2 Q3 at the earliest

Performance & usability

Feature Name Description Priority Status Source Owner Due Comments / Bugzilla Links
POSIX support address POSIX failures found in 1.1 2 Review Team 1.2 Yocto 1.2, On Janitor\'s list


Kernel

Feature Name Description Priority Status Source Owner Due Comments / Bugzilla Links
Minimal Image unique make minimal image smaller 3 Accept Team WR Distro Team 1.2 Yocto 1.2, from 1.1
Tracing: tuna, oscilloscope recipes This might be more useful with the increased importance of RT 3 Review from 1.0 1.2 Yocto 1.2
Kernel Tools Implement plan for kernel tools 2 Dev (20%) Bruce/Mark Bruce 1.2 Yocto 1.2, from 1.1
use cases BSP config streamlining, building the kernel standalone, yoctoization, meta data sharing 1 Accept Bruce Bruce 1.2 Yocto 1.2, from 1.1
kernel bloat - development target = boot a minimal image in < 8M - development complete 1 Dev Darren Darren 1.2 Yocto 1.2, from 1.1, continuation needed?
Fast boot time 2 second boot time target 1 Dev Team Darren 1.2 Yocto 1.2, from 1.1, continuation needed?

Project-wide Features

Feature Name Description Priority Status Source Owner Due Comments / Bugzilla Links
LayerTooling – remote layer tool Consider integrating Jeremy Puhlman\'s remote layers patch 2 Community Paul 1.2
running post installs at rootfs gen time 2 Review RP Notes Saul (Dexuan) 1.2
Clean up warning messages A build that runs correctly to completion still includes a ton of WARNING messages. We need a project to clean these up. Beth will work on License Warnings, team will look at other logfile warnings 2 Review Dave & RP Saul 1.2
Multi-lib - 11 Directly support multlibs within the toolchain itself [post 1.1] 2 RP Ke 1.2
Multi-lib - 8 Add support to RPM packaging backend to turn modified package names into true rpm multilib packages 1 RP Mark 1.2
Multi-lib - 7 Investigate better TARGET_VENDOR handling for config.sub. Currently we can only have ARCH-VENDOR-linux where VENDOR cannot contain \"-\" but it might be possible to relax that constraint [not high priority]. 2 Review RP Ke 1.2
Multi-lib - 6 Create some \"standard\" multilib configurations (x86 32+64 bit) 1 Review RP Ke 1.2
Patchwork is it worth the overhead, are there alternatives 3 Review RP Notes 1.2 Yocto 1.2
Bugzilla to Wiki Create a script which automatically populates and updates the Wiki based on changes in bugzilla. 2.5 Review Darren 1.2 Yocto 1.2
Sync qemugl with MeeGo - Implementation sync qemugl with MeeGo is complete 2 Dev (70%) Meta-data Saul (Edwin) 1.2 Yocto 1.2, from 1.1
Tracing/profiling HOWTOs Create a document or extend the current Yocto tracing wiki page to explain in detail how to use all the tracing tools in Yocto. It should detail not only how to use each tool individually, but also how to use them in conjunction with each other, highlighting situations in which each is most useful. There should also be some extensive worked examples of real-life use-cases and how they could be investigated using the Yocto tracing/profiling tools. 2 Accept Tom Tom 1.2 Yocto 1.2, from 1.1
Error handling in bitbake (Implementation): Stage 2 Performance improvement (gather input from community on use cases) 1 Dev RP Notes Saul (Scott G) 1.2 Yocto 1.2, from 1.1
btrfs Kernel enabling 2 Dev Meta-data Saul (Nitin) 1.2 Yocto 1.2, from 1.1
replace qemuppc Bruce 1.2 Come from bug 414
MeeGo GPLv2 Sync compare with Yocto, sync any patches 2 Accept RP Notes Saul (Ke) 1.2 Yocto 1.2, from 1.1
Package Documentation Audit: All recipes build 31 recipes were identified as not building during the package documentation audit done in M1, Sprint B. Those all need to build and we need to re-run a new package documentation audit. 2 Accept Team Scott G 1.2 Yocto 1.2, from 1.1
Tracing: Systemtap usability in Yocto Right now, there are instructions on the wiki on how to configure and use Systemtap with Yocto. While straightforward, they are tedious and unlikely to be useful to most people pressed for time. We need to make it easier to use - in addition to documentation/HOWTO tasks listed elsewhere on this page, we need to make it usable \'out of the box\' (i.e. outside of ADT) e.g. all paths and configuration handled via script or something similar 2 Accept Tom Tom 1.2 Yocto 1.2, from 1.1
Tracing: create separate recipe for perf Perf is currently built as part of the kernel build. If we want to make use of everything perf has to offer we should get rid of the dependency. For example, the kernel build shouldn\'t depend on libnewt, and x32 shouldn\'t have to deal with embedded Python 2 Review Tom Tom 1.2
Tracing: perf trace scripting support Basically this means allowing perf to be built with the Perl and Python bindings, which turned out to be a headache last time. 2 Dev (50%) from 1.0 Tom 1.2 Yocto 1.2, from 1.1
Monitor disk availability Monitor disk availability and warn the user if it is running low. May only focus on a few directories, for example: poky/build and poky/build/downloads, this would solve the multiple mount point problem 2 Review RP and Robert WR Distro Team (Robert) 1.2 Yocto 1.2, from 1.1
Ability to build SRPM 3 Accept RP Notes Jeff Polk/Mark 1.2 Yocto 1.2, from 1.1
Classes to help install binary packages It\'s been suggested that it would be a useful feature to be able to easily take an RPM or similar containing a software binary from a 3rd party software vendor and integrate it into an image created by the build system. 2 Review 1.2
Host intrusion prevention We have Swabber but it\'s not integrated into our process. I believe this is because there are several recipes which don\'t work when run under strace with parallelisation. We should determine a path for inclusion of swabber into our process and execute on it so that we can be aware of, and fix, any host intrusion issues. 2 Review 1.2
Security layer Many of our users are likely to want to use kernel level security mechanisms and so I\'d like to investigate supporting one of the in-kernel LSM (Linux Security Modules), possibly SMACK as used in MeeGo, and adding policy to the oe-core metadata. The LSM, policy and user-space tools could all be enabled via a distro feature. This work may well want to be in a separate layer? 2 Review Joshua 1.2
Factory reset Implement a factory reset image feature. We\'ll use one of the union mount technologies (aufs/overlayfs/union mounts) to create an overlay on the file system as the final piece of rootfs creation. The overlaid file-system will be the target of all writes made to the image after the image is generated. A user-space mechanism to disable the overlay, and therefore reset to the state of the image just after it was created, will also be provided. This feature could be further enhanced by integrating with the package manager, and other user-space switches, to create system restore points which can later be rolled back to. 2 Review Joshua 1.2
Gstreamer Refactor gstreamer recipes to better support COMMERCIAL_LICENSE and enabling/disabling of various codecs and features 2 Review 1.2 http://bugzilla.pokylinux.org/show_bug.cgi?id=923
Init Interest in systemd as a replacement for Sys V init is growing but it may not be appropriate for deeply embedded systems. I\'d like to investigate a crop of service based and process monitoring init systems and compare them on a variety of criteria as determined by the community. Furthermore I would like to investigate supporting multiple init systems, the current SysV system, systemd and possibly others. As part of this work, and because increasingly many upstreams support systemd (no doubt thanks to its adoption in Fedora) I would like to investigate implementing some infrastructure which translates from systemd units to the appropriate init format for the supported init systems. 2 Review 1.2
Enhance Automated QA Tests Add tests for the RT pieces, consider run-time security checking tools used by Fedora and Gentoo 2 Review 1.2
Collect data at build time to increase accuracy of estimation (hob) Collect data at build time to allow hob to: predict the size of the generated image, more accurately reflect the built image contents, etc. This will likely involve generating data on the autobuilder which the UI can fetch and consume (with local caching for offline usage) 2 Review 1.2 http://bugzilla.pokylinux.org/show_bug.cgi?id=1316
Finish and enable PR server We\'re still seeing people being forced to cleansstate too often, we need to finish up and enable the PR server so the checksummed sstate future can live 2 Review 1.2 http://thread.gmane.org/gmane.comp.handhelds.openembedded.core/1272/focus=1357 http://thread.gmane.org/gmane.comp.handhelds.openembedded.core/835/focus=852
Provide a click through license mechanism Implement the mechanism described in Section 1.2. BSP \'Click-Through\' Licensing Procedure in the BSP Developer\'s Guide 2 Review Tom Tom 1.2
Finish Oracle/Sun Hotspot JDK/JRE support I created an initial hack of a recipe for this for the demo - finish it up (involves licensing issues (click-through license support would be a prerequisite) as well) 2 Review Tom Tom 1.2 50% done already