ChorusOS 4.0 Production Guide
검색에만이 책은
PDF로 이 문서 다운로드 (159 KB)

Chapter 1 Introduction

In the context of this guide, the term production denotes all operations that you need to perform in order to generate a bootable system image from the ChorusOS source code provided (the source delivery).

The ChorusOS operating system is composed of components that can be built separately. You have a choice of which components to build. Use the default profiles available in the source files you receive, or customize these files to produce your own operating system.

System Requirements

You must be running the SolarisTM operating environment or using a Windows NT system.

You must have at least 250 megabytes of free disk space to use the source package.

Utilities on Your Host System

In order to install and generate the ChorusOS operating system, your host system must provide the following utilities: awk, basename, cat, cc, chmod, cmp, cp, cut, echo, egrep, find, gzip, grep, head, ln, ls, make, m4, mkdir, mv, rm, sed, sh, sort, sum, tail, test, touch, tr, true, uname, uncompress and uniq. These utilities must be in a directory of your PATH. See "Your Source PATH" for further information on PATH.

On Windows NT hosts, these utilities are provided with the Windows Upgrade package which is part of your delivery.

The host file system must support:

  • Symbolic links (Solaris operating environment only) or hard links (NT system only).

  • Long file names.

Directories

The source files are installed in a default source directory that is separate from the work directory.

In this document:

  • Your installation directory is referred to as <install_dir>. The default installation directory is /opt/SUNWconn/SEW.

  • Your binary directory is referred to as <bin_dir>. The default binary directory is /opt/SUNWconn/SEW/4.0/chorus-<family>.

  • Your source directory is referred to as <src_dir>. The default source directory is /opt/SUNWconn/SEW/4.0/chorus-<family>/src.

  • Your work directory is referred to as <work_dir>.

Components and Tools

The range of components available within the ChorusOS operating system is organized in a hierarchy spanning from the NUCLEUS, at the lowest level, to the EXAMPLES, at the top level as shown in Table 1-1.

Table 1-1 Source components in a ChorusOS and their level

component

level

NUCLEUS

nucleus level

DRV DRV_F BSP

board support package level

OS IOM

operating system level

EXAMPLES

applications level

The ChorusOS product ensures compatibility between components built with the two development tools available, mkmk and imake. The modularity of the source code facilitates porting of the operating system. See the ChorusOS 4.0 Porting Guide for more information.

The mkmk and imake tools provide a mechanism which uses input files in order to create the Makefile appropriate to that directory. They:

  • provide the rules for compiling

  • manage dependencies

  • allow you to add components

  • enable you to configure source files with configurator or the ews graphical tool

Introduction to mkmk

Table 1-2 lists components built with the mkmk tool.

Table 1-2 Built with mkmk
ComponentDescription
NUCLEUS nucleus
OSPOSIX environment
IOMI/O Manager

The mkmk tool is described in this document. It is used to build components at the nucleus and operating system levels (Table 1-2).

Introduction to imake

Table 1-3 lists components built with the imake tool.

Table 1-3 Components Built with imake
ComponentDescription
DRVDrivers
DRV_FFamily specific drivers
BSPBoot
EXAMPLESApplications

For further information on the imake tool refer to Chapter 3, Building with imake of this guide, ChorusOS 4.0 Introduction and to the ChorusOSMkMf(1CC) man page.

Tools Provided with the ChorusOS System

Table 1-4 gives the list of utilities and production files provided with the ChorusOS system and used with either the mkmk or the imake development tool. Utilities that can be called directly by developers are described in more detail in the ChorusOS man pages (configure, ChorusOSMkMf, configurator and mkmerge). The files in this Table are located in the <bin_dir>/tools/host/bin directory.

Table 1-4 Host Tools Provided with the ChorusOS System
Utility/FileDescription
configurethe "configure" script
cpxmlwrapper around cp, used to copy XML files
cprootcopies files to the target file system
ChorusOSMkMfcreates Makefiles, using imake, for target binaries
HostMkMfcreates Makefiles, using imake, for host binaries
Makefile.bininterface of the tools component
makedepend creates dependencies
configuratorhandles configuration of features and tunables
mkimagethe create system image
mkmergemerges split trees into a merged tree
genEnvreads Makefiles and gives output with their variables
getExport computes the list of object files to use when creating a link
m4the GNU m4 preprocessor
mkctors handles ctors/dtors and tunables during actor link
mkmakewrapper around make
mkmkcreates Makefiles
mkstubs produces system call stubs
rpcgen an RPC protocol compiler
chgetlayout extracts image layout, for DebugServer
mksymfiles ghs compiler only
getLayoutFile ghs compiler only
concat concatenates files
devsys.mk make rules to compile host tools

The imake files; Imake.rules, Imake.tmpl, Package.rules, Project.tmpl are discussed in ChorusOS 4.0 Introduction. Table 1-5 gives a description of these files.

Table 1-5 The imake files provided with the ChorusOS System
FileDescription
imake/Imake.rulesimake rules
imake/Imake32.rules provides compatibility with r3.2 imake rules
imake/Imake.tmpl template Makefile, for imake
imake/Package.rules packaging rules, for imake
imake/Project.tmpl empty Project.tmpl

Each file in the tgt-make directory deals with make rules for compiling target binary files. Certain files are specific to the gcc compiler, others to the ghs compiler. Only common and gcc/powerpc specific files are described here. All files listed in Table 1-6 are located in <bin_dir>/tools/tgt-make directory:

Table 1-6 Target Rules for ChorusOS
FileDescription
gcc-devsys.mkmake rules used by the imake environment
gcc-ld.ldlinker script used to reduce the section number
gcc-variables.rf make variables, for the mkmk and imake environments
gcc-tgtdevsys.rfmake rules, for mkmk
variables.rfincludes the compiler specific file about variables
tgtdevsys.rfincludes the compiler specific file about rules
shared.rfcalls mkmake
mktgt.rfincludes all targets rules
mkrules.rfcontains rules for the mkmk environment
mkrules.m4 m4 macros for .bf files
Makefile.mkimageMakefile used during image creation
Makefile.confMakefile used during configurable actor links
genLinkgeneric linker, calls genLink.conf and genLink.noconf
genLink.conflinks configurable actors
genLink.noconflinks non-configurable actors
mkdbginfogenerates offsets and symbol information
host.confdefines the host type
powerpc/genOffcreate offset files
powerpc/genOff.awkawk file used by genOff
powerpc/act.ldlinker script used for actors using dynamic libraries
powerpc/lib.ldlinker script used to create dynamic libraries


Note -

None of the above files can be modified.