Initiating an operating system boot from firmware
View Patent ↗A computer system firmware stores an operating system boot loader along with accompanying firmware boot driver and a service option ROM. A firmware boot enables the computer system to initiate an operating system boot without necessarily utilizing a hard drive or other peripheral. The service option ROM is installed, indicating to the firmware that a firmware boot is available. When selected the firmware boot copies the operating system boot loader from firmware to main memory and then initiates the operating system boot loader.
1. A method for booting an operating system utilizing a firmware in a computer system, the method comprising:
installing a service option read-only memory (ROM) in a memory of the computer system, wherein the service option ROM includes program code for booting an operating system utilizing the firmware;
retrieving a boot loader driver for the operating system from the firmware, wherein the boot loader driver is associated with an operating system boot loader stored in the firmware;
copying the boot loader driver to the memory of the computer system; executing the operating system boot loader;
locating the service option ROM in the memory;
utilizing the service option ROM to add identifying information for the boot loader driver to a list of initial program load (IPL) devices;
displaying a list of available IPL devices on a display, wherein the list of available IPL devices includes the identifying information for the boot loader driver; and
receiving a selection of the boot loader driver from a user.
2. The method of claim 1 , wherein the operating system boot loader comprises a version of a Grand Unified Bootloader (GRUB).
3. The method of claim 1 , further comprising:
copying a loader code from the firmware to the memory; and
executing the loader code in order to load the operating system boot loader.
4. A non-transitory computer-readable storage medium having computer-executable instructions stored thereon for booting an operating system from a firmware which, when executed by a computer, cause the computer to:
load a service option read-only memory (ROM) from the firmware to a memory of a computer system, wherein the service option ROM indicates that a firmware boot is available;
in response to determining that a firmware boot is requested, copy an operating system boot loader from the firmware to the memory of the computer system;
execute the operating system boot loader;
locate the service option ROM in the memory, wherein the service option ROM comprises a Plug and Play expansion header including a boot entry vector;
execute program code stored at a location indicated by the boot entry vector upon determining that the firmware boot is needed;
display a list of available initial program load (IPL) devices on a display, wherein the list of available IPL devices includes a firmware boot; and
receive a selection of the firmware boot from a user.
5. The computer-readable storage medium of claim 4 , wherein the operating system boot loader comprises a version of a Grand Unified Bootloader (GRUB).
6. A non-transitory computer-readable storage medium having computer-executable instructions stored thereon for booting an operating system on a computer system from a firmware, the computer-readable medium storing modules comprising:
a service option ROM comprising a Plug and Play (PnP) expansion header, a boot entry vector indicating a location for initiating a firmware boot, and a text identifier for a firmware boot;
a firmware boot driver including a first plurality of instructions that creates a firmware boot event and a second plurality of instructions that copies an operating system boot loader from the firmware to a memory in the computer system, wherein the firmware boot event is triggered when a firmware boot is requested by a user and wherein the firmware boot selection is made from a list of initial program load (IPL) devices;
an operating system boot loader; and
instructions for copying a signature from the firmware to the memory.
7. The computer-readable storage medium of claim 6 , wherein the operating system boot loader comprises a version of a Grand Unified Bootloader (GRUB).
8. The computer-readable storage medium of claim 6 , wherein the computer-readable storage medium comprises a non-volatile memory device.
9. The computer-readable storage medium of claim 6 , wherein the computer-readable storage medium comprises a volatile memory device.
10. The computer-readable storage medium of claim 6 , wherein the computer readable storage medium comprises a mass storage device.