LinuxDevices.com Archive Index (1999-2012) | 2013-current at LinuxGizmos.com | About  
Follow LinuxGizmos:
Twitter Google+ Facebook RSS feed

MontaVista finally ships 2.6-based embedded Linux

Sep 2, 2005 — by LinuxDevices Staff — from the LinuxDevices Archive
Share this: Tweet about this on TwitterGoogle+Share on FacebookShare on LinkedInShare on RedditPin on Pinterest

MontaVista is shipping a new version of its flagship embedded Linux operating system. MontaVista Linux Professional Edition 4.0 (“Pro”) initially supports 25-30 processor families and a dozen reference boards — all from a “unified” 2.6 kernel source tree — and is the first commercial product offering “the latest real-time enhancements” for Linux, the company claims.

Today's announcement of a fourth-generation Pro product signals that MontaVista remains committed to the general-purpose embedded Linux OS market, despite a growing focus on its Mobilinux distribution for mobile phones and Carrier Grade Edition (“CGE”) for networking equipment — specialized Linux stacks that have led some to suggest that the company was turning into a proprietary software company serving the telecommunications market.

Pro is MontaVista's most horizontal OS product, and is comprised entirely of open source-licensed software, the company says. MontaVista's more vertical products — including CGE and Mobilinux — are based on the same kernel tree and package base as Pro, but with marjet-specific variations that include proprietary middleware and drivers. Today's release of Pro 4.0 paves the way for general availability releases of both CGE 4.0 and Mobilinux 4.0 in September, according to Mike Matthews, product line manager for Pro.

Perhaps the most noteworthy new feature in Pro 4.0 is its 2.6-series kernel — MontaVista has been slower than other companies to move to the 2.6 branch. It released an “early access” 2.6 kernel for x86 about a year ago, followed by a “release candidate” of a 2.6-based version of CGE in May. Although the company has worked closely with customers on pre-release implementations of its 2.6-based Mobilinux product, according to Matthews, this release represents MontaVista's first full-release product based on the 2.6 kernel.

Other new features in Pro 4.0

MontaVista lists new features in Pro 4.0 as follows:

  • “Commercial-grade” Linux 2.6.10 kernel
    • GCC 3.4.3
    • NPTL as default thread library, with old thread library option
    • X-org graphics
    • IPv6, MIPv6, IPSec, VLAN
    • USB 2.0 host/device enhancements
    • Advanced I/O support
    • Advanced processing support
    • XIP (execute in place)
  • MontaVista advanced real-time support
  • Integrated real-time technology with performance benchmarks achieving 200 times more responsiveness in preemption latency than the standard 2.6 kernel
  • New interrupt handler scheduling as prioritized threads
  • New real-time configuration option with three selectable modes
  • Preemptible kernel, 0(1) scheduler, HRT, CPU affinity, FRD (fast real-time domain)
  • Broad platform support
    • Eight processor architectures
    • 10 processor families (32/64-bit) across multiple architectures
    • Claimed first commercially available embedded Linux support for 64-bit PowerPC
  • MontaVista DevRocket 2.0 development environment
  • High performance multi-threaded design
  • Improved debugger capabilities
  • Enhanced integration of open source development tools
  • Built on Eclipse 3.0.1 and CDT 2.1
  • Tested with key plug-ins, such as those from Rational

Product roadmap (a.k.a. “Pro's been a long time comin'”)

The previous release of Pro — 3.1 — shipped in November of 2003 — nearly two years ago. What took MontaVista so long to update Pro?

For one thing, the company may have been simply too busy helping silicon partners port Linux, and supporting customers designing embedded Linux products. The first three generations of Pro shipped in more than 10 million devices, Matthews claims. “We're fairly proud about that. It's not the same as in the consumer electronics — or Mobilinux — space, where you'd probably achieve that in one year, maybe two. But we're very happy to see the ramp-up, in particular the fact that Pro's been around now for a fourth-generation release.”

And, says Matthews, a new major release of MontaVista Linux is no small undertaking. “We pull from kernel.org and all of the different architecture source trees, and then we unify that into a single source tree. That takes time, because the architecture source trees are at different levels of maturity. We also then move the toolchains forward, and optimize them for each processor family — so we'll have 25 to 30 different toolchains.”

Nonetheless, Matthews says the company expects to make more frequent major updates to Pro in the future. “It's actually easier [to do updates] on a more frequent basis than to wait a long time and make a big jump to a later kernel. My expectation is that we would have a new upgrade release within the next nine- to 12-months — maybe even less — that would be based on something beyond 2.6.13.”

In addition to more frequent major “upgrade” releases, Matthews said MontaVista will ship “update” releases aimed at supporting emerging reference boards. “We are expecting to bring out new updates of Pro — not necessarily for every platform, but across key evaluation platforms — more often, in order to stay in step with what's happening in the community, and in order to use various evaluation platforms as a proving ground to stabilize that technology,” Matthews said. “Right now, my roadmap calls for [growing] from about 15 initial reference boards that we've just released, to 60 within a couple of quarterly update releases.”

Additionally, Matthews said, forthcoming “asynchronous” releases will add support for new silicon from semiconductor partners such as AMD, Freescale, Intel, IBM, AMCC, and Broadcom — companies that typically have 18 to 24 month upgrade cycles. “Industry ramp-up drives business for 12 to 18 months, and then you get into a replacement cycle. [With Pro 4.0 today], we're covering all the key architectures except SH, [but] we'll be moving forward with additional asynchronous releases to support key partner releases. Working with key top-tier vendors like Freescale, we are looking at how we will enable their platforms earlier in the cycle than has been possible in the past.”

One by-product of MontaVista's close working relationship with silicon partners, Matthews says, will be variations of Pro that, while still comprised entirely of open source software, will include “stacks” supporting select vertical markets, including networking and consumer electronics. “As we work with these partners, we'll also be focusing on the business they're taking us into. In the next two updates [of Pro], we'll essentially be establishing a profile for a particular release of Pro that is focused on consumer electronics only. [And one focused on] network edge devices only.”

Matthews elaborates, “Mobilinux [and CGE] will continue to be available, and continue to be the preferred products [in their markets]. Pro is a very generic product, very broad, and essentially horizontal. But we are seeing sufficient demand, in working with our partners closely, to insure that the stack we're delivering with that particular release emphasizes the markets they're going after.”

Real-time a real priority

With competitors such as Koan, LynuxWorks, Sysgo, TimeSys, and Wind River all offering mature 2.6 kernel-based products to embedded developers, MontaVista has increasingly sought to differentiate its embedded Linux offering based on real-time performance.

Although the importance of stringent real-time performance was initially downplayed by MontaVista founder and CEO Jim Ready, the company has changed its tune based largely on customer requirements, it says. In a 2000 interview with LinuxDevices.com, Ready said, the need for real-time responsiveness in Linux was “typically a lot less than one might expect: around 20 percent.” Today, in contrast, the company asserts that the real-time responsiveness of a standard 2.6 kernel — with all of its real-time options enabled — satisfies less than 15 percent of all applications.

With that in mind, MontaVista is positioning Pro 4.0 as “the only commercial embedded Linux operating system to offer the latest real-time enhancements.” What the company means by that, Matthews says, is that Pro's kernel incorporates “all the real-time enhancements from the 2.6 kernel,” as well as “things that MontaVista's been working on alongside that, such as high-resolution timers, which are not yet in the kernel.” The result of this combination of 2.6-standard and MontaVista-developed real-time technology is worst-case response times around 100 microseconds, Matthews says.

According to Matthews, this makes Pro 4.0 ready today to meet the real-time requirements of most embedded projects. “At least in those industries that are adopting Linux aggressively — particularly telecom, datacom, and mobile devices — we're able in the 4.0 releases of all of the “editions” to address a larger part of [customer] requirements than we were in the past.” The company has estimated that with 100 microsecond worst-case response times, Pro can satisfy the requirements of roughly 50 percent of all applications.

Matthews notes that real-time performance depends heavily on a variety of factors. “Real-time response — interrupt latency and preemption latency — is really a factor of the kernel generically, as well as of the processor, its clock structure, and its I/O speed. So each platform is going to deliver different results.”

However, Matthews said that testing with the FRD (fast real-time domain) libraries showed a low-end networking processor from Intel in the XScale IXP46x family, running a Pro 4.0 kernel, was capable of delivering interrupt latencies under 100 microseconds, and worst-case pre-emption latencies of about 70 microseconds. These figures are hundreds of times better than the level of determinism available in a standard Linux 2.6 kernel, he claims.

Matthews stated, “We will continue to do those measurements, and most likely make them available on a selective basis. Obviously, we need to make sure that they're accurate. We are using the fast real-time domain libraries, which are available in the community. FRD is the standard we decided to adopt, because it's available in the community — so others could readily get their hands on that and seek to replicate the measurements.”

Matthews also notes that Pro 4.0 comes with three real-time “models,” designed to let users test their applications on kernels with varying levels of real-time responsiveness. “We've built it with a model that has real-time turned off, a model called “desktop real-time,” which is really a kind of happy medium between processing throughput and real-time performance, and then a third model, which is a full preemptible kernel, with real-time taking priority over throughput. We ship with the desktop real-time as the default, but they're easily changed through reconfiguration and rebuilding of the kernel.”

Additionally, Matthews points out that the NPTL thread library included in the 2.6 kernel — and available as the default option in Pro 4.0 — “had an interaction with the way the real-time environment was implemented in the 2.6 kernel, such that userland applications do not participate at the same level with kernel processes, in terms of priority, in terms of making preemption of the kernel, and being able to get access to the CPU. So, in effect, by going to the NPTL thread library, we have seen that userland applications are not getting the same level of real-time processing that kernel processes have. For many customers, that's very unacceptable, because they don't want to write their applications as though they were kernel processes. And so we're working hard within the community to establish a system-wide real-time capability based on priority queueing, priority inheritance, and robust MUTEXes.” Such work remains at an experimental stage, Matthews admits, but he says the company is “working with certain members of the community — Ingo and others — in order to ensure that what we move forward with will be compatible with what we have today, and also will be something the community can accept and adopt.”

MontaVista disclosed more information about its achievements in real-time Linux last month.

Is Pro a fork?

Just how “open” is MontaVista Linux Pro 4.0? Matthews acknowledges that the company has been criticized for “forking” the Linux kernel for use in embedded systems. However, he says that differences between community and commercial distributions are inevitable, and that the company does its best to stay in step with the community.

He explains, “We will, working with the partner, take the driver code and anything else pertinent to that silicon and that evaluation board, and we will do that work in the community, to the point where we believe it's both ready to be accepted by the community, and pulled into our source trees. However, it's inevitable that as we move forward, and discover defects and fix them, that even if the community is going to accept them, they may not accept them in the timeframe that we're releasing products in. I wouldn't expect anybody to be surprised by that.”

He adds, “If there's a patch issued by the community that addresses the same defect, we'll use that instead, because it's in the source tree. We're not looking to fork Linux. But we are looking to produce what I would call a commercial, robust, and reliable environment. The key here is, it is still standard community open source. It's not something that's proprietary. It's not something that we have kept to ourself.”

Matthews cites MontaVista's ongoing work with real-time Linux as a good example of how the company is seeking to work with the Linux community for mutual benefit.

Availability, and licensing changes

In the past, Pro was offered on a “developer seat” subscription model, which included unlimited support, updates, and annual product upgrades. However, the company has since migrated away from that model for two main reasons, according to Matthews. “Customers said, one, 'We don't need your support. Just give us the software and leave us alone,' and two, the concept of an upgrade wasn't something all customers wanted to pay for in advance.”

MontaVista's new licensing model for Pro — instituted about a year ago, Matthews says — includes maintenance updates, but not major upgrades, with support available on an extra-cost basis.

Pro 4.0 is currently offered in two versions that are differentiated by the development tools included. The Platform Development Kit (PDK) version provides everything needed to do kernel, driver, and application development, Matthews says. The lower-cost Application Development Kit (ADK) includes a subset of PDK functionality, and is aimed at engineering teams planning to only do application development.

According to Matthews, Pro 4.0 PDKs are shipping now, while CD images for the ADKs are currently being assembled, and likely to ship soon.

Additionally, Matthews notes, MontaVista offers a royalty-based “pay as you go” model targeting large customers. “To go into that model, typically a customer will be engaging with us under a three-year agreement. They will be provided with access to all of our products, so they will be able to work with Pro, or CGE, or Mobilinux, at a very low cost per developer. But then they will pay us on a per-unit basis. That's really the kind of thing bigger customers will want to do, to enable their company with MontaVista Linux across multiple projects.”

Matthews declined to provide pricing information for publication.


 
This article was originally published on LinuxDevices and has been donated to the open source community by QuinStreet Inc. Please visit LinuxToday.com for up-to-date news and articles about Linux and open source.

(advertise here)


Comments are closed.