This section explains what the system image is and how to create it using the tools and configuration files provided.
The system image is the initial state of the target board's physical memory. It contains a set of files that are organized into one or more memory banks. For more information on the complete set of ChorusOS configuration files see "Configuration Files" in ChorusOS 5.0 System Administrator's Guide.
When the target system is deployed, some of the system image memory banks are burnt into non-volatile physical memory. The rest can be downloaded from a local device or from the network by the initial loader (boot monitor or firmware).
To build the system image, you use an XML-based system. This system has two components:
The ChorusOS operating system configuration tools, ews and configurator, enable you to create, view, and modify a system image's configuration files, which are defined using EMCL (based on XML). You can also modify the configuration files directly. In fact when you create the system image for a new target board, you will need to create the target configuration files using a text editor before being able to use these tools.
The mkimage tool creates the system image as defined in the configuration files.
The board-specific configuration must be stored in the board BSP directory: source_dir/nucleus/bsp/family/board. For example, the board-specific configuration files for the SBC8260 board are stored in source_dir/nucleus/bsp/powerpc/sbc8260, and those for the PC/AT are stored in source_dir/nucleus/bsp/x86/i386at.
There are two configuration files that define the BSP and driver configuration of the system image:
target.xml specifies the main board-specific configuration
target_action.xml specifies the board-specific system image reshaping procedure
The configuration must specify the list of memory banks and, for each particular bank, a symbolic name, a base address, and a size limit. Also, the configuration can request mkimage to organize any particular memory bank as a file system volume. The current ChorusOS operating system release supports FAT MS-DOS format only.
The configuration must also specify a list of files to be included in the system image and, for each particular file, the bank where the file must be stored. In addition, for relocatable ELF files, the configuration can specify how the file must be relocated when stored in the memory bank.
Most of the examples in this chapter use the SBC8260 board. To understand the examples, the following information about the SBC8260 board is useful:
CPU: EC603e
Physical memory map: The power-up initialization code programs the chipset memory map decoder registers in such a way that in the processor's physical address space, all available RAM is contiguously mapped to (physical) address 0x0, and at least 1M of NOR flash memory is contiguously mapped to the end of the physical address space (that is, to the physical address 0xfff00000).
Deployment: The ChorusOS configuration supports two deployment schemes: