Linux VME Howto: Introduction

Next Previous Contents

## 1. Introduction

## 1.1 Knowledge Required

Using Linux on an embedded VMEbus processor board is not difficult. However, more than fundamental knowledge is required. This document is not a primer on how to fully configure a Linux machine.

In order to understand this HOWTO document it is assumed that you are thoroughly familiar with the following:

- Configuring and compiling a Linux kernel to operate the various peripherals on your board. Kernel-HOWTO
- Setting up and configuring of network devices NET HOWTO
- Setting up of inetd NET HOWTO
- Setting up and use of the Tundra Universe PCI to VME Bridge Chip Tundra Universe. The new VMEUtils program makes knowledge of the Universe unnecessary for those who do not wish to deal with register level Universe access.
- Compiling and installing various network packages like Apache Site Wu-Ftpd FAQ
- The VMEbus Rev. D and VME64. Excellent information may be found at the VMEbus International Trade Association (VITA).

If you are uncertain of how to proceed with any of the above it is STRONGLY recommended that you use the links provided to familiarize yourself with all packages. We may not reply to any mail regarding any of the above. Please direct any questions to the appropriate author of the HOWTO or consult the respective hardware manufacturer.

This document describes the installation and use of VMELinux on a Xycom XVME-655 6U VME processor board. Other brands of VME boards that use a Pentium and the Tundra Universe chip should be capable of running VMELinux. Please consult the Board Support Section of the VMELinux web site for tested boards. VMELinux Project Web Site

## 1.2 Why use Linux on VMEbus systems?

Operating systems for VMEbus computers are usually Real-time Operating Systems (RTOS) which have high cost and a significant learning curve. In return the RTOS offers quick response to real world events for control of machinery or response to a process.

The VMEbus provides a rugged computer enclosure and interconnection system. Many system integrators require this ruggedness and also need very fast real-time response. However, there are many times when there is little need for real-time response, but the software still needs:

- networking capability,
- remote access via telnet or similar program,
- file transfer via FTP or similar programs,
- remote booting via BOOTP or similar method,
- a way to respond to system interrupts.

Linux has all these capabilities. Thus, the VMELinux Project exists.

## 1.3 Purpose

The purpose of VMELinux is to give the VME system integrator another choice in operating systems. Rich in features, high in reliability and low in cost, Linux offers benefits to the embedded computer industry. High cost operating systems economically prohibit the use of VME in many applications. With Linux and the VMELinux drivers, the rugged VMEbus has new possibilities.

The purpose of the VMELinux Project is to:

- Maintain and improve the free VMELinux Kernel Driver software,
- Offer added value software components such as the VMEUtils program and VMEShell utilities.
- Test the software on various makes and brands of manufacturer supplied VME processor boards,
- Maintain web based documentation on each tested brand and make of boards,
- Maintain this HOWTO.
- Integrate user suggested and user supplied improvements into the virgin code so we may all benefit from the programming talents of others.
- Become the original source for all the above software so VMELinux users can be assured of original code from the authors.

## 1.4 Feedback

As VMELinux is tested in the field, we encourage comments about how well or how bad it works. Please feel free to send comments to The VMELinux Project

As we get experience about each brand of VME CPU, we will list the different configurations in this HOWTO. For now we will describe only the Xycom board.

## 1.5 VMELinux Revision History

This document's revision is $Revision: 1.16 $, $Date: 2002/02/12 17:57:37 $.

The latest version is always available at Linux VME HOWTO.

Linux Kernel Driver

- November 1997, v0.2 - Initial version on Xycom Board
- December 1997, v0.3 - Useable version used for actual work with project.
- February 1998, v0.6 - DMA mode added to VME access modes.
- June, 1998, v0.8 - Fixed a few things to allow the new VMEUtils to work.
- June 24, 1998, v0.8a - Last version for the 2.0.x kernels
- April 18 2000, v0.95 - First version for the 2.2.x kernels
- October 16, 2000, v1.00a - Release for the 2.2.x kernels
- April 23, 2001, v1.01a - Same as 1.00a, but with the new device major number 221.
- October 16, 2001, v1.1 - Our first release with support for 2.4 and 2.2 kernels.
- October 25, 2001 - All version numbers restructured to make more sense. What was version 1.1 is now 1.2.0. Development tree started at 1.3.0 which includes support for eight images.
- February 11, 2002, More work done on ca91c042.c driver code available from the CVS respository.

VMEUtils Program

- February, 1998, v0.6 - Created a command line interpreter to access the VMEbus
- June, 1998, v0.8 - Fixed several issues to allow VMEShell Utilities to function
- June 24, 1998, v0.8a - Previous working release.
- April 2000, v0.95 - Pretty much the same as before. Better install instructions.

VMEShell Utilities

- June, 1998, v0.8 - Created command line utilities that allow access to the VMEbus from the Linux shell prompt. These shell programs interface with the VMEUtils program.
- June 24, 1998, v0.8a - Changed the name of all the shell programs so they all begin with "vme." Current version made available on the website.
- April 2000, v 0.95 - Improved installation scripts.

## 1.6 Copyright/Distribution

This document is Copyright 1997-2002 by John Huggins and the VMELinux Project.

A verbatim copy may be reproduced or distributed in any medium physical or electronic without permission of the author. Translations are similarly permitted without express permission if it includes a notice on who translated it. Commercial redistribution is allowed and encouraged; however please notify The VMELinux Project of any such distributions.

Excerpts from the document may be used without prior consent provided that the derivative work contains the verbatim copy or a pointer to a verbatim copy.

Permission is granted to make and distribute verbatim copies of this document provided the copyright notice and this permission notice are preserved on all copies.

In short, we wish to promote dissemination of this information through as many channels as possible. However, we wish to retain copyright on this HOWTO document, and would like to be notified of any plans to redistribute this HOWTO.

Next Previous Contents