Your browser either does not support Javascript or you have it disabled. Please enable Javascript to be able to navigate our site and utilize features.

Montavista


MVL6 and the OpenEmbedded Project

May 18th, 2009

If you’ve read up on MVL6 you’ve seen that we describe the BitBake tool as being used as the core of our new MontaVista Integration Platform. I’d like to explain what that means, from a technical standpoint, and how it rocks.

OpenEmbedded (OE) is a widely used, and I would consider a defacto standard, for community engineered embedded Linux distributions. OE is has been around for 7+ years and has an active contributor base of both commercial, independent contractor, and enthusiast developers. OE is what I call a family of related Linux distributions that share some common infrastructure. Each development team then customizes their distribution to meet their requirements. Some examples.

BitBake is one of these common infrastructure tools. BitBake is analogous to “make”. BitBake analyzes a set of directives and then builds a task dependency tree to satisfy a user command. BitBake then executes the defined tasks to completion. When paired with the OE metadata BitBake can compile from source to create the host development tools, cross-development tools, target binaries, and system flash/disk images needed.

On a technical basis MVL6 is, because of our use of BitBake and compatibility with the BitBake recipe syntax and the OE metadata, a peer to other OpenEmbedded-style distributions as listed above. Just like these peer distributions MVL6 has unique requirements driven by our customers.

For the MVL6 development tools we’ve invested to create several compelling benefits for developers over every option on the market both commercial and non-commercial:

  • Dirt simple and fast installation. MVL6 is the fastest and easiest embedded Linux distribution to install and get productive in. I’ve used a bunch of them… commercial and non-commercial. Trust me on this. We’ve got a small required core to install and everything past that can be done incrementally on demand.
  • It just works. When I interviewed developers about their experiences using several prominent community embedded Linux distributions there was a clear and consistent message: They were hard to use and took a lot of help and tweaking to get going. It is infuriating to kick off a build only to see it fail 7 hours into an 8 hour process because you were missing some important host tool or a website with the source code went down. MVL6 gets you started fast with sensible defaults, prebuilt binaries, and a quick path to get your hardware booted.
  • One file defines your design. Using the extensions we’ve added you can use a single configuration file to define your entire design. We’ve got helpful docs to explain how to customize your project while not making an un-maintainable mess.
  • MVL6 can start small and build up incrementally. Sometimes developers have to squeeze their designs to fit into flash. MVL6 starts with a small image and lets developers add incrementally. They can even break the bounds of restrictive binary-only distributions and downsize within software packages by removing features or files.
  • MVL6 doesn’t cut you off from the world. While we provide a complete Market Specific Distribution (MSD) for your design you can, if you wish, supplement our product with components from OpenEmbedded. We’ve retained compatibility to give you great options.
  • MVL6 doesn’t lock you in. Most commercial embedded Linux build systems are either under an ambiguous proprietary license or are so esoteric to be classified as vendorscript. MVL6 won’t lock you in like that due to its open core and usage of a defacto standard recipe syntax.
  • A logical update system. MontaVista periodically releases updated software components to fix bugs and offer enhancements. Getting these updates into your MVL6 project is simple and risk free. Lock your project down so version updates don’t happen without permission. Pull down the updates using a simple automated tool. Try them out by commenting the version lockdown line. If you don’t like it just uncomment the version lockdown and no harm done.
  • Works great behind a network proxy or even offline. Often developers have to work on restricted lab networks. Rather than depending on a slew of public HTTP, CVS, git, and Subversion servers across the Internet there is a single source for every original source archive and patch that goes into your MVL6 powered product. You can access the MontaVista Zone (MVZ) Content Server from behind a proxy or quickly mirror it for your own offline operations.
  • We don’t even lock you into MVZ. Let’s say its 2018 and after the Great Quake of California that flooded the Bay Area you want to update your MVL6 powered design with some additional software. You forgot to download the sources for the libfoo package and now MontaVista is at the bottom of Lake Santa Clara. Luckily the MVL6 Integration Platform is smart enough to go to the original upstream repository. You go on as a happy developer.
  • Better build portability. Often our customers need to be able to reproduce their builds for 10+ years into the future. The problem is that as their development PC’s get replaced they have to upgrade to new host Linux distributions. We’ve made sure MVL6 depends only on the well defined Linux Standard Base (LSB) components of the host operating system. This assures developers that, to the extent that is feasible without a crystal ball, their builds will be reproducible on future Linux distributions that have not yet been created.
  • Better build reproducibility. What builds today has to build in 10 years. We’ve got MVL6 dialed-in so you can easily configuration manage the system without having to check 100,000 files into your revision control system. That’s goodness.

So that’s a long little love letter for the product. There are lots more cool tricks to show. Mark you calendars for an upcoming webinar by my esteemed colleague Nick Pollitt on all manners of MVL6-foo.

2 Responses to “MVL6 and the OpenEmbedded Project”

  1. Dean Says:

    Actually I think it may be Santa Clara Bay at that point, but either way we are fish food. Nice blog post.

  2. Jakob Engblom Says:

    Did you notice that the LinuxLink podcast from Timesys really thrashed BitBake, considering it very hard to extend for end users? Hard to tell what is the truth here from the outside…

Leave a Reply

Developer Resources
Contact Us      Careers      Resource Download Library      Meld Community      Request Information            Feeds of news, blogs, and more

©2010 MontaVista Software, LLC. All Rights Reserved