On 09/22/16 13:25, Saqib Khan wrote:
> okay so i started with "MdeModulePkg\Application\BootManagerMenuApp" 
> addded follwoing package in inf file
> 
>  1. IntelFrameworkModulePkg/IntelFrameworkModulePkg.dec
>  2. IntelFrameworkPkg/IntelFrameworkPkg.dec
> 
> and follwing libraries
> 
>  1. LegacyBootManagerLib
>  2. LegacyBootMaintUiLib
> 
> and then i added library reference in C:\efi\test\edk2\DuetPkg/DuetPkgX6.dsc
> 
>  1. 
> LegacyBootManagerLib|IntelFrameworkModulePkg/Library/LegacyBootManagerLib/LegacyBootManagerLib.inf
>  2. 
> LegacyBootMaintUiLib|IntelFrameworkModulePkg/Library/LegacyBootMaintUiLib/LegacyBootMaintUiLib.inf
> 
> Then in included  <Library/LegacyBootMaintUi.h> in
> \MdeModulePkg\Application\BootManagerMenuApp\BootManagerMenuApp.h  then
> i attempted top call " GetLegacyOptions
> "
> 
> 
> then i built it with  *Build -a X64 -p DuetPkg/DuetPkgX64.dsc
> *
> 
> 
> It is unable to find LegacyBootMaintUi.h also .i am unable find where i
> am wrong ...i have followed build path from
> 
> https://github.com/tianocore/tianocore.github.io/wiki/Getting-Started-Writing-Simple-Application
> 
> 
> can any one point out where i am wrong?

The header file that you are trying to include, in the source code of
another module, is actually a library-internal header file:

IntelFrameworkModulePkg/Library/LegacyBootMaintUiLib/LegacyBootMaintUi.h

Library class header files that define public APIs always have pathnames
with the pattern

FooPkg/Include/Library/BarLib.h


I'm getting confused about what you want to achieve. You wrote "Now i
want to develop an EFI which will first run Helloworld EFI then it will
boot windows 7 which is installed on legacy boot (NOT EFI)."

To my knowledge, if you have a UEFI boot option for a legacy OS (with
the BBS devpath stuff in it), then EfiBootManagerBoot() in
UefiBootManagerLib can boot it transparently, assuming all the legacy
support has been built in (see my previous email).

Ultimately the legacy OS is booted with the
EFI_LEGACY_BIOS_PROTOCOL.LegacyBoot(), which takes the BBS device path
as a parameter. See LegacyBmBoot() in
"IntelFrameworkModulePkg/Library/LegacyBootManagerLib/LegacyBm.c".

Anyway I think this would be best discussed with Ray, as I'm just
another user of UefiBootManagerLib, through OVMF's PlatformBDS. What you
are trying to do doesn't seem like regular boot manager / Platform BDS
behavior.

Laszlo
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to