Abstract:
Systems and methods are provided to perform BIOS recovery for a first information handling system that is in a no-boot state, i.e., in which the original equipment manufacturer (OEM) boot block (OBB) on the first information handling system is corrupted or damaged and thus does not properly execute. OBB BIOS recovery may be achieved using logic executing on a second and different information handling system that is wirelessly communicating with initial boot block (IBB) BIOS firmware that is executing on the first information handling system. The logic executing on the second information handling system may select and download (e.g., from a remote server) a correct uncorrupted and undamaged copy of the BIOS recovery firmware version for the first information handling system, and then wirelessly transfer the downloaded new copy of the OBB BIOS firmware version to the first information handling system via an established secure wireless connection.
Abstract:
SPI firmware updates can be performed at runtime. A secure SPI flash access domain can be created during pre-boot and used at runtime to deliver and write a SPI firmware update to SPI flash. The secure SPI flash access domain can ensure that only a trusted component running on a trusted CPU core can access a SPI memory layout used to deploy the SPI firmware update to the SPI flash. Once the SPI firmware update is written to the SPI flash, a reboot can be triggered so that the updated SPI firmware is loaded to perform the boot process.
Abstract:
An information handling system may load first data from a location information area of a first memory, specifying a plurality of locations of metadata for a plurality of stages of basic input/output system (BIOS) initialization. The information handling system may then load first metadata for a first stage of BIOS initialization from a first metadata location of the plurality of locations specified by the first data. The first metadata may contain information for indexing first initialization data located at a first initialization data location. The information handling system may then index the first initialization data of the first initialization data location based, at least in part, on the first metadata. The information handling system may then perform the first stage of BIOS initialization based, at least in part, on the first initialization data.
Abstract:
Systems and methods are provided for supporting use of system BIOS components (e.g., such as BIOS debug messages, debugger firmware, UEFI drivers, etc.) that are stored separately from the remainder of system BIOS firmware for an information handling system. The system BIOS components may represent only a portion of the total BIOS firmware, and may be selectively retrieved and loaded from the separate storage into system memory when needed by the system BIOS for operating purposes (e.g., such as debugging operations).
Abstract:
A heuristic learning algorithm uses an ALS to determine display brightness settings based on a stored response curve for display brightness for a user. When the user overrides the response curve value for display brightness at a given ALS output, the display brightness setting based on the user input is used to modify the response curve for the ALS output to lesser extent than the user input. Over time the response curve will approach desired user settings for each value of the ALS output.
Abstract:
An information handling system and method performs Unified Extensible Firmware Interface (UEFI) interception and pre-processing of data associated with block input/output (I/O) commands targeting encrypted storage devices. A UEFI interceptor block (IB) I/O driver intercepts each block I/O command targeting block addresses on a storage device and identifies whether any of the target block addresses is encrypted. In response to identifying an encrypted block address among the target block addresses, the UEFI IB I/O driver forwards data associated with the encrypted block address to an encryption-decryption module to perform one of an encryption and a decryption of the data. Final handling of the block I/O command is performed using a block I/O driver chained to the UEFI IB I/O driver. Data associated with I/O commands targeting encrypted block addresses is first processed by the encryption-decryption module before final handling of the I/O command is performed by the block I/O driver.
Abstract:
A method for deploying an information handling system (platform) determines whether a hardware key coupled to the platform constitutes a deployment key by validating a GUID of the key against a deployment key signature, generated by a trusted server and stored on the key. If the key is validated, a trust factor evaluation is performed by validating the deployment key against a second key, which is bound to a nonvolatile storage component containing a second key signature, generated by the trusted server based on a GUID of the nonvolatile storage component. Upon validating the trust factor, the platform boots into an unattended deployment mode loaded from the deployment key and validates an unattended deployment binary stored in the deployment key against the second key signature to establish a trusted execution session for loading unattended deployment modules from the deployment key and deploying the platform by executing the unattended deployment modules.
Abstract:
The identification and loading of an appropriate service operating system can be facilitated when a main operating system fails. To facilitate the identification of which main operating system failed, an agent can create a UEFI variable that is specific to each main operating system on a client. These OS-specific UEFI variables can be employed to identify which main operating system has failed to boot. When a main operating system fails to boot, a UEFI preboot application can be configured to access the UEFI variables to identify which main operating system has failed. The UEFI preboot application can also obtain characteristics of the failed operating system from the UEFI variable and include such characteristics in a vendor extension of an SLP request. A server can employ the characteristics defined in the vendor extension to identify and send an appropriate service operating system to the client.
Abstract:
A heuristic learning algorithm uses an ALS to determine display brightness settings based on a stored response curve for display brightness for a user. When the user overrides the response curve value for display brightness at a given ALS output, the display brightness setting based on the user input is used to modify the response curve for the ALS output to lesser extent than the user input. Over time the response curve will approach desired user settings for each value of the ALS output.
Abstract:
Methods and systems for platform configuration management may use a platform configuration register (PCR) stored on a trusted platform module (TPM) included with an information handling system. A basic input/output system (BIOS) may include instructions to generate a first PCR value based on BIOS settings while a user is operating the BIOS. When the first PCR value indicates a change from a previous PCR value stored in the PCR, an alert may be displayed to the user and sent to a network administrator. The BIOS may display an indication of a mapping of BIOS settings to the first PCR value.