.

eXMP-Linux Board Support Package Guide

eXMP Startup

After BIOS loads, GRUB www.gnu.org/software/grub/ bootloader gets loaded from primary boot partition. Your GRUB selection will specify the kernel image file and the parameters to pass to the kernel. The GRUB boot screen is configured by the /boot/grub/grub.conf file.

As the kernel is loading, messages will print on the serial console. These messages can be viewed at a later time using the 'dmesg' command.

Once the kernel is loaded, the root file system is mounted, and the /etc/iniitab file is executed. This file starts the scripts located in the /etc/init.d/ directory, which include the network address configuration and a script to load the XMP device driver (module).

FTP and Telnet servers are also started (from /etc/inittab). When connecting to the eXMP via a telnet client, no login or password is required. When connecting via an FTP client, an anonymous login supported (login as 'anonymous' or 'ftp') and the password is ignored. After the initialization scripts have been executed, a shell is started on the console.

 

Software Source: Redhat 8.0

Software for the eXMP was built on a Redhat 8.0 development computer www.redhat.com. Most of the software on the eXMP was taken from the standard distributions on the development computer:

Kernel sources version 2.4.18-24.8.0
FTP server wu-ftpd 2.6.2(1)
Telnet server telnetd
bootloader GRUB version 0.92

Other Software Used:

BusyBox 0.60.5         (www.busybox.net)
BusyBox combines tiny versions of many common UNIX utilities into a single executable. It provides minimalist replacements for most of the utilities usually found in GNU fileutils, shellutils, etc. The utilities in BusyBox generally have fewer options than their full-featured GNU counterparts. However, the options that are included provide the expected functionality and behave similarly to their GNU counterparts. BusyBox provides a fairly complete POSIX environment for any small or embedded system.

BusyBox was written with size-optimization and limited resources in mind. It is also extremely modular so it is easy to include or exclude commands (or features) at compile time. This makes it easy to customize your embedded systems. To create a working system, simply add /dev, /etc, and a kernel.

sqawnsh

This program is a simple substitute for the "login" program. It simply spawns the shell specified in SPAWN_SHELL. It is used to spawn a shell from the telnet daemon, as follows:

         /bin/telnetd -debug 23 -L /bin/spawnsh

 

Copyright (c) 2001 Simple Network Magic Corporation, dnevil@snmc.com

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/

/*
spawnsh -h hostname (for telnetd, etc.)
*/

 

Files on the Compact Flash (CF)

All partitions are mounted with full read/write access. Be careful! On the 32MB CF card, there is a 4MB boot partition. This gets mounted as /boot. The remaining 28MB is a primary partition which contains the root filesystem. About 20MB of free space remains on these partitions. The directories in this filesystem are described below:

 

/bin - the bin directory contains user utilities. Most of these come from the BusyBox program.

/boot - the boot directory contains the kernel and the GRUB boot loader files.

/dev - the dev directory contains device files needed in our system. Running the script 'exmp_devs' will create the necessary device files (first-time users only).

/etc - the etc directory contains the necessary configuration files for your system. 'inittab' is the first script that is executed after the kernel is loaded. 'fstab' configures how the CF is mounted. 'init.d/network' contains the network configurations. 'init.d/xmpdriver' loads the XMP device driver (at boot). FTP access files are also found in this location. By default, FTP access is unlimited.

/lib - shared libraries go in this directory. These were copied from the Redhat 8.0 development system.

/proc - this directory is empty. The kernel will put system status files in this directory.

/mei - this directory contains the XMP device driver, and both Debug and Release versions. This device driver is MPI version independent.

/sbin - system utilities go in this directory. These utilities affect the entire system. In our embedded system, they are from the BusyBox.

/usr - the usr directory contains user program files. Most of the files in the usr directory come from the BusyBox package. The ftp and telnet server programs are also located in this directory.

/var - the var directory normally contains log files and other writable directories.

 

Building the Kernal

Development system: Pentium III 500MHz with Redhat 8.0

Kernel configuration file: exmp.config Copy this file to the /usr/src/linux-2.4 directory.

From a shell in the X environment, type: make xconfig

This will pop up a configuration screen. Select "Load Configuration from file" and type: exmp.config

Then choose "Save Configuration and exit."

Then: make bzImage

Then: make Install

The kernel image "vmlinuz" is now located in the /boot directory. This can be copied to the eXMP CF /boot directory.

 

       Legal Notice  |  Tech Email  |  Feedback
      
Copyright ©
2001-2021 Motion Engineering