EMB610: System Development Jumpstart with MontaVista Linux Carrier Grade Edition


This is an advanced four-day hands-on programming course focusing on system development for embedded systems using MontaVista Linux Carrier Grade Edition. Presented at various locations or on-site at your facility, the instructor provides the skills needed to successfully develop, test and integrate complex software appropriate to Carrier Grade products.


Students should be professional software developers building embedded systems using MontaVista Linux Carrier Grade Edition. Students should also have previous knowledge of general carrier grade features.


Students are expected to be proficient in the C programming language and well-versed in open source system concepts, and have some familiarity with Linux or a comparable development system.

  • Explain the role in carrier-grade systems
  • Gain familiarity with the Montavista Linux environment and tools available to develop embedded Linux systems and applications
  • Explain the relationship between the AIS, HPI and SMI SA Forum components
  • Understand cluster membership and service migration policies
  • Explain the inter-relationships between reliable hardware and the middleware needed to support it
  • Understand the role of the shelf controller
  • Develop and debug a multi-threaded applications using IPC mechanisms
  • Using timers and IPC mechanisms in user space
  • Explain the use of IPMI and HPI interfaces
  • Show how to configure RAID and journaling file systems
  • Explain the use of bonding network interfaces


This course prepares developers to create high-reliable systems using MontaVista Linux, Carrier Grade Edition Instruction begins with a quick overview of carrier-grade systems and the role of the SA Forum and OSDL in the creation of standards for carrier-grade Linux. The course proceeds to an introduction to the development environment and tools and techniques for cross-development with MontaVista Linux Carrier Grade Edition. Special attention is given to the use of Montavista DevRocket designed to facilitate system software and applications development.

Next, the focus moves to the hardware by discussing the role of the shelf, shelf controller and the relationship between IPMI and HPI. From the hardware, it moves on to the AIS and SMI middleware features and their role in creating reliable systems. In the run-time environment, Linux memory model, processes, POSIX threads, synchronization and communication mechanisms are examined along with considerations of performance, debugging and maintainability. Linux timers, networking and filesystem services are discussed in detail. Linux services available in these areas are briefly described and placed in perspective with the user-level services in the process/thread domain. Additional topics to be covered include IPv6 and MobileIP, RAID, RMON, resilient file systems, kernel configuration and kernel debugging techniques.

Hands-on exercises supplement the lecture materials with practical challenges modeled on actual development experience. Exercises range from simple cookbook steps in completing common but not otherwise obvious procedures up to and including significant development challenges that require thought, initiative and creativity to successfully resolve.

Course Cost: