| ![[Previous]](../prev.gif) | ![[Contents]](../contents.gif) | ![[Next]](../next.gif) | 
Create a Card Information Structure (QNX)
mkcis [-2] [-f outfile] [-o outfile] [-q] [-w level] file
|  | Don't use the -2 option if you're using Efsys.file. Efsys.file can't read the level 2 structures. | 
The mkcis utility reads a file containing a text description of the memory regions and partitions that make up an EFS socket. The utility attempts to find the optimal placement of partitions and creates a CIS containing this information. An Initial Program Loader (IPL) may precede the CIS on embedded filesystems used for booting.
The input file is made up of a sequence of sections. A section can be a description either of the geometry of a memory device or of a region. A region section may contain any number of partition sections. You determine the placement of each partition by assigning various attributes to it. These attributes tell mkcis the types of accesses that will be made and the alignment restrictions that the partition must conform to.
The input file consists of lines in this format:
[spaces/tabs] keyword [value]...
Prefix every comment with the # character, which causes all input to the end of line to be ignored.
You can specify numbers in decimal (the default) or in hex by prefixing them with 0x. A number can have M or K suffixes to signify multiplication by 1024*1024 or by 1024. The case of these suffixes doesn't matter.
Here's the file structure:
jedec
    id number
    type [dram|sram|flash|eprom|eeprom]
    size number
    write_disrupt number
    erase_disrupt number
    erase number
    write number
region
    jedec number
    size number
    offset number
    interleave number
    boot_file "filename"
    partition
       type [efs|image]
          file "filename"
          size number
          attribute [erase|write|execute|write_align|
                     erase_align|largest]*
The jedec section defines the type and geometry of a memory device used in the EFS. Standard device definitions can be found in the file /etc/jedecs and are read by mkcis at startup. You can specify the following attributes:
A region section must be defined for each region in the EFS. Each section contains the following attributes:
Each partition in a region has the following attributes:
|  | When specifying an embedded filesystem with a file directive, attribute largest and size are ignored and shouldn't be specified. | 
Create a card information structure (CIS) from input file exm2a.info and write the CIS to raw device /dev/skt1:
mkcis -o /dev/skt1 -f exm2a.img exm2a.info
Here's a sample CIS information file for an Octagon 5025A system with a single EFS consisting of Intel 28F020 Flash memory devices. The EFS is configured to contain only a bootable image partition.
#
# Configure CIS for Octagon 5025A
#
jedec
    id 0x89bd
    type flash
    write_disrupt 256k
    erase_disrupt 256k
    erase 256k
    write 1
    size 256k
region
    size 256K
    interleave 1
    jedec 0x89bd
    boot_file "/boot/sys/boot.5025a"
partition
    type image
    attribute largest
partition
    type ffs
    file "ffs.img"
This input file creates a CIS suitable for an Intel EXPLR2 board:
#
# Sample configuration for EXPLR2
#
region
    size 2M
    jedec 0x89A0
    boot_file "/boot/rom.explr2"
partition
    type image
    file "nto.image"
| ![[Previous]](../prev.gif) | ![[Contents]](../contents.gif) | ![[Next]](../next.gif) |