Git Product home page Git Product logo

meta-ivi's Introduction

meta-ivi, the Yocto layer for In-Vehicle Infotainment

This layer's purpose is to add In-Vehicle Infotainment (IVI) support when used with Poky. The goal is to make the Yocto Project reference system Poky GENIVI compliant.

Please see the MAINTAINERS file for information on contacting the maintainers of this layer, as well as instructions for submitting patches.

The meta-ivi project welcomes contributions. You can contribute code, submit patches, report bugs, answer questions on our mailing lists and review and edit our documentation and much more.

Subscribe to the mailing list here.
View or Report bugs here. Read or Edit the wiki here. For information about the Yocto Project, see the Yocto Project website.
For information about the Yocto GENIVI Baseline, see the Yocto GENIVI Baseline website.

Layer Dependencies

URI: git://git.yoctoproject.org/poky

branch: jethro revision: fc45deac89ef63ca1c44e763c38ced7dfd72cbe1

URI: git://git.openembedded.org/meta-openembedded

layer: meta-oe branch: jethro revision: ad6133a2e95f4b83b6b3ea413598e2cd5fb3fd90

Using the above git sha's and the master meta-ivi branch, bitbaking leviathan-image is known to work (the leviathan-image build should be aligned with GENIVI 10.0).

For creating a specific GENIVI compliant image version, please make sure you git checkout the related meta-ivi branch and follow the build instructions located in the README.md file of that branch. So for example, to build an image that should be GENIVI 6.0 compliant, checkout the meta-ivi 6.0 branch, and follow the README.md part of that branch. As does the GENIVI Alliance we only support the current and the previous version. Any version older than that is not supported any more, and therefore may not build or run.

Supported Machines

We do smoke test the builds of the three machines that we currently support:

  • QEMU (ARMv7) - emulated machine: vexpressa9
  • QEMU (IA-32) - emulated machine: qemux86
  • QEMU (x86-64) - emulated machine: qemux86-64

Please check on our wiki regarding any community supported machines. For example there Renesas provides a public Board Support Package (BSP) available for use with meta-ivi.

Build a QEMU image that contains GENIVI components

You can build a QEMU image that should be GENIVI compliant using the following steps:

  1. Export TEMPLATECONF to pick up correct configuration for the build export TEMPLATECONF=/full/path/to/meta-ivi/meta-ivi/conf

  2. Run the following command:

    $ source poky/oe-init-build-env

  3. Build leviathan-image including GENIVI 10.0 (Leviathan) components

    $ bitbake leviathan-image

  4. Run the emulator:

    for qemu vexpressa9:
    $ PATH_TO_META_IVI/meta-ivi/scripts/runqemu leviathan-image vexpressa9

    for qemu x86:
    $ PATH_TO_META_IVI/meta-ivi/scripts/runqemu leviathan-image qemux86

    for qemu x86-64:
    $ PATH_TO_META_IVI/meta-ivi/scripts/runqemu leviathan-image qemux86-64

  5. To login use these credentials:

    User - root Password - root

talk about using SRCREV instead of branch or tag at SRC_URI

Sent: Tuesday, April 05, 2016 11:33 PM To: James Thomas Cc: [email protected] Subject: Re: [meta-ivi] Building with local source mirror

On Tue, Mar 29, 2016 at 10:51 PM, James Thomas [email protected] wrote:

One thing I noticed is that simply providing the SRCREV works as long as that sha exists within master, if it doesn't then you have a build error, so being able to use tags is useful.

I think using git://...;tag=foo is not sufficient, because tags can change (i.e there's no guarantee that the tag you're using is going to be the same as the one you used yesterday).

What would be nice is if you could go tag=foo, and have it verified against SRCREV (in my testing this resulted in a build error when the tag and sha matched)

However, something like

SRC_URI = "git://mygitrepo/foo.git;nobranch=1;branch=v0.2" SRCREV = "7654321"

does enforce that check (v0.2 is actually a tag in this case), which seems to be pretty useful (the recipe provides something human readable, and something a machine can understand, and will always check they match)

I completely understand the reasoning behind this. The point I'm trying to make is that the automotive industry has a strong need for reproducible offline builds and any kind of mandatory online checks break this requirement. And like Federico said, using SRCREV is also the Yocto project practice.

If we want meta-ivi to be widely used in the industry I believe it should support it's needs. In my opinion the same should go for the whole GENIVI stack to work nicely, which in particular means tags of the projects should not change. But the easiest solution would be for meta-ivi to not use tags. That way it supports offline builds and it is also possible to track bugfixes in the projects instead of pinning to the tag and then getting the bugfixes in patch by patch until next release.

How do the others on this list feel about this proposal?

Regards,

Igor Socec Software Engineer

meta-ivi's People

Contributors

abhijitpotnis avatar agherzan avatar chbae avatar cledra avatar kergoth avatar lixinfnst avatar mshakeel avatar noor-ahsan avatar phongt avatar postolache-george avatar sbobade avatar sharidasan avatar socec avatar tolkien-joh avatar yasir-khan avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.