1. Field
The present disclosure relates to attempting to initialize and configure a device utilizing a remote server and, more specifically, to attempting to initialize a device with low level device configuration information that is stored on a remote server or servers.
2. Background Information
In this context, the Basic Input-Output System (BIOS) is typically computer interface code that, among other tasks, locates and loads the operating system into memory. It often provides low-level communication, operation and configuration to the hardware of a system, which at a minimum drives the input devices (e.g. keyboard) and provides primitive output, often to a display. The BIOS is usually written in Assembly language native to the processor.
BIOS is sometimes referred to as “firmware” because it is an integral part of the system hardware. The BIOS may occasionally be held on Read Only Memory (ROM) chips that could not be altered. Alternatively, the BIOS may be stored on Electronically Erasable Programmable ROM (EEPROM) or flash memory devices that can be easily upgraded by the user. However, most BIOSes have a “boot block” which is a portion of the ROM which runs first and is not updateable. Hardware manufacturers frequently issue BIOS updates to upgrade their products and remove bugs.
Typically the hardware configuration details of the device are embedded within the BIOS. It is possible to discover the macrocode and other intellectual property about the device and the device's components by disassembling the BIOS. A need therefore exists, to update and manage features available as part of a BIOS in a more secure fashion.