public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* Include UEFI application into the BIOS image to be able to run it from UEFI Shell
@ 2020-12-02 12:05 sergestus
  2020-12-03  9:44 ` [edk2-devel] " Wang, Sunny (HPS SW)
  0 siblings, 1 reply; 6+ messages in thread
From: sergestus @ 2020-12-02 12:05 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 347 bytes --]

Hi,
I created an UEFI application that works fine in UEFI Shell. Users launch the application from USB stick. The application became popular and we want to include it into the BIOS image. The question is how to properly include it into the BIOS image to be able to run it from UEFI Shell without any external storage device?
Thank you,
Sergey

[-- Attachment #2: Type: text/html, Size: 359 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [edk2-devel] Include UEFI application into the BIOS image to be able to run it from UEFI Shell
  2020-12-02 12:05 Include UEFI application into the BIOS image to be able to run it from UEFI Shell sergestus
@ 2020-12-03  9:44 ` Wang, Sunny (HPS SW)
  2020-12-04  1:48   ` 回复: " gaoliming
  2020-12-04  9:42   ` sergestus
  0 siblings, 2 replies; 6+ messages in thread
From: Wang, Sunny (HPS SW) @ 2020-12-03  9:44 UTC (permalink / raw)
  To: devel@edk2.groups.io, sergestus@yandex.ru; +Cc: Wang, Sunny (HPS SW)

[-- Attachment #1: Type: text/plain, Size: 1479 bytes --]

Hi Sergey,


I think you can use FvSimpleFilesystemDxe.
https://patches.linaro.org/patch/26959/
https://edk2-devel.narkive.com/tPwPAeo1/pacing-uefi-shell-application-in-firmware-volume

As for how to include an application into the BIOS image, you can search and check PcdBootManagerMenuFile in EDK II master (https://github.com/tianocore/edk2) to get the details. This is how we add the boot manager menu application into the BIOS image.

By the way, if launching it from the boot manager menu is acceptable, you can add your application as a boot option that is similar to what we do for the boot manager menu, but you will need to use LOAD_OPTION_CATEGORY_BOOT instead of LOAD_OPTION_CATEGORY_APP.

Regards,
Sunny Wang

From: <devel@edk2.groups.io> on behalf of "sergestus@yandex.ru" <sergestus@yandex.ru>
Reply-To: "devel@edk2.groups.io" <devel@edk2.groups.io>, "sergestus@yandex.ru" <sergestus@yandex.ru>
Date: Wednesday, December 2, 2020 at 8:06 PM
To: "devel@edk2.groups.io" <devel@edk2.groups.io>
Subject: [edk2-devel] Include UEFI application into the BIOS image to be able to run it from UEFI Shell

Hi,
I created an UEFI application that works fine in UEFI Shell. Users launch the application from USB stick. The application became popular and we want to include it into the BIOS image. The question is how to properly include it into the BIOS image to be able to run it from UEFI Shell without any external storage device?
Thank you,
Sergey


[-- Attachment #2: Type: text/html, Size: 5607 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* 回复: [edk2-devel] Include UEFI application into the BIOS image to be able to run it from UEFI Shell
  2020-12-03  9:44 ` [edk2-devel] " Wang, Sunny (HPS SW)
@ 2020-12-04  1:48   ` gaoliming
  2020-12-04  9:42   ` sergestus
  1 sibling, 0 replies; 6+ messages in thread
From: gaoliming @ 2020-12-04  1:48 UTC (permalink / raw)
  To: devel, sunnywang, sergestus

[-- Attachment #1: Type: text/plain, Size: 2582 bytes --]

Sergey:

 MdeModulePkg FvSimpleFilesystemDxe will map FV as FileSystem. After FvSimpleFilesystemDxe is built into BIOS image, Shell will show FV file system, then you can find the built-in application. 

 

 MdeModulePkg LoadFileOnFv2 will install LoadFile protocol for the application in FV image. If BIOS includes it, every application will have its boot option. 

 

Thanks

Liming

发件人: bounce+27952+68233+4905953+8761045@groups.io <bounce+27952+68233+4905953+8761045@groups.io> 代表 Wang, Sunny (HPS SW)
发送时间: 2020年12月3日 17:45
收件人: devel@edk2.groups.io; sergestus@yandex.ru
抄送: Wang, Sunny (HPS SW) <sunnywang@hpe.com>
主题: Re: [edk2-devel] Include UEFI application into the BIOS image to be able to run it from UEFI Shell

 

Hi Sergey,

 

I think you can use FvSimpleFilesystemDxe. 

https://patches.linaro.org/patch/26959/

https://edk2-devel.narkive.com/tPwPAeo1/pacing-uefi-shell-application-in-firmware-volume

 

As for how to include an application into the BIOS image, you can search and check PcdBootManagerMenuFile in EDK II master (https://github.com/tianocore/edk2) to get the details. This is how we add the boot manager menu application into the BIOS image. 

 

By the way, if launching it from the boot manager menu is acceptable, you can add your application as a boot option that is similar to what we do for the boot manager menu, but you will need to use LOAD_OPTION_CATEGORY_BOOT instead of LOAD_OPTION_CATEGORY_APP. 


Regards,

Sunny Wang

 

From: <devel@edk2.groups.io <mailto:devel@edk2.groups.io> > on behalf of "sergestus@yandex.ru <mailto:sergestus@yandex.ru> " <sergestus@yandex.ru <mailto:sergestus@yandex.ru> >
Reply-To: "devel@edk2.groups.io <mailto:devel@edk2.groups.io> " <devel@edk2.groups.io <mailto:devel@edk2.groups.io> >, "sergestus@yandex.ru <mailto:sergestus@yandex.ru> " <sergestus@yandex.ru <mailto:sergestus@yandex.ru> >
Date: Wednesday, December 2, 2020 at 8:06 PM
To: "devel@edk2.groups.io <mailto:devel@edk2.groups.io> " <devel@edk2.groups.io <mailto:devel@edk2.groups.io> >
Subject: [edk2-devel] Include UEFI application into the BIOS image to be able to run it from UEFI Shell

 

Hi,
I created an UEFI application that works fine in UEFI Shell. Users launch the application from USB stick. The application became popular and we want to include it into the BIOS image. The question is how to properly include it into the BIOS image to be able to run it from UEFI Shell without any external storage device?
Thank you,
Sergey 




[-- Attachment #2: Type: text/html, Size: 8320 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [edk2-devel] Include UEFI application into the BIOS image to be able to run it from UEFI Shell
  2020-12-03  9:44 ` [edk2-devel] " Wang, Sunny (HPS SW)
  2020-12-04  1:48   ` 回复: " gaoliming
@ 2020-12-04  9:42   ` sergestus
  2020-12-07  9:19     ` Wang, Sunny (HPS SW)
  1 sibling, 1 reply; 6+ messages in thread
From: sergestus @ 2020-12-04  9:42 UTC (permalink / raw)
  To: Wang, Sunny, devel

[-- Attachment #1: Type: text/plain, Size: 519 bytes --]

Hi Sunny,

Thank you very much for the answer! Please, clarify if I got you right:
1. To make accessible volume in the uefi shell I must include EFI_FIRMWARE_VOLUME2_PROTOCOL(FvSimpleFilesystemDxe) into the BIOS.
2. To include uefi application in the BIOS image I just need to include it MdeModulePkg.
3. To run application as a boot manager it GUID should be defined in PcdBootManagerMenuFile PCD.
4. To run application from boot manager it need to use LOAD_OPTION_CATEGORY_BOOT option.

Thank you,
Sergey

[-- Attachment #2: Type: text/html, Size: 694 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [edk2-devel] Include UEFI application into the BIOS image to be able to run it from UEFI Shell
  2020-12-04  9:42   ` sergestus
@ 2020-12-07  9:19     ` Wang, Sunny (HPS SW)
  2020-12-07 10:27       ` sergestus
  0 siblings, 1 reply; 6+ messages in thread
From: Wang, Sunny (HPS SW) @ 2020-12-07  9:19 UTC (permalink / raw)
  To: sergestus@yandex.ru, Wang@mx0a-002e3701.pphosted.com,
	devel@edk2.groups.io, gaoliming@byosoft.com.cn
  Cc: Wang, Sunny (HPS SW)

[-- Attachment #1: Type: text/plain, Size: 2492 bytes --]

Sorry for the delay, Sergey.
See my Comment inline with [Sunny]. I also merged Liming’s informative email into this email in case you missed it.

Regards,
Sunny Wang

From: gaoliming <gaoliming@byosoft.com.cn<mailto:gaoliming@byosoft.com.cn>>
Sent: Friday, December 4, 2020 9:49 AM
To: devel@edk2.groups.io<mailto:devel@edk2.groups.io>; Wang, Sunny (HPS SW) <sunnywang@hpe.com<mailto:sunnywang@hpe.com>>; sergestus@yandex.ru<mailto:sergestus@yandex.ru>
Subject: 回复: [edk2-devel] Include UEFI application into the BIOS image to be able to run it from UEFI Shell

Sergey:
 MdeModulePkg FvSimpleFilesystemDxe will map FV as FileSystem. After FvSimpleFilesystemDxe is built into BIOS image, Shell will show FV file system, then you can find the built-in application.

 MdeModulePkg LoadFileOnFv2 will install LoadFile protocol for the application in FV image. If BIOS includes it, every application will have its boot option.

Thanks
Liming

From: sergestus@yandex.ru <sergestus@yandex.ru>
Sent: Friday, December 4, 2020 5:43 PM
To: Wang@mx0a-002e3701.pphosted.com; Wang, Sunny (HPS SW) <sunnywang@hpe.com>; devel@edk2.groups.io
Subject: Re: [edk2-devel] Include UEFI application into the BIOS image to be able to run it from UEFI Shell

Hi Sunny,

Thank you very much for the answer! Please, clarify if I got you right:
1. To make accessible volume in the uefi shell I must include EFI_FIRMWARE_VOLUME2_PROTOCOL(FvSimpleFilesystemDxe) into the BIOS.
[Sunny] Yes

2. To include uefi application in the BIOS image I just need to include it MdeModulePkg.
[Sunny] No need to include it in MdeModulePkg. The application can be put into any package folder. For saving the future edk2 code merge effort, it would be better to put your application into your platform package. You just need to modify your platform .dsc and .fdf files with the correct file path pointing to your application.

3. To run application as a boot manager it GUID should be defined in PcdBootManagerMenuFile PCD.
[Sunny] Hmm, do you mean you want to replace edk2 boot manger menu with your application? If so, you’re right. If not, you should generate a new GUID as your application’s file PCD.  What I meant is that you can check how edk2 code build “boot manager menu” application into BIOS image and do the similar things for your application.

4. To run application from boot manager it need to use LOAD_OPTION_CATEGORY_BOOT option.
[Sunny] Yeah.


Thank you,
Sergey

[-- Attachment #2: Type: text/html, Size: 7225 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [edk2-devel] Include UEFI application into the BIOS image to be able to run it from UEFI Shell
  2020-12-07  9:19     ` Wang, Sunny (HPS SW)
@ 2020-12-07 10:27       ` sergestus
  0 siblings, 0 replies; 6+ messages in thread
From: sergestus @ 2020-12-07 10:27 UTC (permalink / raw)
  To: Wang, Sunny, devel

[-- Attachment #1: Type: text/plain, Size: 171 bytes --]

Sunny, thank you for details. Really I don't need to replace the BIOS boot manager with my application, but this seems to me a useful experience...

Thank you,
Sergey

[-- Attachment #2: Type: text/html, Size: 183 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2020-12-07 10:27 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-12-02 12:05 Include UEFI application into the BIOS image to be able to run it from UEFI Shell sergestus
2020-12-03  9:44 ` [edk2-devel] " Wang, Sunny (HPS SW)
2020-12-04  1:48   ` 回复: " gaoliming
2020-12-04  9:42   ` sergestus
2020-12-07  9:19     ` Wang, Sunny (HPS SW)
2020-12-07 10:27       ` sergestus

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox