Bug 6442

Summary: Minnowboard UEFI + Key to Interrupt boot
Product: [Hardware Platforms] MinnowBoard MAX Firmware Reporter: Vijai Kumar K <vijaikumar.k>
Component: minnowboard-uefi-firmwareAssignee: chao zhang <chao.b.zhang>
Status: RESOLVED WONTFIX QA Contact:
Severity: enhancement    
Priority: Medium CC: scott.a.garman, vijaikumar.k, warthog9
Version: unspecified   
Target Milestone: Production Release   
Hardware: MinnowBoard   
OS: x86   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: Don't know

Description Vijai Kumar K 2014-06-13 06:07:38 UTC
In Minnowboard UEFI I don't see a key to interrupt the boot process. After adding a boot entry to firmware using bcfg command, the firmware boots the operating system directly from the mentioned device path. We have no option to change the boot option without unplugging a device to stop the firmware from booting. Unplugging the device is the only option I see to drop into shell. Correct me if I am wrong.
Comment 1 chao zhang 2014-06-20 02:12:21 UTC
Try to set longger timeout.  Can you see the listing boot menu ?
Comment 2 Vijai Kumar K 2014-06-20 05:04:57 UTC
(In reply to comment #1)
> Try to set longger timeout.  Can you see the listing boot menu ?

From the Minnowboard BDS code I see that we can use ESC + and - keys. Assuming that ESC will interrupt the boot, I tried setting timeout to 60 seconds and kept on pressing Esc during boot. Now the Boot selection menu is visible but only during first boot, i.e after flashing the firmware for the first time. In the next subsequent boots I was not able to see the Boot selection menu. If I am not wrong, the very first boot of the firmware is BOOT WITH FULL CONFIGURATION and the subsequent boot are BOOT WITH MINIMUM CONFIGURATION. So I did the following changes and it worked for subsequent boot cycles.
File: BdsUiLib.c
File Path: MinnowBoardPkg/Bds/
Line No: 1311 (approximate)
Function Name: BdsUiInteractiveMenus()
Comment out the following line
/*
if (PcdGetBool (PcdEnableFastBoot)  && (BootMode == BOOT_WITH_MINIMAL_CONFIGURATION || BootMode == BOOT_ASSUMING_NO_CONFIGURATION_CHANGES)) {
    if (gPickList != NULL) {
      mEfiBootCallBack (gPickList[0].BootOption);
    }
  }
*/
In Platform.dsc file Set "PcdPlatformBootTimeOut" pcd to 2 seconds.

Now when I press ESC the boot menu is displayed. However if I didnot press Esc, it shows the Boot menu but only for two seconds as mentioned in PcdPlatformBootTimeOut. I think displaying a boot menu only when the user pressed the ESC key would be a optimal solution.
Comment 3 John 'Warthog9' Hawley 2015-01-26 22:28:27 UTC
MinnowBoard v1 has reached new feature EOL, FW development is done as are new hardware features.  If you feel EXCEEDINGLY strongly about an issue please re-open it for discussion but be aware that we are recommending individuals migrate to the MAX platform.