BUILDROM

BUILDROM is the Symbian platform ROM configuration tool. It is a unified ROM building front end to prepare the configurations. It then invokes the ROMBUILD to generate the ROM image or ROFSBUILD to generate the ROFS image.

Syntax conventions

All commands and options should be entered as stated. For more information on general syntax conventions, see the BNF grammar section in Symbian OS Library >> About the Symbian Developer Library >> Documentation conventions.

BUILDROM command syntax

BUILDROM [options] <obeyfile1> [<obeyfile2> [obeyfile3 [...

options can be one or more of the following:

–argfile=<parameter file>

Accepts a parameter file, which contains a list of command-line parameters specific to the ROM tools, as input.

-Dxxx

C++ preprocessor arguments. A common, but not exhaustive set is:

-D_DEBUG

Selects debug versions of some files.

-D_FULL_DEBUG

Selects debug versions of all files.

-D_ARM4T

Specifies the target platform.

-D_KABI=xxxx

Specifies the target platform for the kernel (for example, ARMv5).

-D_EABI=xxxx

Specifies the target for all files (for example, ARMv5).

-DFEATUREVARIANT=xxxx

Specifies the name of feature-based variant (for example, myvar).

BUILDROM automatically looks for the binary names and properties of the selected variant, using the data generated by build system.

-D_NAND2

Specifies to generate the image for NAND flash.

-D_ONENAND

Specifies to generate the image for ONENAND flash.

-lowmem

Reduces the physical memory consumption during image generation.

-loglevel<level>

Level of information to log file. The following valid log levels are available:

0

Default level of information to log file.

1

Logs the host or the ROM filenames, the file size, and the hidden attribute in addition to the loglevel 0 information.

2

Logs the E32 file header attributes such as UIDs, data size, heap size, stack size, VID, SID, and priority in addition to the loglevel 1 information.

-nospi

Instructs BUILDROM not to produce any static plug-in information (.spi) files. See the __ECOM_PLUGIN keyword for details of these files. The default is to produce .spi files.

-noimage

Instructs BUILDROM to suppress only the generation of any ROM or ROFS images, while allowing generation of all other relevant files.

-o<image name>

The name of the ROM image. This overrides any name specified using the romname keyword in an Obey file.

-s

The strict option. Specifying this means that any missing files will stop BUILDROM without generating a ROM image.

If this option is not specified, then it is possible to generate a ROM image with missing files.

-p

Preserves the intermediate files and folders (data drive and Z drive) generated by BUILDROM.

-e

Specifies the external tools that need to be invoked. These are the names of the Perl modules (without the .pm extension). Multiple modules names must be separated by commas. This is an optional parameter.

Alternatively, external tools can be invoked by using IBY file keyword externaltool.

-fm=<feature_manager_database_file>.xml

Parses the specified feature manager database XML files and generates the features data file(s) (features.dat) in the present working directory. The number of features.dat files generated depends on the total number of ROM image partitions specified in the OBEY file that is used to create the ROM image.

Notes

  • You can provide multiple feature manager database XML files delimited by commas.

  • If a feature manager option (-fm or -nofm) is not passed to BUILDROM explicitly, the -fm option is used internally to generate a feature data file using the default featuredatabase.xml file in \epoc32\rom\include. For more information, refer to Enabling feature data file generation.

-nofm=<Existing_features_data_file_name>.dat

Includes the specified features data file in the ROM image.

Note: This option is ignored by BUILDROM if used with the -fm option.

-z=xxx or -zdrivepath=xxx

Specifies the location to create the Z drive directory.

By default, a Z drive directory is created in the location from where BUILDROM was invoked.

-d=xxx or -datadrivepath=xxx

Specifies the location to create data drive directory.

By default, the data drive directory is created in the location from where BUILDROM was invoked.

-k or -keepgoing

Enables BUILDROM to continue to create the data drive image even if the SIS file(s), non-SIS file(s), or the Z drive image file(s) are missing or corrupted.

-zdriveimage="<image_1.img>,[...,<image_n.img>]"

Specifies the Z drive image (ROM, ROFS, and CORE image).

–r or -retainfolder

Instructs BUILDROM not to delete any pre-existing data drive folder.

-pfile=xxx

Specifies a parameter file for INTERPRETSIS to take additional parameters.

-l=<logfile.txt> or -logimageentry=<logfile.txt>

Logs all stub-sis and SWI certificate file(s) that are part of the Z drive image onto a log file.

-argforinterpretsis

Specifies the command-line argument for the InterpretSIS tool. These command-line arguments take precedence over the arguments in the parameter file.

-i=<optional path>

Specifies an optional path in which the IBY files are stored. This option is case-sensitive.

Notes:

  • If the IBY files are found both in the default path (\epoc32\rom\include), and the <optional path>, BUILDROM uses the IBY files in the <optional path>.

  • If the IBY files are not found in the default path, BUILDROM uses the IBY files in the <optional path>.

-fastcompress

Compresses the files specified in the oby files with low byte-pair compression ratio. This reduces the time to create image and increases the size of output image.

<obeyfile1><obeyfile2> and are standard text files containing statements that are used to control the building of ROM images.

See the OBEY files reference for the full syntax.

Passing parameters using a file

BUILDROM allows to pass parameters in a file using the -argfile option. It provides a solution to the limited command line length. It also reduces the risk of error and saves time in typing from a command prompt.

> BUILDROM –argfile=arg.txt -s

In the BUILDROM command above, arg.txt is the text file with the parameters. An example of this file is as follows:

; sample parameter-file
-fm=\epoc32\rom\include\featuredatabase.xml ;generate features data file.
-noimage -nosymbols -s ;do not generate ROM image and symbol file
                       ;and invoke buildrom in strict mode.
-D_PLAT=ARMV5
; EOF

Rules of this argument file are as follows:

  • Single line comments begin with a semicolon(;).

  • Comments can also be specified after the parameters.

  • Parameters can be specified either in a single line separated a by space, or in multiple lines.

  • Parameters provided in a parameter file override those specified in the command line.

  • Environment variables must be specified in the command line and not in the parameter file.