Initial contribution of the Adaptation Documentation.
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
<!-- This component and the accompanying materials are made available under the terms of the License
"Eclipse Public License v1.0" which accompanies this distribution,
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
<!-- Initial Contributors:
Nokia Corporation - initial contribution.
Contributors:
-->
<!DOCTYPE concept
PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
<concept id="GUID-BF04B68E-7F77-5D99-A0F6-2842758EFD4D" xml:lang="en"><title>ROFSBUILD</title><prolog><metadata><keywords/></metadata></prolog><conbody>
<p>ROFSBUILD is the Symbian platform non-XIP (execute-in-place) ROM
builder. It is normally invoked through <xref href="GUID-E4447BEF-33D2-5099-BCC1-C72FBB3B0463.dita">BUILDROM</xref>,
the Symbian platform ROM configuration tool that acts as a front-end
to ROFSBUILD. </p>
<p>ROFSBUILD understands a sub-set of the BUILDROM OBEY file syntax. </p>
<section id="GUID-492BCD7C-64FD-46A7-BAAD-170AE46FDF2A"> </section>
<section id="GUID-B6CB21A1-2D96-5AF1-9193-FC03F4511080"><title>ROFSBUILD
command syntax</title><p>If the OBY files are encoded in UTF-8 with
non-ASCII character support, use the following the ROFSBUILD command
syntax:</p><codeblock id="GUID-379818BF-A17B-5CAF-A311-3EE4142EE51D-GENID-1-2-1-8-1-1-6-1-1-6-1-2-4-3" xml:space="preserve">ROFSBUILD [options] [–oby-charset=utf-8 <obyfile>] </codeblock><p>If the OBY files are encoded in local character set with non-ASCII
characters support, use the following the ROFSBUILD command syntax:</p><codeblock id="GUID-B3A01582-9631-57C6-A654-D5539DF1AE54-GENID-1-2-1-8-1-1-6-1-1-6-1-2-4-5" xml:space="preserve">ROFSBUILD [options] <obeyfile></codeblock><p> <codeph>options</codeph> can be one or more
of the following: </p> <table id="GUID-FC77DA02-6ECE-5817-9550-A6004A8592AC">
<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
<tbody>
<row>
<entry><p> <codeph>–argfile=<parameter file></codeph> </p> </entry>
<entry><p>Accepts a parameter file, which contains a list of command-line
parameters specific to the ROM tools, as input. </p> </entry>
</row>
<row>
<entry><p> <codeph>-v</codeph> </p> </entry>
<entry><p>Verbose mode. </p> </entry>
</row>
<row>
<entry><p> <codeph>-?</codeph> </p> </entry>
<entry><p>Displays more detailed help for the command. </p> </entry>
</row>
<row>
<entry><p> <codeph>-s[log|screen|both] </codeph> </p> </entry>
<entry><p>Displays a summary of the size to the specified destination,
i.e. to the log, to the screen or to both the log and the screen. </p> </entry>
</row>
<row>
<entry><p> <codeph> -d<bitmask></codeph> </p> </entry>
<entry><p>Sets the trace bitmask; this only applies to debug builds. </p> <p>The simplest way of specifying this is to use a string of hexadecimal
characters starting with 0x (e.g 0x01234567). However, any string
that can be interpreted and translated into a valid TUint value may
be used. See the standard C function strtoul(). </p> </entry>
</row>
<row>
<entry><p> <codeph>-compress</codeph> </p> </entry>
<entry><p>Compresses executable files where possible using the inflate
(Deflate, Huffman+LZ77) algorithm unless the <codeph>-compressionmethod</codeph> keyword is used to override the default. </p> </entry>
</row>
<row>
<entry><p> <codeph>-compressionmethod [none | inflate | bytepair] </codeph> </p> </entry>
<entry><p>Can be used either with the <codeph>-compress</codeph> keyword
or alone. </p> <p><table id="GUID-9D1C2D75-A0F5-5A60-ADC1-7357287B3B43">
<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
<tbody>
<row>
<entry><p> <codeph>none </codeph> </p> </entry>
<entry><p>No compression is used. </p> </entry>
</row>
<row>
<entry><p>I<codeph>nflate</codeph> </p> </entry>
<entry><p>Compresses executable files using the default (Deflate,
Huffman+LZ77) algorithm. </p> </entry>
</row>
<row>
<entry><p> <codeph>bytepair </codeph> </p> </entry>
<entry><p>Compresses executable files using the bytepair algorithm.
Bytepair compression allows faster decompression than the default
Deflate, Huffman+LZ77 algorithm and supports demand paging by performing
compression and decompression of code in independent 4 KB pages. </p> </entry>
</row>
</tbody>
</tgroup>
</table> </p> </entry>
</row>
<row>
<entry><p> <codeph>-coreimage <core image file> </codeph> </p> </entry>
<entry><p>Uses the specified core image file as the basis for creating
the extension. </p> </entry>
</row>
<row>
<entry><p> <codeph>-datadrive=<obeyfile_1>,[...,<obeyfile_n>]</codeph> </p> </entry>
<entry><p>Specifies the data drive description IBY or OBY file. </p> </entry>
</row>
<row>
<entry><p> <codeph>-lowmem</codeph> </p> </entry>
<entry><p>Reduces the physical memory consumption during image generation. </p> </entry>
</row>
<row>
<entry><p> <codeph>-loglevel<level></codeph> </p> </entry>
<entry><p>Level of information to log file. The following valid log
levels are available: </p> <p><table id="GUID-D14FA9B9-5FD9-5F43-A980-313E08E9E5A0">
<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
<tbody>
<row>
<entry><p> <codeph>0</codeph> </p> </entry>
<entry><p>Default level of information to log file. </p> </entry>
</row>
<row>
<entry><p> <codeph>1</codeph> </p> </entry>
<entry><p>Logs the host or the ROM filenames, the file size, and the
hidden attribute in addition to the <codeph>loglevel 0</codeph> information. </p> </entry>
</row>
<row>
<entry><p> <codeph>2</codeph> </p> </entry>
<entry><p>Logs the E32 file header attributes such as UIDs, data size,
heap size, stack size, VID, SID, and priority in addition to the <codeph>loglevel 1</codeph> information. </p> </entry>
</row>
</tbody>
</tgroup>
</table> </p> </entry>
</row>
<row>
<entry><p> <codeph>-wstdpath</codeph> </p> </entry>
<entry><p>Displays a warning if a file is placed in a non-standard
directory when <codeph>PlatSecEnforceSysBin</codeph> is set to <codeph>OFF</codeph>. </p><p> For example, the following instruction in
OBY file leads to a warning when <codeph>-wstdpath</codeph> is used
and <codeph>PlatSecEnforceSysBin</codeph> is <codeph>OFF</codeph>:</p><p><codeph>File=ABI_DIR/BUILD_DIR/hello.exe myfolder/bin/hello.exe</codeph></p> </entry>
</row>
<row>
<entry><p> <codeph>-j<NUM_OF_WORKING_THREADS></codeph> </p> </entry>
<entry><p>Specifies the number of working threads that can run concurrently
to create a ROFS image. The <codeph><NUM_OF_WORKING_THREADS></codeph> must be an integer in the range 1-128. </p> <p>If the <codeph>-j</codeph> option is not specified or an invalid value is specified, ROFSBUILD
automatically takes the number of working threads in the following
ways: </p> <ul>
<li id="GUID-4EE0BEB1-C6AE-559A-99E6-4713F721DDB6"><p>If the <codeph>NUMBER_OF_PROCESSORS</codeph> environment variable is set properly,
ROFSBUILD uses the number of processors as the number of working threads. </p> </li>
<li id="GUID-541008FB-8416-5582-86E2-254FA001FC00"><p>If the <codeph>NUMBER_OF_PROCESSORS</codeph> environment variable is not set or
is invalid, the default value <codeph>8</codeph> is used as the number
of working threads. </p> </li>
</ul> </entry>
</row>
<row>
<entry><p> <codeph>-cache</codeph> </p> </entry>
<entry><p>Enables cache mechanism. It ensures that ROFSBUILD uses
cached executable files while creating a ROFS image. This allows ROFSBUILD
to reuse or generate cached files. </p> <p> <b>Notes</b>: </p> <ul>
<li id="GUID-9B7056D4-EF5B-533B-9E9F-50AD9A7BF498-GENID-1-2-1-8-1-1-6-1-1-6-1-2-4-7-1-3-14-2-3-1"><p>The cache mechanism
is disabled by default. </p> </li>
<li id="GUID-AF355401-C732-5FB5-A472-D7EEB294E4E0-GENID-1-2-1-8-1-1-6-1-1-6-1-2-4-7-1-3-14-2-3-2"><p>The cached files
are stored on the hard disk. </p> </li>
<li id="GUID-7EEA01CD-E155-535B-915B-DE22C42FEDD0-GENID-1-2-1-8-1-1-6-1-1-6-1-2-4-7-1-3-14-2-3-3"><p>The cache command
line options (<codeph>-cache</codeph>, <codeph>-nocache</codeph>,
and <codeph>-cleancache</codeph>) are mutually exclusive. This means
that you can use only one cache option at a time. </p> </li>
</ul> </entry>
</row>
<row>
<entry><p> <codeph>-nocache</codeph> </p> </entry>
<entry><p>Disallows ROFSBUILD from using cached files while creating
a ROFS image. </p> </entry>
</row>
<row>
<entry><p> <codeph>-cleancache</codeph> </p> </entry>
<entry><p>Deletes all cached files from the hard disk. </p> </entry>
</row>
<row>
<entry><p><codeph>-symbols</codeph></p></entry>
<entry><p>Generates symbols for each data or executable specified
in the OBY file. </p><p><b>Note</b>: The symbols file is not generated
by default.</p></entry>
</row>
<row>
<entry><p><codeph>-smr=<smrhcr_rofsbuild_obeyfile_1>,[…, <smrhcr_rofsbuild_obeyfile_n>]</codeph></p></entry>
<entry><p>Creates SMR partition images.</p></entry>
</row>
<row>
<entry><p><codeph>-prependepocroot</codeph></p></entry>
<entry><p>Prepends EPOCROOT to the file location, if the specified
location starts from <codeph>\epoc32</codeph> without <codeph>EPOCROOT</codeph>.</p></entry>
</row>
</tbody>
</tgroup>
</table> <p> <codeph><obeyfile></codeph> is a standard text file
containing statements that are used to control the operation of the
tool. </p> <p>See the <xref href="GUID-9CF985F1-C100-5999-9410-58B7865A1E18.dita">OBEY files</xref> reference for the full syntax. </p> </section>
</conbody></concept>