Hi Daryl,

what I basically did to integrate it into the shell was to copy the original 
shell (not the whole ShellPkg, just the shell application) and the original 
UefiShellNetwork1CommandsLib, I modified the UefiShellNetwork1CommandsLib to 
include my program and the shell application (or better, my dsc-file) to 
include my modified UefiShellNetwork1CommandsLib instead of the original one. 
If I run my application "standalone", meaning running the application as an 
.efi-file from an USB stick, it works fine. When adding my application to the 
UefiShellNetwork1CommandsLib, I also added all StdLib libraries to its inf file.

I added my dsc and inf files as an attachment so you can take a look at it.

Greetings
Johannes

-----Original Message-----
From: Daryl McDaniel [mailto:[email protected]] 
Sent: Tuesday, November 24, 2015 4:55 PM
To: Conen, Johannes; [email protected]
Subject: RE: [edk2] Integrate application into Shell

Johannes,

In order for an application to use features from STDLIB, the application must 
be explicitly linked with the appropriate libraries.

For applications that are built into the shell and are part of the same .efi 
file the rules that apply to standalone applications should work.  The Shell 
and all built-in "applications" are actually a single application.

Make sure that you are following the instructions in the ReadMe.txt file within 
either of the AppPkg or StdLib packages for which libraries to link with.

If you are still having problems, send me your .dsc and .inf files for the 
modified Shell and I will see if there are any problems there.

Sincerely,
Daryl McDaniel


-----Original Message-----
From: edk2-devel [mailto:[email protected]] On Behalf Of Conen, 
Johannes
Sent: Monday, November 23, 2015 12:46 AM
To: [email protected]
Subject: [edk2] Integrate application into Shell

Hi everyone,

I'd like to integrate a few applications into the shell so they are directly 
available when booting the shell vie PXE. One of the applications I wanted to 
include in the shell is made using EADK, specifically the socket library. I got 
it integrated and can run it from the shell, however all EADK related things 
don't seem to work - e.g. if I use printf(), nothing happens, the UEFI Print() 
however works. Is this a mistake on my side or does EADK generally not work 
when used from applications integrated into the shell? I saw the "known issue" 
in the readme.txt from AppPkg ("2.  Applications must be launched from within 
the EFI Shell"), but thought running it from the shell or integrating it into 
the shell would make no technical difference.

Greetings
Johannes
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to