Electronic Design

Support, Integration Define MontaVista Linux

Linux is clearly a major embedded operating system used in a range of applications, from cell phones to controlling assembly lines. Developers wishing to use Linux as a platform have a range of desktop and server configuration choices from companies like Red Hat and SuSe, as well as embedded versions from companies like MontaVista. In this article we take a detailed look at MontaVista Linux. Most of what comes in the MontaVista Linux Professional Edition (PE), or any of a number of other vertical market Linux editions, is available for free on the Internet since it is based on GPL software. This is typical of most commercial Linux packages. So why not just download these alternatives? In a nutshell, the integration and support make the difference. The MontaVista Linux PE development tools run on a range of host platforms including Windows, and, of course, Linux. MontaVista’s DevRocket is based on the Eclipse IDE. It supports the Eclipse-based C/C++ Development Tool (CDT) that utilizes the GNU compiler toolchain. The development environment includes the typical Linux collection of middleware and applications from the Apache web server and SSH client and server. There are a few MontaVista-specific packages and these tend to be more numerous in other MontaVista Linux editions such as the Mobilinux and Carrier Grade Editions. Some of this software is covered by licenses other than GPL. This software is designed to run on the target platform. Target is, of course, MontaVista Linux. I checked out the x86 target but versions are available for a range of 32- and 64-bit processors. The same development installation can handle multiple targets. The configuration tools allow creation of operating system images from the smallest configuration on up. These can incorporate both standard and custom drivers. The kernel supports real time enhancements added to Linux, many contributed by MontaVista. Like most commercial Linux distributions, however, it tends to be a few version points behind the bleeding edge of the Linux kernel. One reason many developers go with a commercial version of Linux is that the standard Linux trees do not back port some of the newer fixes or enhancements. While commercial vendors like MontaVista do not do wholesale back ports, they often include selected enhancements and bug fixes into prior versions they continue to support because of the importance of these changes. You can always take advantage of MontaVista’s Professional Services for specialized requirements you don’t want to implement and support yourself. Setting Up MontaVista Linux The version of MontaVista Linux that arrived here contained a collection of installation CDs that run on and target x86 platforms like the typical PC. This was handy given the number of PCs in the lab. Another useful tool is a virtual machine manager (VMM) that can be used to test target packages on the development system. Of course, it helps to have a quad core (See Best Computer of 2006 Goes Quad) with plenty of memory and hard disk space. In fact, I tend to use the VMM for running the development environment itself. Installing MontaVista Linux took a while just to change the CDs, and it was rather uneventful. It uses a web browser interface with the usual wizard-style step-by-step process for selection of options. The process displays the installation status of hundreds of packages that I prefer since it is much clearer if anything should fail. Timewise, the process was significantly less than what I have done before installing things like Eclipse and Cygwin-based GNU tools individually. Likewise, the MontaVista tools all worked together whereas glitches are always showing up in any configuration that I have done myself. Getting up-and-running to compile applications within a day is very easy. Putting together a target image and running it is also possible, assuming you are familiar with Linux – and if the target image only includes standard components. Incorporation of custom drivers or your own applications will ostensibly take a bit longer. One component that is especially useful is MontaVista’s online help. It is well organized, and handy even for Linux experts. The online help and other introduction material is definitely necessary. The system installs only a few Program menu items like DevRocket and services like the NFS and TFTP (Trivial File Transfer Protocol) servers. The tools are actually available as Eclipse/DevRocket perspectives and the initial Welcome screen is one way to get into this. It is possible to get to the Cygwin command line but all development jobs can be performed from the graphical interface. MontaVista Linux PE includes a number of useful tools like the trace and measurement system. The documentation and toolset is split so you can ignore kernel development if you are concentrating on applications. Cross platform debugging is typically done using a network interface but the system supports other methods such as JTAG as well. The nice thing about MontaVista Linux PE was the ability to generate a Linux system at any level (kernel or application) using just the tools available in the package. There was also just one place to turn for support. So if you want to build a Linux-based system, MontaVista is well worth looking at. You will save much more time and effort than the annual cost for the package. Related Links Eclipse Foundation GNU is not Linux MontaVista

Hide comments


  • Allowed HTML tags: <em> <strong> <blockquote> <br> <p>

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.