> On Jun 5, 2017, at 4:42 AM, Amit kumar <akami...@hotmail.com> wrote: > > > Hi, > > I have created a uefi application and i want to directly launch from the Pen > Drive, just like uefi shell. > I made a EFI/BOOT directory in USB and copied my application in this director > and name it BOOTX64.efi it seems to works in some PCs, > But there are some PCs where it doesn't work even in boot menu i can see no > entry. > Can somebody help me ? >
Amit, Is your test case edk2 Shell at EFI\BOOT\BOOTX64.efi vs. your App on the same USB Key. If not try that. Some of the edk2 libraries don't like to run on older systems, so it would be good to make sure that is not the issue. You can write an UEFI App without any edk2 libraries by using this as a template: https://github.com/tianocore/edk2/tree/master/MdeModulePkg/Application/HelloWorld In HelloWorld.c replace the code with. #include <Uefi.h> EFI_STATUS EFIAPI _ModuleEntryPoint ( IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable ) { return SystemTable->ConOut->OutputString (SystemTable->ConOut, L"Hello World\r\n"); } In HelloWorld.inf comment out all the library classes listed under [LibraryClasses] If the issue is specific to your App, and you know the App entry point C code is not getting called then you need to look at the library constructor. This code is auto generated by the build system in the Build results output as AutoGen.c. You can look at the ProcessLibraryConstructorList() and that will show you the code that is going be running before your entry point gets called. You could also try a release build of your App as that would remove the ASSERT macros in ProcessLibraryConstructorList() from the equation. Thanks, Andrew Fish _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel