]> git.proxmox.com Git - mirror_edk2.git/blob - BaseTools/UserManuals/GenSec_Utility_Man_Page.rtf
Sync EDKII BaseTools to BaseTools project r1971
[mirror_edk2.git] / BaseTools / UserManuals / GenSec_Utility_Man_Page.rtf
1 {\rtf1\ansi\ansicpg1252\deff0\deflang1033\deflangfe2052\deftab360{\fonttbl{\f0\fswiss\fprq2\fcharset0 Verdana;}{\f1\froman\fprq2\fcharset0 Times New Roman;}{\f2\fswiss\fprq2\fcharset0 Helvetica;}}
2 {\colortbl ;\red8\green96\blue168;\red0\green0\blue0;}
3 {\stylesheet{ Normal;}{\s1 heading 1;}{\s2 heading 2;}}
4 {\*\generator Msftedit 5.41.15.1515;}\viewkind4\uc1\pard\keep\keepn\nowidctlpar\s2\li-1440\sb400\sa60\sl-340\slmult0\cf1\b\f0\fs28 Name\par
5 \pard\nowidctlpar\sb200\cf2\b0\fs18 GenSec.exe \endash build one PI section file.\par
6 \pard\keep\keepn\nowidctlpar\s2\li-1440\sb400\sa60\sl-340\slmult0\tx1440\cf1\b\fs28 Synopsis\par
7 \pard\nowidctlpar\sb200\cf2\fs18 GenSec.exe [options] [Filename]\'85\b0\f1\par
8 \pard\keep\keepn\nowidctlpar\s2\li-1440\sb400\sa60\sl-340\slmult0\cf1\b\f0\fs28 Description\par
9 \pard\nowidctlpar\sb200\cf2\b0\fs18 GenSec is used to generate valid EFI_SECTION type files, which conforms to the firmware file section defined in PI specification, from PE32/PE32+/COFF image files or other binary files. This utility will produce a file that is the section header concatenated with the contents of the input file. It does not validate that the contents of the input file match the section added.\par
10 PI SECTION Types referred to the Volume 3 of the PI 1.0 specification.\par
11 \trowd\trgaph108\trleft36\trbrdrl\brdrs\brdrw15 \trbrdrt\brdrs\brdrw15 \trbrdrr\brdrs\brdrw15 \trbrdrb\brdrs\brdrw15 \trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
12 \clbrdrl\brdrw15\brdrs\clbrdrt\brdrw15\brdrs\clbrdrr\brdrw15\brdrs\clbrdrb\brdrw15\brdrs \cellx1428\clbrdrl\brdrw15\brdrs\clbrdrt\brdrw15\brdrs\clbrdrr\brdrw15\brdrs\clbrdrb\brdrw15\brdrs \cellx5800\pard\intbl\nowidctlpar\sa60\sl240\slmult0\cf0\f2 Mnemonic\cell PI Section Type\cell\row\trowd\trgaph108\trleft36\trbrdrl\brdrs\brdrw15 \trbrdrt\brdrs\brdrw15 \trbrdrr\brdrs\brdrw15 \trbrdrb\brdrs\brdrw15 \trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
13 \clbrdrl\brdrw15\brdrs\clbrdrt\brdrw15\brdrs\clbrdrr\brdrw15\brdrs\clbrdrb\brdrw15\brdrs \cellx1428\clbrdrl\brdrw15\brdrs\clbrdrt\brdrw15\brdrs\clbrdrr\brdrw15\brdrs\clbrdrb\brdrw15\brdrs \cellx5800\pard\intbl\nowidctlpar\sa60\sl240\slmult0 COMPRESS\cell EFI_SECTION_COMPRESSION\cell\row\trowd\trgaph108\trleft36\trbrdrl\brdrs\brdrw15 \trbrdrt\brdrs\brdrw15 \trbrdrr\brdrs\brdrw15 \trbrdrb\brdrs\brdrw15 \trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
14 \clbrdrl\brdrw15\brdrs\clbrdrt\brdrw15\brdrs\clbrdrr\brdrw15\brdrs\clbrdrb\brdrw15\brdrs \cellx1428\clbrdrl\brdrw15\brdrs\clbrdrt\brdrw15\brdrs\clbrdrr\brdrw15\brdrs\clbrdrb\brdrw15\brdrs \cellx5800\pard\intbl\nowidctlpar\sa60\sl240\slmult0 GUID\cell EFI_SECTION_GUID_DEFINED\cell\row\trowd\trgaph108\trleft36\trbrdrl\brdrs\brdrw15 \trbrdrt\brdrs\brdrw15 \trbrdrr\brdrs\brdrw15 \trbrdrb\brdrs\brdrw15 \trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
15 \clbrdrl\brdrw15\brdrs\clbrdrt\brdrw15\brdrs\clbrdrr\brdrw15\brdrs\clbrdrb\brdrw15\brdrs \cellx1428\clbrdrl\brdrw15\brdrs\clbrdrt\brdrw15\brdrs\clbrdrr\brdrw15\brdrs\clbrdrb\brdrw15\brdrs \cellx5800\pard\intbl\nowidctlpar\sa60\sl240\slmult0 PE32\cell EFI_SECTION_PE32\cell\row\trowd\trgaph108\trleft36\trbrdrl\brdrs\brdrw15 \trbrdrt\brdrs\brdrw15 \trbrdrr\brdrs\brdrw15 \trbrdrb\brdrs\brdrw15 \trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
16 \clbrdrl\brdrw15\brdrs\clbrdrt\brdrw15\brdrs\clbrdrr\brdrw15\brdrs\clbrdrb\brdrw15\brdrs \cellx1428\clbrdrl\brdrw15\brdrs\clbrdrt\brdrw15\brdrs\clbrdrr\brdrw15\brdrs\clbrdrb\brdrw15\brdrs \cellx5800\pard\intbl\nowidctlpar\sa60\sl240\slmult0 PIC\cell EFI_SECTION_PIC\cell\row\trowd\trgaph108\trleft36\trbrdrl\brdrs\brdrw15 \trbrdrt\brdrs\brdrw15 \trbrdrr\brdrs\brdrw15 \trbrdrb\brdrs\brdrw15 \trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
17 \clbrdrl\brdrw15\brdrs\clbrdrt\brdrw15\brdrs\clbrdrr\brdrw15\brdrs\clbrdrb\brdrw15\brdrs \cellx1428\clbrdrl\brdrw15\brdrs\clbrdrt\brdrw15\brdrs\clbrdrr\brdrw15\brdrs\clbrdrb\brdrw15\brdrs \cellx5800\pard\intbl\nowidctlpar\sa60\sl240\slmult0 TE\cell EFI_SECTION_TE\cell\row\trowd\trgaph108\trleft36\trbrdrl\brdrs\brdrw15 \trbrdrt\brdrs\brdrw15 \trbrdrr\brdrs\brdrw15 \trbrdrb\brdrs\brdrw15 \trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
18 \clbrdrl\brdrw15\brdrs\clbrdrt\brdrw15\brdrs\clbrdrr\brdrw15\brdrs\clbrdrb\brdrw15\brdrs \cellx1428\clbrdrl\brdrw15\brdrs\clbrdrt\brdrw15\brdrs\clbrdrr\brdrw15\brdrs\clbrdrb\brdrw15\brdrs \cellx5800\pard\intbl\nowidctlpar\sa60\sl240\slmult0 DXE_DEPEX\cell EFI_SECTION_DXE_DEPEX\cell\row\trowd\trgaph108\trleft36\trbrdrl\brdrs\brdrw15 \trbrdrt\brdrs\brdrw15 \trbrdrr\brdrs\brdrw15 \trbrdrb\brdrs\brdrw15 \trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
19 \clbrdrl\brdrw15\brdrs\clbrdrt\brdrw15\brdrs\clbrdrr\brdrw15\brdrs\clbrdrb\brdrw15\brdrs \cellx1428\clbrdrl\brdrw15\brdrs\clbrdrt\brdrw15\brdrs\clbrdrr\brdrw15\brdrs\clbrdrb\brdrw15\brdrs \cellx5800\pard\intbl\nowidctlpar\sa60\sl240\slmult0 VERSION\cell EFI_SECTION_VERSION\cell\row\trowd\trgaph108\trleft36\trbrdrl\brdrs\brdrw15 \trbrdrt\brdrs\brdrw15 \trbrdrr\brdrs\brdrw15 \trbrdrb\brdrs\brdrw15 \trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
20 \clbrdrl\brdrw15\brdrs\clbrdrt\brdrw15\brdrs\clbrdrr\brdrw15\brdrs\clbrdrb\brdrw15\brdrs \cellx1428\clbrdrl\brdrw15\brdrs\clbrdrt\brdrw15\brdrs\clbrdrr\brdrw15\brdrs\clbrdrb\brdrw15\brdrs \cellx5800\pard\intbl\nowidctlpar\sa60\sl240\slmult0 UI\cell EFI_SECTION_USER_INTERFACE\cell\row\trowd\trgaph108\trleft36\trbrdrl\brdrs\brdrw15 \trbrdrt\brdrs\brdrw15 \trbrdrr\brdrs\brdrw15 \trbrdrb\brdrs\brdrw15 \trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
21 \clbrdrl\brdrw15\brdrs\clbrdrt\brdrw15\brdrs\clbrdrr\brdrw15\brdrs\clbrdrb\brdrw15\brdrs \cellx1428\clbrdrl\brdrw15\brdrs\clbrdrt\brdrw15\brdrs\clbrdrr\brdrw15\brdrs\clbrdrb\brdrw15\brdrs \cellx5800\pard\intbl\nowidctlpar\sa60\sl240\slmult0 COMPAT16\cell EFI_SECTION_COMPATIBILITY16\cell\row\trowd\trgaph108\trleft36\trbrdrl\brdrs\brdrw15 \trbrdrt\brdrs\brdrw15 \trbrdrr\brdrs\brdrw15 \trbrdrb\brdrs\brdrw15 \trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
22 \clbrdrl\brdrw15\brdrs\clbrdrt\brdrw15\brdrs\clbrdrr\brdrw15\brdrs\clbrdrb\brdrw15\brdrs \cellx1428\clbrdrl\brdrw15\brdrs\clbrdrt\brdrw15\brdrs\clbrdrr\brdrw15\brdrs\clbrdrb\brdrw15\brdrs \cellx5800\pard\intbl\nowidctlpar\sa60\sl240\slmult0 FVIMAGE\cell EFI_SECTION_FIRMWARE_VOLUME_IMAGE\cell\row\trowd\trgaph108\trleft36\trbrdrl\brdrs\brdrw15 \trbrdrt\brdrs\brdrw15 \trbrdrr\brdrs\brdrw15 \trbrdrb\brdrs\brdrw15 \trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
23 \clbrdrl\brdrw15\brdrs\clbrdrt\brdrw15\brdrs\clbrdrr\brdrw15\brdrs\clbrdrb\brdrw15\brdrs \cellx1428\clbrdrl\brdrw15\brdrs\clbrdrt\brdrw15\brdrs\clbrdrr\brdrw15\brdrs\clbrdrb\brdrw15\brdrs \cellx5800\pard\intbl\nowidctlpar\sa60\sl240\slmult0 SUBGUID\cell EFI_SECTION_FREEFORM_SUBTYPE_GUID\cell\row\trowd\trgaph108\trleft36\trbrdrl\brdrs\brdrw15 \trbrdrt\brdrs\brdrw15 \trbrdrr\brdrs\brdrw15 \trbrdrb\brdrs\brdrw15 \trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
24 \clbrdrl\brdrw15\brdrs\clbrdrt\brdrw15\brdrs\clbrdrr\brdrw15\brdrs\clbrdrb\brdrw15\brdrs \cellx1428\clbrdrl\brdrw15\brdrs\clbrdrt\brdrw15\brdrs\clbrdrr\brdrw15\brdrs\clbrdrb\brdrw15\brdrs \cellx5800\pard\intbl\nowidctlpar\sa60\sl240\slmult0 RAW\cell EFI_SECTION_RAW\cell\row\trowd\trgaph108\trleft36\trbrdrl\brdrs\brdrw15 \trbrdrt\brdrs\brdrw15 \trbrdrr\brdrs\brdrw15 \trbrdrb\brdrs\brdrw15 \trpaddl108\trpaddr108\trpaddfl3\trpaddfr3
25 \clbrdrl\brdrw15\brdrs\clbrdrt\brdrw15\brdrs\clbrdrr\brdrw15\brdrs\clbrdrb\brdrw15\brdrs \cellx1428\clbrdrl\brdrw15\brdrs\clbrdrt\brdrw15\brdrs\clbrdrr\brdrw15\brdrs\clbrdrb\brdrw15\brdrs \cellx5800\pard\intbl\nowidctlpar\sa60\sl240\slmult0 PEI_DEPEX\cell EFI_SECTION_PEI_DEPEX\cell\row\pard\keep\keepn\nowidctlpar\s2\li-1440\sb400\sa60\sl-340\slmult0\cf1\b\f0\fs28 Options\par
26 \pard\nowidctlpar\sb200\cf2\fs18 Filename1 [FilenameN]\par
27 \pard\nowidctlpar\li360\sb200\b0 Input PE/PE32+ image, or TE image, or other binary files.\par
28 \pard\nowidctlpar\sb200\b -o FileName, --outputfile FileName\par
29 \pard\nowidctlpar\li360\sb200\b0 The PI section file is created. This option is required.\par
30 \pard\nowidctlpar\sb200\b -s SectionType, --sectiontype SectionType\par
31 \pard\nowidctlpar\li360\sb200\b0 SectionType defined in PI spec is one type of EFI_SECTION_COMPRESSION, EFI_SECTION_GUID_DEFINED, EFI_SECTION_PE32, EFI_SECTION_PIC, EFI_SECTION_TE, EFI_SECTION_DXE_DEPEX, EFI_SECTION_COMPATIBILITY16, EFI_SECTION_USER_INTERFACE, EFI_SECTION_VERSION, EFI_SECTION_FIRMWARE_VOLUME_IMAGE, EFI_SECTION_RAW, EFI_SECTION_FREEFORM_SUBTYPE_GUID, EFI_SECTION_PEI_DEPEX. If sectiontype is not given, EFI_SECTION_ALL is default type to contain the input all sections to one section file.\par
32 \pard\nowidctlpar\sb200\b -c [Type], --compress [Type]\par
33 \pard\nowidctlpar\li360\sb200\b0 Compress method type can be PI_NONE or PI_STD. If Type is not given, PI_STD is default type.\par
34 \pard\nowidctlpar\sb200\b -g GuidValue, --vendor GuidValue\par
35 \pard\nowidctlpar\li360\sb200\b0 GuidValue is one specific vendor guid value for guided section. Its format is 00000000-0000-0000-0000-000000000000. If it is not given, the default CRC32 guided is used.\par
36 \pard\nowidctlpar\sb200\b -l GuidHeaderLength, --HeaderLength GuidHeaderLength\par
37 \pard\nowidctlpar\li360\sb200\b0 Specify the size of header of GUID-ed data.\par
38 \pard\nowidctlpar\sb200\b -r GuidAttr, --attributes GuidAttr\par
39 \pard\nowidctlpar\li360\sb200\b0 GuidAttr is guided section attributes, which may be PROCESSING_REQUIRED or AUTH_STATUS_VALID. If it is not given, PROCESSING_REQUIRED is the default attribute.\par
40 \pard\nowidctlpar\sb200\b -n String, --name String\par
41 \pard\nowidctlpar\li360\sb200\b0 String is a NULL terminated string used in Ui section.\par
42 \pard\nowidctlpar\sb200\b -j Number, --buildnumber Number\par
43 \pard\nowidctlpar\li360\sb200\b0 Number is an integer value between 0000 and 9999 used in Ver section.\par
44 \pard\nowidctlpar\sb200\b -v, --verbose\par
45 \pard\nowidctlpar\fi360\sb200\b0 Turn on verbose output with informational messages.\par
46 \pard\nowidctlpar\sb200\b -d, --debug level\par
47 \b0\f1\tab\f0 Enable debug message with specified level.\par
48 \b --version\par
49 \pard\nowidctlpar\fi360\sb200\b0 Show program's version number and exit\par
50 \pard\nowidctlpar\sb200\b -h, --help\par
51 \pard\nowidctlpar\fi360\sb200\b0 Show this help message and exit\par
52 \pard\keep\keepn\nowidctlpar\s2\li-1440\sb400\sa60\sl-340\slmult0\cf1\b\fs28 Example\par
53 \pard\nowidctlpar\sb200\cf2\b0\fs18 1. Generate PE32 section file with the input PE image, PE32 section type and the output file name.\par
54 \b GenSec -s EFI_SECTION_PE32 PeiMain.efi -o PeiMain.pe32 \par
55 \b0 2. Generate compression section file with the input section files, compression method and the output file name.\par
56 \b GenSec -s EFI_SECTION_COMPRESSION \endash c PI_STD PeiMain.pe32 PeiMain.ui PeiMain.ver -o PeiMain.com\par
57 \b0 3. Generate the default CRC32 guided section file with the input section files, and the output file name.\par
58 \b GenSec \endash s EFI_SECTION_GUID_DEFINED PeiMain.pe32 PeiMain.ui PeiMain.ver \endash o PeiMain.guided\par
59 \b0 4. Generate the vendor specific guided section file with the input vendor raw files, the vendor guid, and the output file name.\par
60 \b GenSec \endash s EFI_SECTION_GUID_DEFINED \endash g A31280AD-481E-41B6-95E8-127F-4C984779 \endash r PROCESSING_REQUIRED \endash r AUTH_STATUS_VALID PeiMain.raw \endash o PeiMain.guided\par
61 \b0 5. Generate UI section with the input string and the output file name.\par
62 \b Gensec -s EFI_SECTION_USER_INTERFACE \endash n \ldblquote PeiMain\rdblquote \endash o PeiMain.ui\par
63 \b0 6. Generate VER section with the input build number and the output file name.\par
64 \b GenSec -s EFI_SECTION_VERSION \endash j 20 \endash o PeiMain.ver\par
65 \pard\keep\keepn\nowidctlpar\s2\li-1440\sb400\sa60\sl-340\slmult0\cf1\fs28 Bugs\par
66 \pard\nowidctlpar\sb200\cf2\b0\fs18 No known bugs.\par
67 Report bugs to edk2-buildtools-devel@lists.sourceforge.net\f1\par
68 \pard\keep\keepn\nowidctlpar\s2\li-1440\sb400\sa60\sl-340\slmult0\cf1\b\f0\fs28 Files\par
69 \pard\nowidctlpar\sb200\cf2\b0\fs18 None\par
70 \pard\keep\keepn\nowidctlpar\s2\li-1440\sb400\sa60\sl-340\slmult0\cf1\b\fs28 See also\par
71 \pard\nowidctlpar\sb200\cf2\b0\fs18 None\par
72 \pard\keep\keepn\nowidctlpar\s2\li-1440\sb400\sa60\sl-340\slmult0\cf1\b\fs28 License\par
73 \pard\nowidctlpar\cf2\b0\fs18 Copyright (c) 2007 - 2009, Intel Corporation. All rights reserved.\par
74 This program and the accompanying materials are licensed and made available \par
75 under the terms and conditions of the BSD License which accompanies this \par
76 distribution. The full text of the license may be found at\par
77 http://opensource.org/licenses/bsd-license.php\par
78 \par
79 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\par
80 \pard\nowidctlpar\sb200 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\par
81 }
82