INTEGRITY KernelSpace Project
A KernelSpace project is a stand-alone executable linked with
INTEGRITY libraries suitable for running directly on a target.
Use a KernelSpace project when only physical space is needed,
or when further virtual AddressSpaces may be downloaded at
run time.
INTEGRITY Monolith Project
A monolith image is a
stand-alone executable, suitable for running directly on a target, that
contains a kernel and zero or more virtual AddressSpaces. Use a Monolith INTEGRITY
Application Project to take advantage of the safety and
security of INTEGRITY's memory mapping for application code
without requiring run-time download.
Dynamic Download
A Dynamic Download
image consists of one or more virtual AddressSpace projects that are
downloaded via MULTI onto an INTEGRITY kernel already running on your
target. Use a Dynamic Download INTEGRITY Application Project to bundle
related virtual AddressSpaces without linking in a kernel
project, so it can be downloaded independently.
Program Layout
Selects which linker directives file to include in your program.
Kernel Libraries
Select libraries to enable functionality in the kernel.
Kernel Modules
Select OS Modules to enable in the kernel.
Create Monolith From Stand-alone Kernel
Creates a monolith project around the stand-alone kernel. This will add
the monolith build files and Integrate file. Subsequently, you can
add virtual AddressSpaces, if desired.
Debugging
Enables run-mode task debugging interface.
Adds libdebug.a to the project.
Dynamic Load
Enables kernel to dynamically load modules, i.e. Dynamic Download projects.
Adds libload.a to the project.
Resource Manager
Enables the Resource Manager. The Resource Manager is a
mechanism for sharing resources among different AddressSpaces.
Adds libres.a to the project.
EventAnalyzer
Enables event logging. Use in tandem with the MULTI EventAnalyzer.
Adds liblog.a to the project.
Use of the EventAnalyzer in Live Mode requires a network stack, but
Post-Mortem Mode does not.
Legacy GHnet Stack (Kernel)
Adds the legacy TCP/IP Stack to the kernel.
Adds libitcpip.a to the project.
TCP/IP Stack (Kernel)
Adds the standard TCP/IP Stack to the kernel.
Adds libitcpip.a to the project.
GHnet IPv4 Stack (Kernel)
Adds the GHnet IPv4 Stack to the kernel.
Adds libip4.a to the project.
GHnet IPv4/v6 Stack (Kernel)
Adds the GHnet IPv4/v6 Stack to the kernel.
Adds libip46.a to the project.
GHnet IPv4/v6 Routing Stack (Kernel)
Adds the GHnet IPv4/v6 Routing Stack to the kernel.
Adds libip46router.a to the project.
File System Client
Allows use of the File System API.
Adds libivfs.a to the project.
Virtual Dynamic Load Kernel Helper
Adds kernel side support for a load agent in virtual AddressSpace.
Adds libvload_kernel_helper.a to the project.
Socket
Allows use of the Socket API.
Adds libsocket.a to the project.
Net
Allows use of the Network Library API.
Adds libnet.a to the project.
RPC
Allows use of the RPC API.
Adds librpc.a to the project.
ResourceAnalyzer
Enables kernel for later use of the MULTI Resource Analyzer.
Adds libperf.a to the project.
Core File Collection
Enables kernel for core file collection upon error.
Adds libcore.a to the project.
Use Shared Libraries
When checked, allows the INTEGRITY Application (Monolith or Dynamic Download) to
be linked with shared libraries. When unchecked, the INTEGRITY Application (Monolith or Dynamic Download)
will be linked statically with all libraries. Either one can be a size win depending
on the behavior of your application.
Virtual AddressSpace
The result of building a virtual AddressSpace project is a fully linked ELF
executable, called a virtual AddressSpace program. This program contains
only the code and data for this single virtual AddressSpace.
User code for a virtual AddressSpace program begins with the standard C/C++
function main(). The entrypoint of the program is actually _start,
which initializes the virtual AddressSpace so that the C/C++ run-time
environment and the INTEGRITY API can be used. _start transfers control to
main(), the start of user code for each virtual AddressSpace.
The thread of control executing into main() is known as the Initial Task.
The name of the Initial Task as seen in the MULTI Task window is Initial,
grouped with any other tasks that may be in the same AddressSpace.
Virtual Libraries
Enable functionality in the virtual AddressSpace by adding libraries.
File System Client
Allows use of the File System API.
Adds libivfs.a to the project.
Socket
Allows use of the Socket API.
Adds libsocket.a to the project.
Net
Allows use of the Network Library API.
Adds libnet.a to the project.
Configuring Virtual Address Spaces
Use this dialog to add virtual Address Spaces to the project. You may
either add 'n' AddressSpaces with a default name, or explicitly name
each AddressSpace in a comma separated list.
Configuring OS Modules
Use this dialog to add INTEGRITY Operating System Modules to the project.
Some selections are mutually exclusive.
File System (From Distribution)
Use the File System Server provided from the INTEGRITY installation.
This server should be used as is. If modifications are required,
select "File System (User Configured)".
File System (User Configured)
Create a File System Server in the current INTEGRITY Application. This can be
configured with mount points and libraries to suit your application.
File System (Kernel, User Configured)
Create a File System Server in the kernel of the current project. This can be
configured with mount points and libraries to suit your application.
Legacy GHnet Stack (Virtual)
Use the legacy virtual TCP/IP Stack Module provided from the INTEGRITY installation.
TCP/IP Stack (Virtual)
Use the Virtual TCP/IP Stack Module provided from the INTEGRITY installation.
GHnet IPv4 Stack (Virtual)
Use the Virtual GHnet IPv4 Stack Module provided from the INTEGRITY installation.
GHnet IPv4/v6 Stack (Virtual)
Use the Virtual GHnet IPv4/v6 Stack Module provided from the INTEGRITY installation.
GHnet IPv4/v6 Routing Stack (Virtual)
Use the Virtual GHnet IPv4/v6 Routing Stack Module provided from the INTEGRITY installation.
Kernel Provided Stack
Use on a Dynamic Download when the kernel will provide a TCP/IP stack.
Kernel Provided Resource Manager
Use on a Dynamic Download when the kernel will provide the Resource Manager.
Kernel Provided File System
Use on a Dynamic Download when the kernel will provide a File System Server.
FTP Server
Use the virtual FTP Server Module provided from the INTEGRITY installation.
Web Server
Use the virtual Web Server Module provided from the INTEGRITY installation.
POSIX Network Server
Use the virtual POSIX Network Server Module provided from the INTEGRITY installation.
INTEGRITY Shell
Use the virtual INTEGRITY Shell Module provided from the INTEGRITY installation.
Most users of the INTEGRITY Shell want a File System, TCP/IP stack, and the
FTP Server, so the new project wizard will include those OS Modules into your project
at the same time.
File System Libraries
Enable various types of file systems.
File System Device Libraries
Enable functionality relating to a hardware device in the file system by adding libraries.
Configure File System Clients
Select which AddressSpaces should be clients of the File System Server.
File System Mount Table
This file defines the Mount Table for the file system.
File System Mount Point
A File System Mount Point defines a location on the initial file system
and configures the type of file system used at that location.
File System Mount Point Directory
Names a location on the initial file system.
File System Mount Point Device
Names a location on the initial file system.
File System Mount Point Device
Describes the hardware/software device used to back the file system. Choices are dependent
upon the type of file system selected.
Physical Device
The INTEGRITY IODevice used to back the file system. The pulldown contains common names of
IODevices, make sure your choice is available on your BSP. Type in the name of the device
if it is not listed.
Physical Slice
Slice letter to partition. Use the string 'All' to specify there is only 1 partition.
RAM Disk Name
Use a buffer in RAM to back the file system
RAM Disk Size
Specify how large the RAM buffer should be. Must be power of 2.
NFS Server Name
Machine to connect to using NFS.
NFS Share Name
Path on machine to connect to using NFS.
Use GHFile
GHFile only uses built-in values for device characteristics, no action is required.
File System Type
Select the type of file system this mount point should implement.
File System Mount Point Options
Select options based on the type of file system selected.
Check 'Use Defaults' to let the underlying mount code decide the options.
rdonly
Mounts the file system in read-only mode.
sync
Mounts the file system in synchronous mode. This causes
all writes to the file system to write directly to the
device driver, rather than delaying writes in the file
system cache. Mounting a file system in this way provides additional
file system synchronization at the expense of write speed.
async
Mounts the file system in asynchronous mode. This causes
even metadata writes to be performed asynchronously. If a
file system mounted in this way is not cleanly unmounted,
the file system check utility will likely be unable to fix
it. Although this option provides maximum write speed, it
should only be used on a file system that will be
reinitialized (with `[newfs`]) at each boot.
noatime
Disables automatic update of the access time for files. This
is useful for reducing writes to WLFS (for example) if accurate access
time is not necessary.
"multi.mpm.int_fs_mntpoint_opts_mntudp", "multi.mpm.int_fs_mntpoint_opts_tcp"}
nfsv2
(NFS) Forces the use of version 2 of the NFS protocol.
nfsv3
(NFS) Forces the use of version 3 of the NFS protocol.
mntudp
(NFS) Uses UDP to establish the NFS mount, even if the TCP
transport is to be used after the file system is mounted.
tcp
(NFS) Attempts to use TCP as the transport mechanism instead of the
default UDP. Many NFS servers do not support this. Support for
this option is experimental.
shortnames
(MS-DOS) Forces the use of short filenames, ignoring any long filenames.
longnames
(MS-DOS) Use and generate long filenames.
ignorelongalways
(MS-DOS) Ignores the special long filename entries, even if deleting or
renaming a file. This implies the `[-s`] option.
joliet
(ISO9660) Use Joliet extensions on the CD if present.
rrip
(ISO9660) Use Rockridge extensions on the CD if present.
rcaseins
(ISO9660) Makes Rockridge names case insensitive.
File System Mount Point Table Options
Select options based on the type of file system selected.
MNTTAB_MAKEMP
Causes the mount point specified in the second field to be created on the underlying file system if it does not yet exist. This may be useful in connection with RAM Disks, which are always empty at startup.
MNTTAB_FSCK
Requests that the file system server automatically run the appropriate file system checker program (for example, fsck_ffs for ffs) on the file system prior to mounting the file system. (See "Automatic File System Repair" later in this chapter.) The search path for the file system checker program can be controlled by altering the NULL-terminated array of strings names vfs_FsckSearchPath in the mount table file.
MNTTAB_REQ_FSCK
When used in combination with MNTTAB_FSCK, tells the file system server to skip the mount entry if the file system checker program could not successfully correct errors on the file system. The root file system is always mounted read-only prior to running the file system checker, so if the file system checker fails to correct errors on the root file system, and the root file system entry has this option set, the root file system will remain mounted read-only. Failure to find or run the file system checker will be considered failure to correct errors for the purpose of this option.
MSDOS FAT
The MSDOS file system originated with the Microsoft DOS operating system.
It is sometimes referred to by its primary data structure, the file allocation
system (FAT). Like FFS, MSDOS is a hierarchical, disk-based file system. The
MSDOS file system comes in several variants named after the number of bits in
each entry in its file allocation table: FAT12, FAT16, and FAT32.
NFS Client
The Network File System (NFS) is commonly used in UNIX environments. It allows
one machine (the NFS server) to share its files with other machines
(NFS clients) across an IP network.
GHFile
The GHFile file system from GHnet is an efficient, RAM-based system for storing files.
ISO9660
The ISO9660 file system is commonly found on Compact Disc media. INTEGRITY
supports the generic ISO9660 standard format as well as the Rockridge and Joliet extensions.
FFS
The Berkeley Fast File System (FFS) is an inode-based file system that first
appeared in the BSD UNIX distribution from the University of California.
The FFS file system, sometimes referred to by its predecessor's name,
UFS (UNIX File System), is used by many BSD derivative operating systems such as NetBSD, FreeBSD, and OpenBSD.
RAM Disk
The RAM disk pseudo-device can be used to emulate a disk on systems that
have no other storage medium. A RAM disk is especially useful as a root file
system onto which other file systems may be mounted.
BSP Description
Target resource file copied from INTEGRITY distribution.
Defines the BSP for Integrate.
Linker Directives
Linker directives file copied from INTEGRITY distribution.
RAM
INTEGRITY linker directives file to run from RAM.
ROMCOPY
INTEGRITY linker directives file to boot from ROM and run in RAM.
INTEGRITY.ld
INTEGRITY virtual AddressSpace linker directives file.
POSIX System Server
For applications that require a complete, certified POSIX implementation, use the POSIX system. The POSIX system provides a central server and loader which are needed to support process creation and interprocess communications.
POSIX Authorization Table
Defines the User and Group databases.
POSIX Authorization User
Defines a single User for access control purposes.
POSIX Authorization Group
Defines a single Group for access control purposes.
User Name
Username (max. 8 chars).
Password
Password (unencrypted) (max. 8 chars).
User ID
Numerical user ID.
Group
Primary numerical group ID.
Supplemental Groups
List of up to 8 supplemental group IDs.
Home directory
Home directory for POSIX User and Group Database.
Group Name
Group name (max. 8 chars).
Group ID
Numerical group ID.
Create Monolith From Dynamic Download
Add a new Kernel to the Dynamic Download project to make it be a Monolith,
or resurrect one that had previously been removed, if this project had started
out as a Monolith.
You should build clean before converting or before using the converted project.
Create Dynamic Download From Monolith
Comment out the KernelSpace entity in the Monolith project to make this project
be a Dynamic Download. The kernel is preserved in case this operation should
be undone.
You should build clean before converting or before using the converted project.