Ok, oops, no the command line doesn't use exactly the same interface as
gEfiShellProtocol->Execute() .  There is a wrapper
between gEfiShellProtocol->Execute() and InternalShellExecuteDevicePath()
called EfiShellExecute() which uses ShellInfoObject.FileDevPath
and ShellInfoObject.ImageDevPath to locate a copy of shell.efi.  Command
lines skip this step.  Only apps invoked by the shell come
through EfiShellExecute().  I believe the python os.system() call is
functional in the svn tree - if so it should be reproducable via that (see
attached pngs).  (you might be able to run python with -S and avoid the
library install - the os module should be builtin)

sh_bad.png shows what happens if run on the PXE boot shell,
sh_good.png shows what happens if run on a second shell started from FS0.

Note that ImageDevPath points to what looks like a network device instead
of a disk and that FileDevPath is null.


Does your shim.efi execute commands via the shell?  If not maybe it isn't
related to this issue?

<<attachment: sh_bad.png>>

<<attachment: sh_good.png>>

------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to