Commit Graph

1160 Commits

Author SHA1 Message Date
Sergii Dmytruk 2b93ded2ef DasharoPayloadPkg: enable "immediate" on-disk capsules
Signed-off-by: Sergii Dmytruk <sergii.dmytruk@3mdeb.com>
2026-01-08 01:05:28 +02:00
Sergii Dmytruk b828f7bf3e MdeModulePkg: support "immediate" on-disk capsules
That is loading and processing on-disk capsules during the same boot
without relocating the capsules to a dedicated non-volatile storage on
ESP or loading them as in-RAM capsules and then rebooting.

Signed-off-by: Sergii Dmytruk <sergii.dmytruk@3mdeb.com>
2026-01-08 01:05:01 +02:00
Sergii Dmytruk b3020f6aef MdeModulePkg/DxeCapsuleLibFmp/CapsuleOnDisk.c: fix leaks in RelocateCapsuleToRam()
Signed-off-by: Sergii Dmytruk <sergii.dmytruk@3mdeb.com>
2026-01-06 20:04:21 +02:00
Sergii Dmytruk aca5c960db MdeModulePkg/DxeCapsuleLibFmp/CapsuleOnDisk.c: extract functions for freeing file info
For deduplication and to make adding future code that needs to do the
same easier.

Signed-off-by: Sergii Dmytruk <sergii.dmytruk@3mdeb.com>
2026-01-06 20:04:20 +02:00
Sergii Dmytruk b22c226091 MdeModulePkg/DxeCapsuleLibFmp/CapsuleOnDisk.c: fix typos/wording/formats
The typos got in the way of grepping for output lines and reporting
errors as numbers is not very helpful.

Signed-off-by: Sergii Dmytruk <sergii.dmytruk@3mdeb.com>
2026-01-06 20:04:18 +02:00
Michał Żygowski 1cb64d6bde MdeModulePkg/Library/FileExplorerLib: Change text field to subtitle
The text field between the list of files and option to create files or
directories was a selectable empty string with no functionality. When
moving through the menu one had to press the arrow one extra time to
navigate to the files. As it is confusing, change the text field to
subtitle so it is not selectable anymore.

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
2025-07-07 16:46:16 +03:00
Michał Żygowski 0961f9f31f Add PCDs to control quiet and fast boot in the project
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
2025-03-10 20:16:34 +02:00
Michał Żygowski 2bec454154 Handle quiet and fast boot
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
2025-03-10 20:16:32 +02:00
Michał Żygowski 86228b6242 MdeModulePkg/BootMaintenanceManagerUiLib: Add quiet and fast boot options
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
2025-03-10 20:16:32 +02:00
Michał Żygowski 7f99c84f07 MdeModulePkg/Library/BootLogoLib/BootLogoLib.c: draw progress bar without spaces
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
2025-03-10 20:16:29 +02:00
Michał Żygowski cb41aca5bc MdeModulePkg/RuntimeDxeReportStatusCodeLib: do nothing after ExitBootServices()
Prevent debugging on serial port (whether physical or cbmem console) at
runtime by not doing anything after boot services are exited. It will
stop calling SerialPortWrite if EFI switches to runtime and avoid access
to cbmem CONSOLE buffer which is neither marked as runtime code nor data.

If serial debugging will be necessary, actually mark coreboot's CONSOLE
buffer as runtime data (it's location and size are known).

Solves the issue with Xen backtrace on EFI reset system runtime service:
https://github.com/Dasharo/dasharo-issues/issues/488#issuecomment-1772758851

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Signed-off-by: Sergii Dmytruk <sergii.dmytruk@3mdeb.com>
2025-03-10 20:16:28 +02:00
Michał Żygowski 58654c3ff0 MdeModulePkg/Library/BootMaintenanceManagerUiLib: Handle timeout statically
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
2025-03-10 20:16:25 +02:00
Filip Lewiński 2a43c70a52 MdeModulePkg: reject negative autoboot timeout
Signed-off-by: Filip Lewiński <filip.lewinski@3mdeb.com>
2025-03-10 20:16:24 +02:00
Michał Żygowski 79bfb9d215 MdeModulePkg/Library/UefiBootManagerLib: Be more verbose about boot failure
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
2025-03-10 20:16:24 +02:00
Patrick Rudolph 1f3b667fc3 MdeModulePkg: Be more verbose about SecureBoot and the reason why the boot failed
Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
2025-03-10 20:16:24 +02:00
Michał Żygowski 010254be40 Ensure the PcdPlatformBootTimeOut is not updated to make it the default value
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
2025-03-10 20:16:23 +02:00
Michał Żygowski a564feed4e MdeModulePkg/BootMaintenanceManagerUiLib: Produce default opcode for timeout
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
2025-03-10 20:16:23 +02:00
Michał Żygowski 2c4b34decb MdeModulePkg/Library/CustomizedDisplayLib: Fix hotkey positioning
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
2025-03-10 20:16:23 +02:00
Michał Kopeć de24433013 MdeModulePkg/Library/CustomizedDisplayLib: add helptext for screenshots
Signed-off-by: Michał Kopeć <michal.kopec@3mdeb.com>
2025-03-10 20:16:22 +02:00
Michał Żygowski 77f0bde968 MdeModulePkg: Ensure boot timeout is taken from Timeout EFI variable
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
2025-03-10 20:16:22 +02:00
Michał Żygowski 2dd23a565c MdeModulePkg: Control pre-installed boot options creation with PCD
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
2025-03-10 20:16:22 +02:00
Michał Żygowski b51f7e9dd1 MdeModulePkg/Library/UefiBootManagerLib: Create Boot Options for pre-installed OSes
* Scans only ESPs.
* Use BlockIO handle of the partition for description.

MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c: add pre-installed entries for Qubes OS

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
2025-03-10 20:16:21 +02:00
Sergii Dmytruk d5d52c1b41 DasharoPayloadPkg,MdeModulePkg: inform user via popup if in recovery boot
MdeModulePkg changes
--------------------

Allow reusing functions by other packages, specifically by
DasharoPayloadPkg.

 * Move GetStringWidth() to CustomizedDisplayLib.

 * Move CreateMultiStringPopUp() to CustomizedDisplayLib
   CreateSharedPopUp() is an implementation of it and is moved as well
   (not used for anything else).

DasharoPayloadPkg changes
----------------------

Parse coreboot information about recovery boot and display a dialog
using functions moved to CustomizedDisplayLib library of MdeModulePkg.

 * Add ParseVBootWorkbuf() function
   Extracts information about vboot recovery from coreboot table.
   Ignore minor version of cb_vboot_workbuf_v2 while parsing because it
   doesn't seem to affect data layout and therefore shouldn't be the
   reason for aborting parsing of the structure.

 * Inform user via popup if in recovery boot.
   The popup explains what happened along with possible reasons.
   It disappears automatically after a timeout of 30 seconds or
   when user presses Enter.

Signed-off-by: Sergii Dmytruk <sergii.dmytruk@3mdeb.com>
2025-03-10 01:25:43 +02:00
Michał Żygowski effe3fed50 MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c: rename UiApp boot options as Setup
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
2025-03-10 01:25:42 +02:00
Michał Żygowski 9535563bef MdeModulePkg/Library/BootLogoLib/BootLogoLib.c: draw progress bar without spaces
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
2025-03-10 01:25:42 +02:00