diff -r 578be2adaf3e -r 307f4279f433 Adaptation/GUID-51C5DC6C-0CEE-5F44-8578-AEFBEF90FA4D.dita --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Adaptation/GUID-51C5DC6C-0CEE-5F44-8578-AEFBEF90FA4D.dita Fri Oct 15 14:32:18 2010 +0100 @@ -0,0 +1,226 @@ + + + + + +READIMAGE +

READIMAGE is a command-line tool that provides readable data from +a ROM, ROFS, or E32 image. It can also generate an IBY file from a +SIS file which can be used to generate a data drive image.

+
Command +syntax

Run the following command to use the READIMAGE tool:

readimage [options] <image filename> or <SIS +filename>

where:

    +
  • <image +filename> is an input image file

  • +
  • <sis +filename> is an input .sis file.

  • +

Reading ROM, ROFS and E32 images

Run the following +command to read a ROM, ROFS, or E32 image:

readimage +options <ROM/ROFS/E32 imagefile>

The command +line options are as follows:

+ + + +Options +Description + + + + +

-o

+

Indicates output file name.

+
+ +

-d

+

Displays header information about the input image.

+
+ +

-s

+

Displays the directory structure of the input image.

+
+ +

-v

+

Displays image headers and the directory structure of the +input image.

+
+ +

-e

+

Displays the E32 image from the input ROM or ROFS image.

+
+ +

-h

+

Displays help information.

+
+ +

-z <path>

+

Extracts all files from the given image to the specified +location.

+
+ +

-l <logfile name>

+

Logs the image contents in a file.

+
+ +

-x <pattern>

+

Extracts a single or a set of files from a ROM or ROFS image +into the current directory. The pattern contains set of file names. +For more information about <pattern>, see Extracting a set of files.

+
+ +

-r

+

Recursively extracts the files from ROM or ROFS image. This +option is always used with the -x option.

+
+ + +

Note: Options are not case-sensitive. READIMAGE +reports an error if an argument is not passed for the -x or -z option.

Extracting one file

The command below +extracts all the files from sample.img to the C:\test location.

readimage -z C:\test\ +sample.img

Extracting a set of files with +wildcard ?

The READIMAGE tool provides the -x option +to extract one or more files from a ROM or ROFS image, based on a +pattern that matches the name of the file. A question mark(?) indicates +to match one instance of any character in a file name, within the +directory.

The command below extracts all the .exe files from the \sys\bin directory present in +the sample.img file, whose file name consists +of two characters.

readimage -x \sys\bin\??.exe +sample.img

Extracting a set of files with +wildcard *

The READIMAGE tool provides the -x option +to extract one or more files from a ROM or ROFS image, based on a +pattern that matches the name of the file. A star sign(*) indicates +to match zero or more instances of any character in a file name, within +the directory.

The command below extracts all the .exe files from the \sys\bin directory present in the sample.img file, into the current directory.

readimage -x \sys\bin\*.exe sample.img

The command +below extracts all the .exe files from the \sys\bin +directory present in the sample.img file, into +the C:\test location.

readimage -x \sys\bin\*.exe +-z C:\test sample.img

The command below extracts +all the .dll files from the \sys\bin\ directory and its sub-directories +present in the sample.img file, into the current directory.

readimage -x \sys\bin\*.dll -r sample.img

Generating an IBY file from a SIS file

Run the +following command to generate an .iby file from +a .sis file:

readimage -sis2iby +[-tmpdir <path> -outdir <path>] <sisfile>

The following command-line options are supported when generating +an .iby file from a .sis file:

+ + + +Options +Description + + + + +

<sisfile>

+

Input .sis file.

+
+ +

-sis2iby

+

Used to generate .iby file for the +given .sis file.

+
+ +

-tmpdir <path>

+

Extracts contents of the .sis file +to the specified directory.

+
+ +

-outdir <path>

+

Generates .iby file in the specified +directory.

+
+ + +

To generate an .iby file from the +given .sis file, READIMAGE performs the steps +as follows:

    +
  1. Reports an error +if the .sis file is invalid or missing.

  2. +
  3. Extracts the +contents of the .sis file into a specified directory, +or the current directory if the path is not specified. A .pkg script file is extracted from the sis file.

  4. +
  5. Creates an .iby file in the specified directory or the current directory +based on the .pkg file.

  6. +

The .sis file is created using the package +(PKG) script file. A .pkg file is a text file +containing statements that define the information needed by the installation +(.sis ) file creation utility, MAKESIS.

For more information about creating .sis file, +see MakeSIS Installation file generator syntax. For more information on the +.pkg file format, see PKG File in +the Symbian +C++ Developer Library.

READIMAGE extracts the .pkg file from the .sis file. It +then uses the .pkg file as input to generate +the .iby file.

Languages and Package-header +section

The details of Languages and Package-header +sections are written in the .iby file as comments.

    +
  • .pkg file

    &EN +# {"HelloWorld application"}, (0xe8000091), 1, 0, 0, TYPE=SA
  • +
  • .iby file

    // Generated IBY file for the package file: \dump\hwapp\hwapp.pkg +// Languages: EN +// Header: "HelloWorld application" (0xe8000091)
  • +

Install-file section

In the Install-file +section, the standard installation files, which are specified with +the installation option FF, are written using the FILE or DATA OBEY file keywords. The File keyword is used if the file is an E32 image, Otherwise, +the Data keyword is used.

    +
  • .pkg file

    "file0" - "!:\sys\bin\HelloWorld.exe", FF, VR +"file1" - "!:\private\<process SID>\Apps\AGENDA\Ericsson.txt", FF, VR
  • +
  • .iby file

    file = "\test\dump\hwapp\file0" "\sys\bin\HelloWorld.exe" +data = "\test\dump\hwapp\sis0\file1" "\private\<process SID>\Apps\AGENDA\Ericsson.txt"
  • +

Embedded-SIS section

The details of +the Embedded-SIS section are written using #include pre-processor directive.

    +
  • .pkg file

    @"sis0.sis", (0x101f7771) +@"sis1.sis", (0x101f7773)
  • +
  • .iby file

    #include "sis0.sis" +#include "sis1.sis"
  • +

Conditions-block section

In the Conditions-block +section, the IF statements are written using the #if - #else +- #endif pre-processor directive block.

The condition-primitives +and the functions in the .pkg file are written +as pre-processor macros.

The relational and logical operator +keywords are written using the appropriate operators.

    +
  • .pkg file

    ;Display 2 options to the user +! ({"Option1", "Option1"}, {"Option2", "Option2"}) +;Conditional installation +IF option1 + "file0" - "!:\private\10000005\import\InstTest\option1.txt"; +ENDIF +IF option2 + "file0" - "!:\private\10000005\import\InstTest\option2.txt"; +ENDIF +;Conditional installation +IF (MANUFACTURER) = (1) + "file1" - "!:\sys\bin\HelloWorld.exe" +ELSEIF (MANUFACTURER) = (4) + "file1" - "!:\sys\bin\HelloWorld1.exe" +ELSE + "file1" - "!:\sys\bin\HelloWorld2.exe" +ENDIF + +
  • +
  • .iby file

    //Install Options: "OPTION1" "OPTION1" "OPTION2" "OPTION2" +#if defined (option1) + data = "s:\test\hwapp\file0" +"\private\10000005\import\InstTest\option1.txt"; +#endif +#if defined (option2) + data = "s:\test\hwapp\file0" +"\private\10000005\import\InstTest\option2.txt"; +#endif + +#if (MANUFACTURER) = (1) + file = "s:\test\hwapp\file1" "\sys\bin\HelloWorld.exe" +#elseif (MANUFACTURER) = (4) + file = "s:\test\hwapp\file1" "\sys\bin\HelloWorld1.exe" +#else + file = "s:\test\hwapp\file1" "\sys\bin\HelloWorld2.exe" +#endif
  • +

Note: Using the .iby file with +the condition-block statements for the creation of ROM and ROFS images +needs appropriate macro definitions. For the preceding examples, the +macros are defined as follows:

#define option1 //selecting option1 block +#define MANUFACTURER 4 //selecting second conditional block
+
\ No newline at end of file