From: "Andrew Fish" <afish@apple.com>
To: devel@edk2.groups.io, tpradeep@cisco.com
Subject: Re: [edk2-devel] Build New Package with EDKII OVMF
Date: Tue, 06 Aug 2019 09:51:52 -0700 [thread overview]
Message-ID: <281DBC2C-F1FA-412D-8619-680BDAC0994B@apple.com> (raw)
In-Reply-To: <75CED343-73C4-4C32-AAFE-4A31041A5849@cisco.com>
[-- Attachment #1: Type: text/plain, Size: 7446 bytes --]
> On Aug 6, 2019, at 3:15 AM, via Groups.Io <tpradeep=cisco.com@groups.io> wrote:
>
> Hello All,
>
> I am new to EDKII (UEFI) development. Cloned UDK2018 branch and modified Conf/target.txt to build OVMF package. OVMF.fd boots up fine on QEMU
>
Shakthi,
Conf/target.txt is just the default arguments for the build command. So `build -p SampleModulePkg/SampleModulePkg.dsc` should work for you?
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.
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_TAG you edited in the Conf/target.txt file.
/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|modules|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=TARGETARCH
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 this
option.
-p PLATFORMFILE, --platform=PLATFORMFILE
Build the platform specified by the DSC file name
argument, overriding target.txt's ACTIVE_PLATFORM
definition.
-m MODULEFILE, --module=MODULEFILE
Build the module specified by the INF file name
argument.
-b BUILDTARGET, --buildtarget=BUILDTARGET
Using the TARGET to build the platform, overriding
target.txt's TARGET definition.
-t TOOLCHAIN, --tagname=TOOLCHAIN
Using the Tool Chain Tagname to build the platform,
overriding target.txt's TOOL_CHAIN_TAG definition.
-x SKUID, --sku-id=SKUID
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 threads,
set value to 1 means disable multi-thread build, and
set value to more than 1 means user specify the
threads number to build.
-f FDFFILE, --fdf=FDFFILE
The name of the FDF file to use, which overrides the
setting in the DSC file.
-r ROMIMAGE, --rom-image=ROMIMAGE
The name of FD to be generated. The name must be from
[FD] section in FDF file.
-i FVIMAGE, --fv-image=FVIMAGE
The name of FV to be generated. The name must be from
[FV] section in FDF file.
-C CAPNAME, --capsule-image=CAPNAME
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=LOGFILE
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, final
dependency expression, and warning messages, etc.
-d DEBUG, --debug=DEBUG
Enable debug messages at specified level.
-D MACROS, --define=MACROS
Macro: "Name [= Value]".
-y REPORTFILE, --report-file=REPORTFILE
Create/overwrite the report to the specified filename.
-Y REPORTTYPE, --report-type=REPORTTYPE
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 default
flag set is [PCD, LIBRARY, FLASH, DEPEX, HASH,
BUILD_FLAGS, FIXED_ADDRESS]
-F FLAG, --flag=FLAG Specify the specific option to parse EDK UNI file.
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 are
both specified, this value will override the setting
in [BuildOptions] section of platform DSC.
-N, --no-cache Disable build cache mechanism
--conf=CONFDIRECTORY 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 files
--pcd=OPTIONPCD Set PCD value by command line. Format: "PcdName=Value"
-l COMMANDLENGTH, --cmd-len=COMMANDLENGTH
Specify the maximum line length of build command.
Default is 4096.
--hash Enable hash-based caching during build process.
--binary-destination=BINCACHEDEST
Generate a cache of binary files in the specified
directory.
--binary-source=BINCACHESOURCE
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
>
> 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.
>
> When I run build command, I don’t see SampleModulePkg getting built
>
> Am I missing something?
>
> Regards,
> Shakthi
>
>
>
>
>
>
>
[-- Attachment #2: Type: text/html, Size: 35550 bytes --]
prev parent reply other threads:[~2019-08-06 16:53 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <07E34EFF-E386-4E1A-AB0B-5B0D7EA66D4C@cisco.com>
2019-08-06 10:15 ` Build New Package with EDKII OVMF Shakthi Pradeep (tpradeep)
2019-08-06 16:51 ` Andrew Fish [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=281DBC2C-F1FA-412D-8619-680BDAC0994B@apple.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox