Yocto 1.2 Features: Difference between revisions

From Yocto Project
Jump to navigationJump to search
Line 53: Line 53:
| 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]]
| 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
| Visual Hob ||Massively update interface for Hob, perhaps similar to SuSE Studio. This is for both local (non-network) builds as well as network.||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
| Hob improvements||Update Hob with performance improvements and improvements to package disabling||1||Review||davest/tracey/RP||TBD||xx

Revision as of 15:31, 30 September 2011

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 increase adoption of the Yocto Project.

Yocto Project 1.2 Theme List

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

  • Improved usability of the build system for new experienced users, new novice users and existing users.

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

Usability

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
Visual Hob Massively update interface for Hob, perhaps similar to SuSE Studio. This is for both local (non-network) builds as well as network. 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 same for svn,hg,ftp,etc? -dvhart
Build Yocto behind firewall - implementation 2 Dev Dave Darren/Joshua 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.
Package History Write out data about the size of packages, their contents, dependencies, build time and so on allowing changes to be detected. One idea is we could do this in the form of a git repository 1 Review RP 1.2 Yocto 1.2
Package History Analysis Tool Take the above data, highlight significant deltas and allow the user to confirm or red flag changes. Why did the package double in size? Why did some dependencies go missing? 1 Review RP 1.2 Yocto 1.2
Extend current QA Tests Automate some of the existing QA tests such as LSB, posix and rt tests 1 Review RP 1.2 Yocto 1.2

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

Autobuilder

Feature Name Description Priority Status Source Owner Due Comments / Bugzilla Links
autobuilder layer support 2 Beth Beth 1.2 2 weeks
autobuilder split of nightly (really an M4 task) few days license.bbclass refactor 2 Beth Beth 1.2 1 week
buildstats memory measurements 2 Beth Beth 1.2 1 week and half
license manifest 2 Beth Beth 1.2 1 week
autobuilder release checkbox (running a yocto release right from the autobuilder) 2 Beth Beth 1.2 2 weeks

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
Zaurusd++ (devmand?) I keep seeing changes to toggle certain features for various boards (audio on the beagleboard, N450 and spring to mind), rather than writing lots of recipes for this perhaps we could resurrect zaurusd and evolve it to reflect the projects original goals as devmand; a daemon to handle hardware quirks across a range of boards and devices. 1.2 Joshua
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
Drop Grub for Syslinux Grub is considerably more complicated than we need for any of our current BSPs. Syslinux can be used in place of every known usage of Grub. For upcoming EFI BSPs, we can look to Efilinux. This will reduce our bootloader maintenance burden and simplify our images. 2 Review Darren Darren 1.2
Integrate alsa-state Remove all the BSP specific $MACHINE-audio recipes in favor of the more generic alsa-state mechanism in use by OE already. 1 Review Darren 1.2 This possibly conflicts with the item to refresh zaurusd.
Upgrade to EFI Where possible, update our existing BSPs to boot using EFI. This will support development of efilinux as well as help us prepare for the newer boards which will be EFI only. 2 Review Darren Darren 1.2
BSP/kernel wrappers/wizards Create some simple scripts or 'wizards' that make it easy for users to start writing a new BSP and/or easily make simple kernel modifications to a BSP. Ideally, users shouldn't need to know anything low-level about the kernel, git, or the mechanics of appending config items to recipes in order to get a BSP up and running or to make the simple modifications needed to tweak or maintain it. 2 Review tomz tomz 1.2

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
Linux tools upstream integration There're some activities within the Eclipse Linux Tools community for various tools remote invocation improvement, we need to sync up with the community for their latest deliveries and make some contribution if possible 2 Review ADT Team Jessica 1.2 Yocto 1.2
Add recipe supporting autoconf-nativesdk and automake-nativesdk The new libtool m4 macros(supporting --with-libtool-sysroot) resides in the directory where host aclocal can not find it by default. This requires the user to manually add that directory using -I options. Adding automake(autoconf)-nativesdk into meta-toolchain would help this. 2 Review Lianhao 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?
Eclipse BSP/Kernel Plugin Provide an Eclipse plugin to facilitate configuring new BSPs and streamlining the linuix-yocto development workflow. 2 Review Darren 1.2

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?
Upstream config fragments Work with John Stultz to upstream a Linux kernel config fragment manager and rework the yocto-kernel-tools to use it. This will simplify our tooling and increase our usage/test base. 1 Review Darren 1.2
Real-time process-executed timers Timers currently run at the priority of the softirq that processes them and they are accounted to whichever task was preempted for them to run. This negatively impacts determinism and accounting accuracy. 2 Review Darren 1.2
Define Kernel policy We need to clearly document kernel policy and make the config fragments reflect it. This will facilitate a more modular approach to building BSP kernel configs, as well as make it clear what can be expected to be supported when running a "linux-yocto kernel". 1 Review Darren 1.2

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
BSPs or layers for a specific category of devices This will demonstrate the value of Yocto to developers and help them get up to speed quicker for this category of devices. 2 Review Dirk/Dave/Andy TBD 1.2
enhance the bitbake commander eclipse plugin By having the Eclipse as a frontend UI to bitbake server, eclipse may talk to bitbake server, enable the user to glimpse on the variables' values when editing the recipes, try out building the recipe being edited, etc. 2 Review Dongxiao/Lianhao TBD TBD This requires new features both in eclipse plugin and bitbake server.
Parallel Locale Generation Add makefile to allow the locale generation to happen in parallel 2 Review RP
Make BasicHash the default We'd like to start adding the sstate signature to the stampfiles using the BasicHash signature generator and stop bumping PR values. This will require some additions to the PR server work we previously started 2 Review RP
Address git fetcher concerns The community has raised some git fetcher concerns we should address 2 Review RP