Why you don't you want to use this? OvmfPkg/build.sh -n 20
This will build with -b DEBUG, and build a 2MB image. Mostly I'm not sure why you don't want a DEBUG build. You want the slightly different settings that a RELEASE build otherwise provides? -Jordan On 2015-05-18 20:07:17, lidonglin wrote: > Thanks, Jordan. > I change OvmfPkgX64.dsc file as below: > > [BuildOptions] > # GCC:*_UNIXGCC_*_CC_FLAGS = -DMDEPKG_NDEBUG > # GCC:RELEASE_*_*_CC_FLAGS = -DMDEPKG_NDEBUG > INTEL:RELEASE_*_*_CC_FLAGS = /D MDEPKG_NDEBUG > MSFT:RELEASE_*_*_CC_FLAGS = /D MDEPKG_NDEBUG > GCC:*_*_*_CC_FLAGS = -mno-mmx -mno-sse > > Change to OvmfPkg top directory to build using command line as below: > ./build.sh -a x64 -b RELEASE -D FD_SIZE_2MB -n 20 > > Successfully get OVMF.fd from Build/OvmfX64/RELEASE_GCC44/FV. > I check it's size is 2MB. And I test it with qemu. It's also ok. > Thank u again. > > > -----Original Message----- > > From: Jordan Justen [mailto:jordan.l.jus...@intel.com] > > Sent: 2015年5月19日 0:40 > > To: edk2-devel@lists.sourceforge.net; lidonglin; Laszlo Ersek > > Cc: edk2-devel@lists.sourceforge.net > > Subject: Re: [edk2] question about size of OMVF.fd > > > > On 2015-05-18 07:15:02, lidonglin wrote: > > > Thanks. And I want DEBUG() (which calls DebugPrint function) to work > > > in debug version, > > > > DEBUG() does work in the debug version. It does not work in the release > > version. > > > > > so I chang MdePkg/Include/Library/DebugLib.h : as > > > below: > > > Origin: > > > #if !defined(MDEPKG_NDEBUG) > > > #define DEBUG(Expression) \ > > > do { \ > > > if (DebugPrintEnabled ()) { \ > > > _DEBUG (Expression); \ > > > After change: > > > #if 1 > > > #define DEBUG(Expression) \ > > > do { \ > > > if (DebugPrintEnabled ()) { \ > > > _DEBUG (Expression); \ > > > > > > If, for some reason you really want debug enabled in the RELEASE build, then > > you should modify OvmfPkg/OvmfPkgX64.dsc to not set MDEPKG_NDEBUG. But, > > I don't think you really want to do this. > > > > > Then build with command line : build.sh -a x64 -b RELEASE -n 20 > > > > Why not instead build with -b DEBUG? > > > > Then when you run QEMU, add these parameters: > > > > -debugcon file:debug.log -global isa-debugcon.iobase=0x402 > > > > Then after running QEMU, examine the debug.log file to see the debug > > messages. The is documented in OvmfPkg/README. > > > > > Build is ok, but error in Generating as below : > > > > You ran out of size because you enabled debug mode in the release build > > flash > > size. > > > > -Jordan > > > > > Generating FVMAIN_COMPACT FV > > > > > > > > > GenFds.py... > > > : error 7000: Failed to generate FV > > > > > > #######Return Value = 2 > > > GenFv: ERROR 3000: Invalid > > > the required fv image size 0xd49d0 exceeds the set fv image size > > > 0xcc000 > > > > > > > > > ### ['GenFv', '-a', > > > > > '/mnt/sdg1/edk2-2.1.10/Build/OvmfX64/RELEASE_GCC44/FV/Ffs/FVMAIN_CO > > MPA > > > CT.inf', '-o', > > > > > '/mnt/sdg1/edk2-2.1.10/Build/OvmfX64/RELEASE_GCC44/FV/FVMAIN_COMPA > > CT.F > > > v', '-i', > > > > > '/mnt/sdg1/edk2-2.1.10/Build/OvmfX64/RELEASE_GCC44/FV/FVMAIN_COMPA > > CT.i > > > nf'] > > > > > > > > > build.py... > > > : error 7000: Failed to execute command > > > GenFds -f /mnt/sdg1/edk2-2.1.10/OvmfPkg/OvmfPkgX64.fdf > > > --conf=/mnt/sdg1/edk2-2.1.10/Conf -o > > > /mnt/sdg1/edk2-2.1.10/Build/OvmfX64/RELEASE_GCC44 -t GCC44 -b > > RELEASE > > > -p /mnt/sdg1/edk2-2.1.10/OvmfPkg/OvmfPkgX64.dsc -a X64 -D > > > "EFI_SOURCE=/mnt/sdg1/edk2-2.1.10/EdkCompatibilityPkg" -D > > > "EDK_SOURCE=/mnt/sdg1/edk2-2.1.10/EdkCompatibilityPkg" -D > > > "TOOL_CHAIN_TAG=GCC44" -D "TOOLCHAIN=GCC44" -D > > "TARGET=RELEASE" -D > > > "WORKSPACE=/mnt/sdg1/edk2-2.1.10" -D > > > "EDK_TOOLS_PATH=/mnt/sdg1/edk2-2.1.10/BaseTools" -D "ARCH=X64" -D > > > "ECP_SOURCE=/mnt/sdg1/edk2-2.1.10/EdkCompatibilityPkg" > > > [/mnt/sdg1/edk2-2.1.10] > > > > > > - Failed - > > > Build end time: 10:54:15, May.19 2015 > > > Build total time: 00:00:58 > > > > > > Who knows why? > > > > > > > -----Original Message----- > > > > From: Laszlo Ersek [mailto:ler...@redhat.com] > > > > Sent: 2015年5月18日 15:35 > > > > To: lidonglin > > > > Cc: edk2-devel@lists.sourceforge.net > > > > Subject: Re: [edk2] question about size of OMVF.fd > > > > > > > > On 05/18/15 08:50, lidonglin wrote: > > > > > First thanks. And I ask another question. Which function can I > > > > > call to print information to serial port or IO port(default 0x402) > > > > > when I build RELEASE OVMF ? > > > > > > > > - The only function that currently enables someone to print to > > > > ioport > > > > 0x402 (PcdDebugIoPort), and continue, is DebugPrint() in > > > > "OvmfPkg/Library/PlatformDebugLibIoPort/DebugLib.c". This function > > > > is normally called via the DEBUG() macro (which has no effect if you > > > > build OVMF for RELEASE). > > > > > > > > - You can write to the serial port with SerialPortWrite(), from > > > > "MdePkg/Include/Library/SerialPortLib.h". > > > > > > > > (But, honestly, there is no reason to build OVMF for anything but > > > > DEBUG, > > > > ever.) > > > > > > > > Thanks > > > > Laszlo > > > ---------------------------------------------------------------------- > > > -------- One dashboard for servers and applications across > > > Physical-Virtual-Cloud Widest out-of-the-box monitoring support with > > > 50+ applications Performance metrics, stats and reports that give you > > > Actionable Insights Deep dive visibility with transaction tracing > > > using APM Insight. > > > http://ad.doubleclick.net/ddm/clk/290420510;117567292;y > > > _______________________________________________ > > > edk2-devel mailing list > > > edk2-devel@lists.sourceforge.net > > > https://lists.sourceforge.net/lists/listinfo/edk2-devel ------------------------------------------------------------------------------ One dashboard for servers and applications across Physical-Virtual-Cloud Widest out-of-the-box monitoring support with 50+ applications Performance metrics, stats and reports that give you Actionable Insights Deep dive visibility with transaction tracing using APM Insight. http://ad.doubleclick.net/ddm/clk/290420510;117567292;y _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel