A. Technical Field
The present invention relates generally to BIOS configuration, and more particularly, to the method for allowing customization of an option ROM by an OEM or other customer.
B. Background of the Invention
A Basic Input Output System (“BIOS”) is used to properly initialize a system's hardware when power is first applied or system is restarted. The BIOS also controls the boot process, provides low-level input/output routines and allows the user to modify details of the system's hardware configuration. The BIOS is usually stored permanently in a read only memory (“ROM”) storage device within a host system.
Peripherals and components such as video capture devices and storage devices may be connected to and operate within the host system. These components typically have associated optional read only memory or option ROM BIOS components. An option ROM BIOS includes a set of program instructions known as an option ROM image which provides basic control software to the host system so that the system can communicate to a peripheral controller coupled to the host system. The software of the option ROM may further include code having a configuration utility and a user interface.
Generally the contents of the option ROMs are fixed for the Original Equipment Manufacturers (OEMs). Although certain OEMs might update certain fields within an option ROM, an OEM or customer is unable to significantly modify or change an option ROM to match its particular system requirements.
Different OEMs or end-user customers may require customizing certain features in an option ROM. Typically, modifications to an option ROM are performed by the option ROM's component supplier. These modifications may range from simple to complex, which could result in a significant expenditure of resources by the supplier to write, test, and release the customized option ROM. For instance, an OEM may request a supplier to make small changes in an option ROM, such as adding their brand information in the boot banner for the option ROM. These types of minor requests may be a significant burden on a supplier and result in large number of very similar option ROM images being approved and maintained at a supplier location. A customer may request operational changes to the BIOS or certain features not available in the configuration utility. These changes may also require great effort by the supplier and significant time to implement and verify.
Currently, these types of requested changes are handled on a case-by-case basis for BIOS, configuration utility, and string modifications, one example of which is illustrated in FIG. 1. A number of different OEM or customer 101(a)-101(n) requests that a supplier 102 provide certain modifications in their option ROM. The desired changes are implemented 103 at the supplier and a number of subsequent procedures need to be performed to verify and maintain the modified option ROM image. For example, after the desired changes are made, the new BIOS image is tested and verified 104 by the suppler. After verification, the new BIOS image must be maintained 105 at the supplier location. The new BIOS is delivered to the customer 106 for integration testing. If, at this point, the customer or OEM found something that was not correctly changed, the process needs to be restarted.
This customization of option ROMs presents difficulties in product development because of the large amount of development resources, the test resources to test many minor changes, and the maintenance of similar BIOS image versions required in this process. With the continued growth of customers and their requirements of customizing the option ROMs, suppliers may find it even more difficult to manage and update these modifications.
Therefore, there is a need for a system and a method for allowing different customers or OEMs to manage their option ROM images to meet their particular requirements.