From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=pass header.i=@apple.com header.s=20180706 header.b=kFjbAiiq; spf=pass (domain: apple.com, ip: 17.171.2.60, mailfrom: afish@apple.com) Received: from ma1-aaemail-dr-lapp01.apple.com (ma1-aaemail-dr-lapp01.apple.com [17.171.2.60]) by groups.io with SMTP; Tue, 06 Aug 2019 09:53:40 -0700 Received: from pps.filterd (ma1-aaemail-dr-lapp01.apple.com [127.0.0.1]) by ma1-aaemail-dr-lapp01.apple.com (8.16.0.27/8.16.0.27) with SMTP id x76GleNL060119; Tue, 6 Aug 2019 09:53:37 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=apple.com; h=sender : from : content-type : mime-version : subject : date : references : to : in-reply-to : message-id; s=20180706; bh=MrYliK0vo1+bRjaiJotVL+rFEQnYNtuURcoa8Uvg538=; b=kFjbAiiqIQWayHCqxQYSU592uL4B7fowx3XUhlLgYLnq7kq6dcCPOpGdFceQhlrtw6/9 yom5gBsGG2tLX9WOR1w1r9I0oow1uU1Em+DMNRK/azRHrGKpbo4inle50yetECCbxwfk AW/RdBfwiMXZr61nhiab8ZdhVMMA9g1ir+Qx8u0Z+Jp6egjgYNPv1owuzKvFXqXLzQqv pE2kVhOTUpOZkfDqtKQ9vo3pFXsXn5MXloca7280hA5aGbWVuvGYgjcYQ54eYl9FDNe7 IaZBSBkcN5PmsscOodMFwtC68IyZM9tjfRwYpjePAhW1yPO7S4gPcaVrKS0rXEKHK3az pA== Received: from ma1-mtap-s02.corp.apple.com (ma1-mtap-s02.corp.apple.com [17.40.76.6]) by ma1-aaemail-dr-lapp01.apple.com with ESMTP id 2u58x3ux3e-57 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO); Tue, 06 Aug 2019 09:53:37 -0700 Received: from nwk-mmpp-sz12.apple.com (nwk-mmpp-sz12.apple.com [17.128.115.204]) by ma1-mtap-s02.corp.apple.com (Oracle Communications Messaging Server 8.0.2.4.20190507 64bit (built May 7 2019)) with ESMTPS id <0PVT001TLQX0LIB0@ma1-mtap-s02.corp.apple.com>; Tue, 06 Aug 2019 09:53:34 -0700 (PDT) Received: from process_milters-daemon.nwk-mmpp-sz12.apple.com by nwk-mmpp-sz12.apple.com (Oracle Communications Messaging Server 8.0.2.4.20190507 64bit (built May 7 2019)) id <0PVT00100QWH3300@nwk-mmpp-sz12.apple.com>; Tue, 06 Aug 2019 09:53:31 -0700 (PDT) X-Va-A: X-Va-T-CD: 888e1ce9623a2b846df4c0ef33ca143f X-Va-E-CD: 67eeba38b7c9acf6272c6c4d24d4b0f3 X-Va-R-CD: 983e8077ad3eb981ba39fc4ca39906b5 X-Va-CD: 0 X-Va-ID: 84937a8a-b0be-40de-bc88-c0ba80e4d229 X-V-A: X-V-T-CD: 888e1ce9623a2b846df4c0ef33ca143f X-V-E-CD: 67eeba38b7c9acf6272c6c4d24d4b0f3 X-V-R-CD: 983e8077ad3eb981ba39fc4ca39906b5 X-V-CD: 0 X-V-ID: bdbd439c-a918-457f-a0f1-e3ad26d5ca09 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:,, definitions=2019-08-06_09:,, signatures=0 Received: from [17.235.24.55] (unknown [17.235.24.55]) by nwk-mmpp-sz12.apple.com (Oracle Communications Messaging Server 8.0.2.4.20190507 64bit (built May 7 2019)) with ESMTPSA id <0PVT00EQIQUV8K10@nwk-mmpp-sz12.apple.com>; Tue, 06 Aug 2019 09:52:08 -0700 (PDT) Sender: afish@apple.com From: "Andrew Fish" MIME-version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\)) Subject: Re: [edk2-devel] Build New Package with EDKII OVMF Date: Tue, 06 Aug 2019 09:51:52 -0700 References: <07E34EFF-E386-4E1A-AB0B-5B0D7EA66D4C@cisco.com> <75CED343-73C4-4C32-AAFE-4A31041A5849@cisco.com> To: devel@edk2.groups.io, tpradeep@cisco.com In-reply-to: <75CED343-73C4-4C32-AAFE-4A31041A5849@cisco.com> Message-id: <281DBC2C-F1FA-412D-8619-680BDAC0994B@apple.com> X-Mailer: Apple Mail (2.3445.104.11) X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:,, definitions=2019-08-06_09:,, signatures=0 Content-type: multipart/alternative; boundary="Apple-Mail=_77F0E1FE-A966-491C-A804-A02DFA7859D9" --Apple-Mail=_77F0E1FE-A966-491C-A804-A02DFA7859D9 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On Aug 6, 2019, at 3:15 AM, via Groups.Io wrote: >=20 > Hello All, >=20 > I am new to EDKII (UEFI) development. Cloned UDK2018 branch and modif= ied =EF=BB=BFConf/target.txt to build OVMF package. OVMF.fd boots up fine o= n QEMU >=20 Shakthi, Conf/target.txt is just the default arguments for the build command. So `b= uild -p SampleModulePkg/SampleModulePkg.dsc` should work for you?=20 You can generally ignore the Conf/target.txt if you pass enough arguments = to build. You did not mention what OS, or what tools you are using so I can= 't give you the args you need to use.=20 For me on a Mac controlling what builds from the command line looks like: $ build -p MdePkg/MdePkg.dsc -a X64 -t XCODE5 -b DEBUG You would need to replace the -t with the toolchain you are using, and tha= t should match the TOOL_CHAIN_TAG you edited in the Conf/target.txt file.= =20 /Volumes/Case/UDK2018(UDK2018)>. edksetup.sh Loading previous configuration from /Volumes/Case/UDK2018/Conf/BuildEnv.sh WORKSPACE: /Volumes/Case/UDK2018 EDK_TOOLS_PATH: /Volumes/Case/UDK2018/BaseTools CONF_PATH: /Volumes/Case/UDK2018/Conf /Volumes/Case/UDK2018(UDK2018)>build -h Usage: build.exe [options] [all|fds|genc|genmake|clean|cleanall|cleanlib|m= odules|libraries|run] Copyright (c) 2007 - 2017, Intel Corporation All rights reserved. Options: --version show program's version number and exit -h, --help show this help message and exit -a TARGETARCH, --arch=3DTARGETARCH ARCHS is one of list: IA32, X64, IPF, ARM, AARCH64= or EBC, which overrides target.txt's TARGET_ARCH definition. To specify more archs, please repeat t= his option. -p PLATFORMFILE, --platform=3DPLATFORMFILE Build the platform specified by the DSC file name argument, overriding target.txt's ACTIVE_PLATFORM definition. -m MODULEFILE, --module=3DMODULEFILE Build the module specified by the INF file name argument. -b BUILDTARGET, --buildtarget=3DBUILDTARGET Using the TARGET to build the platform, overriding target.txt's TARGET definition. -t TOOLCHAIN, --tagname=3DTOOLCHAIN Using the Tool Chain Tagname to build the platform= , overriding target.txt's TOOL_CHAIN_TAG definition. -x SKUID, --sku-id=3DSKUID Using this name of SKU ID to build the platform, overriding SKUID_IDENTIFIER in DSC file. -n THREADNUMBER Build the platform using multi-threaded compiler. = The value overrides target.txt's MAX_CONCURRENT_THREAD_NUMBER. When value is set to= 0, tool automatically detect number of processor thre= ads, set value to 1 means disable multi-thread build, a= nd set value to more than 1 means user specify the threads number to build. -f FDFFILE, --fdf=3DFDFFILE The name of the FDF file to use, which overrides t= he setting in the DSC file. -r ROMIMAGE, --rom-image=3DROMIMAGE The name of FD to be generated. The name must be f= rom [FD] section in FDF file. -i FVIMAGE, --fv-image=3DFVIMAGE The name of FV to be generated. The name must be f= rom [FV] section in FDF file. -C CAPNAME, --capsule-image=3DCAPNAME The name of Capsule to be generated. The name must= be from [Capsule] section in FDF file. -u, --skip-autogen Skip AutoGen step. -e, --re-parse Re-parse all meta-data files. -c, --case-insensitive Don't check case of file name. -w, --warning-as-error Treat warning in tools as error. -j LOGFILE, --log=3DLOGFILE Put log in specified file as well as on console. -s, --silent Make use of silent mode of (n)make. -q, --quiet Disable all messages except FATAL ERRORS. -v, --verbose Turn on verbose output with informational messages printed, including library instances selected, fin= al dependency expression, and warning messages, etc. -d DEBUG, --debug=3DDEBUG Enable debug messages at specified level. -D MACROS, --define=3DMACROS Macro: "Name [=3D Value]". -y REPORTFILE, --report-file=3DREPORTFILE Create/overwrite the report to the specified filen= ame. -Y REPORTTYPE, --report-type=3DREPORTTYPE Flags that control the type of build report to generate. Must be one of: [PCD, LIBRARY, FLASH, DEPEX, BUILD_FLAGS, FIXED_ADDRESS, HASH, EXECUTION_ORDER]. To specify more than one flag, repeat this option on the command line and the def= ault flag set is [PCD, LIBRARY, FLASH, DEPEX, HASH, BUILD_FLAGS, FIXED_ADDRESS] -F FLAG, --flag=3DFLAG Specify the specific option to parse EDK UNI fil= e. Must be one of: [-c, -s]. -c is for EDK framework = UNI file, and -s is for EDK UEFI UNI file. This option= can also be specified by setting *_*_*_BUILD_FLAGS in [BuildOptions] section of platform DSC. If they ar= e both specified, this value will override the setti= ng in [BuildOptions] section of platform DSC. -N, --no-cache Disable build cache mechanism --conf=3DCONFDIRECTORY Specify the customized Conf directory. --check-usage Check usage content of entries listed in INF file. --ignore-sources Focus to a binary build and ignore all source file= s --pcd=3DOPTIONPCD Set PCD value by command line. Format: "PcdName= =3DValue" -l COMMANDLENGTH, --cmd-len=3DCOMMANDLENGTH Specify the maximum line length of build command. Default is 4096. --hash Enable hash-based caching during build process. --binary-destination=3DBINCACHEDEST Generate a cache of binary files in the specified directory. --binary-source=3DBINCACHESOURCE Consume a cache of binary files from the specified directory. --genfds-multi-thread Enable GenFds multi thread to generate ffs file. Thanks, Andrew Fish > Now I am trying to create a new package and build. I am following EDK= II Module Writer's Guide v 7.0 >=20 > I have created a SampleModulePkg with an SampleHelloWorld application= in it. Made sure SampleModulePkg.dsc, SampleModulePkg.dec and Application/= HelloWorld/HelloWorld.inf has correct content.=20 >=20 > When I run build command, I don=E2=80=99t see SampleModulePkg getting= built >=20 > Am I missing something? >=20 > Regards, > Shakthi >=20 >=20 >=20 >=20 >=20 >=20 >=20 --Apple-Mail=_77F0E1FE-A966-491C-A804-A02DFA7859D9 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8

On Aug 6, 20= 19, at 3:15 AM, via Groups.Io <tpradeep=3Dcisco.com@groups.io> wrote:

 =   Hello All,

   I am= new to EDKII (UEFI) development. Cloned UDK2018 branch and modified =EF=BB= = =BFConf/target.txt to build OVMF package. OVMF.fd boots up fine on QEMU

Shakthi,

Conf/target.txt is jus= t the default arguments for the build command. So `build -p SampleModulePkg= /SampleModulePkg.dsc` should work for you? 

<= /div>
You can generally ignore the Conf/target.txt if you pass enough a= rguments to build. You did not mention what OS, or what tools you are using= so I can't give you the args you need to use. 

For me on a Mac controlling what builds from the command line= looks like:
$ build -p MdePkg/MdePkg.dsc  -a X64 -t XCODE5 = -b DEBUG

You would need to replace the = -t with the toolchain you are using, and that should match the TOOL_CHAIN_T= AG you edited in the Conf/target.txt file. 

<= /div>
/Volumes/Case/UDK2018(UDK2018)>= . edksetup.sh
Loading previous configuration from /Volumes= /Case/UDK2018/Conf/BuildEnv.sh
WORKSPACE: /Volumes/Case/UDK2018
<= div style=3D"margin: 0px; font-stretch: normal; font-size: 11px; line-heigh= t: normal; font-family: Menlo; color: rgb(0, 0, 0);" class=3D"">EDK_TOOLS_PATH= : /Volumes/Case/UDK2018/BaseTools
CONF_PATH: /Volumes/Case/UDK2018/Conf
/Vo= lumes/Case/UDK2018(UDK2018)>build -h
Usage: build.exe [options] [all|fds|genc|genmake|clean|= cleanall|cleanlib|modules|libraries|run]

C= opyright (c) 2007 - 2017, Intel Corporation  All rights reserved.

Options:
  --version       &nbs= p;     show program's version number and exit
  -h, --help&nbs= p;           show this help message and exit
  = -a TARGETARCH, --arch=3DTARGETARCH
            =             ARCHS is one of list: IA32, X64, = IPF, ARM, AARCH64 or
                =         EBC, which overrides target.txt's TARGET_ARCH
&nb= sp;                     &= nbsp; definition. To specify more archs, please repeat this
    =                     optio= n.
  -p PLATFORMFILE, --platform=3DPLATFORMFILE
      &n= bsp;                 Build the plat= form specified by the DSC file name
           =             argument, overriding target.txt'= s ACTIVE_PLATFORM
                &nb= sp;       definition.
  -m MODULEFILE, --module=3DMODULEF= ILE
                    &n= bsp;   Build the module specified by the INF file name
    =                     argum= ent.
  -b BUILDTARGET, --buildtarget=3DBUILDTARGET
      &n= bsp;                 Using the TARG= ET to build the platform, overriding
           = ;             target.txt's TARGET definition.=
&= nbsp; -t TOOLCHAIN, --tagname=3DTOOLCHAIN
          =               Using the Tool Chain Tagna= me to build the platform,
              &n= bsp;         overriding target.txt's TOOL_CHAIN_TAG def= inition.
  -x SKUID, --sku-id=3DSKUID
          &= nbsp;             Using this name of SKU ID t= o build the platform,
               =         overriding SKUID_IDENTIFIER in DSC file.
  = -n THREADNUMBER       Build the platform using multi-threade= d compiler. The
                 = ;       value overrides target.txt's
      &n= bsp;                 MAX_CONCURRENT= _THREAD_NUMBER. When value is set to 0,
          &n= bsp;             tool automatically detect nu= mber of processor threads,
              &= nbsp;         set value to 1 means disable multi-thread= build, and
                  &n= bsp;     set value to more than 1 means user specify the
  &nb= sp;                     t= hreads number to build.
  -f FDFFILE, --fdf=3DFDFFILE
     =                   The name of= the FDF file to use, which overrides the
          =               setting in the DSC file.
&nb= sp; -r ROMIMAGE, --rom-image=3DROMIMAGE
          &n= bsp;             The name of FD to be generat= ed. The name must be from
              &n= bsp;         [FD] section in FDF file.
  -i FVIMAGE,= --fv-image=3DFVIMAGE
               =         The name of FV to be generated. The name must = be from
                   = ;     [FV] section in FDF file.
  -C CAPNAME, --capsule-image= =3DCAPNAME
                  &n= bsp;     The name of Capsule to be generated. The name must be
= &nbs= p;                     &n= bsp; from [Capsule] section in FDF file.
  -u, --skip-autogen  &nbs= p; Skip AutoGen step.
  -e, --re-parse        Re-par= se all meta-data files.
  -c, --case-insensitive
      &n= bsp;                 Don't check ca= se of file name.
  -w, --warning-as-error
        &nbs= p;               Treat warning in tools = as error.
  -j LOGFILE, --log=3DLOGFILE
         =               Put log in specified file= as well as on console.
  -s, --silent         = Make use of silent mode of (n)make.
  -q, --quiet       =     Disable all messages except FATAL ERRORS.
  -v, --verbose =         Turn on verbose output with informational messa= ges
                    &n= bsp;   printed, including library instances selected, final
   = ;                     dep= endency expression, and warning messages, etc.
  -d DEBUG, --debug=3DDEB= UG
                    &n= bsp;   Enable debug messages at specified level.
  -D MACROS, --def= ine=3DMACROS
                  &= nbsp;     Macro: "Name [=3D Value]".
  -y REPORTFILE, --report= -file=3DREPORTFILE
                &n= bsp;       Create/overwrite the report to the specified file= name.
  -Y REPORTTYPE, --report-type=3DREPORTTYPE
      =                   Flags that c= ontrol the type of build report to
            =             generate.  Must be one of: [= PCD, LIBRARY, FLASH,
                =         DEPEX, BUILD_FLAGS, FIXED_ADDRESS, HASH,=
  &= nbsp;                    = EXECUTION_ORDER].  To specify more than one flag,
      =                   repeat this = option on the command line and the default
         =               flag set is [PCD, LIBRARY= , FLASH, DEPEX, HASH,
               =         BUILD_FLAGS, FIXED_ADDRESS]
  -F FLAG, --fl= ag=3DFLAG  Specify the specific option to parse EDK UNI file.
  &nb= sp;                     M= ust be one of: [-c, -s]. -c is for EDK framework UNI
      &n= bsp;                 file, and -s i= s for EDK UEFI UNI file. This option can
          &= nbsp;             also be specified by settin= g *_*_*_BUILD_FLAGS in
               = ;         [BuildOptions] section of platform DSC. If th= ey are
                   = ;     both specified, this value will override the setting=
  &= nbsp;                    = in [BuildOptions] section of platform DSC.
  -N, --no-cache   = ;     Disable build cache mechanism
  --conf=3DCONFDIRECTORY&n= bsp; Specify the customized Conf directory.
  --check-usage    = ;     Check usage content of entries listed in INF file.
  --i= gnore-sources      Focus to a binary build and ignore all so= urce files
  --pcd=3DOPTIONPCD       Set PCD value by com= mand line. Format: "PcdName=3DValue"
  -l COMMANDLENGTH, --cmd-len=3DCOM= MANDLENGTH
                  &nb= sp;     Specify the maximum line length of build command.<= /div>
  &n= bsp;                     = Default is 4096.
  --hash             = ;   Enable hash-based caching during build process.
  --binary-dest= ination=3DBINCACHEDEST
               = ;         Generate a cache of binary files in the speci= fied
                    &n= bsp;   directory.
  --binary-source=3DBINCACHESOURCE
    =                     Consu= me a cache of binary files from the specified
        &nb= sp;               directory.
  --genf= ds-multi-thread
                 = ;       Enable GenFds multi thread to generate ffs file.


Thanks,
<= div>
Andrew Fish

   Now I am trying to create a new package and build= . I am following EDK II Module Writer's Guide v 7.0

   I have created a SampleModulePkg with an SampleHe= lloWorld application in it. Made sure SampleModulePkg.dsc, SampleModulePkg.= dec and Application/HelloWorld/HelloWorld.inf has correct content.

   When I run build command, I don=E2= = =80=99t see SampleModulePkg getting built

&n= bsp;  Am I missing something?

 = ;  Regards,
   Shakthi








--Apple-Mail=_77F0E1FE-A966-491C-A804-A02DFA7859D9--