IP Library Granted Patent US 8,495,626
Granted Patent B1
US 8,495,626 · App. 12/575,825 · Granted Jul 23, 2013

Automated operating system installation

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,495,626
App. No.
12/575,825
Granted
Jul 23, 2013
Kind
B1
Abstract

Technologies are provided herein for automated operating system installation. Through the concepts and technologies presented herein, the process of installing multiple operating systems on a system under test (“SUT”) can be automated and monitored, thereby permitting the unattended installation of the operating systems. Multiple operating systems can be installed and errors detected during the installations can be logged in an automated fashion, thereby reducing the cost of such testing. Errors generated during the automated installation process can be analyzed and utilized to identify and correct errors in a computing system firmware. A device selector for facilitating the automated installation process is also provided.

Claims (49)

1. A computer-implemented method for automated operating system installation, the computer-implemented method comprising performing computer-implemented operations for:

causing a device selector to connect a first mass storage device to a system under test (SUT), the first mass storage device containing an installer program for a first operating system;

causing the SUT to power on, to boot from the first mass storage device, and to execute the installer program for the first operating system;

receiving a plurality of screen displays generated by the SUT;

comparing the screen displays received from the SUT to previously generated and stored screen displays to determine whether an error has occurred during the execution of the installer program for the first operating system;

storing data identifying the error in an error log in response to determining that an error has occurred during the execution of the installer program for the first operating system;

comparing the screen displays received from the SUT to previously generated and stored screen displays to determine whether the installer program for the first operating system has completed installation of the first operating system on the SUT;

in response to determining that the installer program for the first operating system has completed installation of the first operating system on the SUT, causing the SUT to power off, causing the device selector to connect a second mass storage device to the SUT, the second mass storage device containing a disk drive utility program, and causing the SUT to power on, to boot from the second mass storage device, and to execute the disk drive utility program to create and store an image of the installation of the first operating system;

determining whether the disk drive utility program has completed execution;

in response to determining that the disk drive utility program has completed execution, determining whether another operating system remains to be installed on the SUT; and

in response to determining that another operating system remains to be installed on the SUT, causing the SUT to power off, causing the device selector to connect a third mass storage device to the SUT, the third mass storage device containing an installer program for a second operating system, and causing the SUT to power on, to boot from the third mass storage device, and to execute the installer program for the second operating system to install the second operating system on the SUT.

2. The computer-implemented method of claim 1 , further comprising:

comparing the screen displays received from the SUT to previously generated and stored screen displays to determine whether an error has occurred during the execution of the installer program for the second operating system; and

storing data identifying the error in the error log in response to determining that an error has occurred during the execution of the installer program for the second operating system.

3. The computer-implemented method of claim 2 , further comprising:

comparing the screen displays received from the SUT to previously generated and stored screen displays to determine whether the installer program for the second operating system has completed installation of the second operating system on the SUT; and

in response to determining that the installer program for the second operating system has completed installation of the second operating system on the SUT, causing the SUT to power off, causing the device selector to connect the second mass storage device to the SUT, and causing the SUT to power on, to boot from the second mass storage device, and to execute the disk drive utility program to create and store an image of the installation of the second operating system.

4. The computer-implemented method of claim 3 , wherein the previously generated and stored screen displays comprise screen displays of an error-free operating system installation.

5. The computer-implemented method of claim 4 , further comprising:

during the installation of the first operating system, determining whether a keystroke should be provided to the SUT to facilitate installation of the first operating system; and

causing the keystroke to be provided to the SUT in response to determining that a keystroke should be provided.

6. The computer-implemented method of claim 5 , further comprising:

during the installation of the second operating system, determining whether a keystroke should be provided to the SUT to facilitate installation of the second operating system; and

causing the keystroke to be provided to the SUT in response to determining that a keystroke should be provided.

7. The computer-implemented method of claim 6 , further comprising storing a screen display showing the error in response to determining that an error has occurred during the installation of the first operating system or the installation of the second operating system.

8. The computer-implemented method of claim 7 , further comprising in response to determining that another operating system does not remain to be installed on the SUT, generating an electronic mail message with the error log and any stored screen displays showing errors encountered during the installation of the first operating system or the installation of the second operating system.

9. A system for automated operating system installation, the system comprising:

a device selector configured for connection to a plurality of mass storage devices and to enable the connection of one of the mass storage devices to a system under test (SUT) at a time; and

a test control system (TCS) coupled to the device selector, the TCS configured to execute a program for causing the device selector to connect a first of the plurality of mass storage devices to the SUT, the first mass storage device containing an installer program for a first operating system,

to cause the SUT to power on, to boot from the first mass storage device, to execute the installer program for the first operating system, to determine whether the installer program for the first operating system has completed installation of the first operating system on the SUT,

in response to determining that the installer program for the first operating system has completed installation of the first operating system on the SUT, to cause the SUT to power off, to cause the device selector to connect a second mass storage device to the SUT, the second mass storage device containing a disk drive utility program, and to cause the SUT to power on, to boot from the second mass storage device, and to execute the disk drive utility program to create and store an image of the installation of the first operating system,

to determine whether the disk drive utility program has completed execution,

in response to determining that the disk drive utility program has completed execution, to determine whether another operating system remains to be installed on the SUT, and

in response to determining that another operating system remains to be installed on the SUT, to cause the SUT to power off, to cause the device selector to connect a third mass storage device to the SUT, the third mass storage device containing an installer program for a second operating system, and to cause the SUT to power on, to boot from the third mass storage device, and to execute the installer program for the second operating system to install the second operating system on the SUT.

10. The system of claim 9 , wherein the program is further configured to:

receive a plurality of screen displays generated by the SUT;

compare the screen displays received from the SUT to previously generated and stored screen displays to determine whether an error has occurred during the execution of the installer program for the first operating system; and to

store data identifying the error in an error log in response to determining that an error has occurred during the execution of the installer program for the first operating system.

11. The system of claim 10 , wherein determining whether the installer program for the first operating system has completed installation of the first operating system on the SUT comprises comparing screen displays received from the SUT to previously generated and stored screen displays to determine whether the installer program for the first operating system has completed installation of the first operating system on the SUT.

12. The system of claim 10 , wherein the program is further configured to:

compare the screen displays received from the SUT to previously generated and stored screen displays to determine whether an error has occurred during the execution of the installer program for the second operating system; and to

store data identifying the error in the error log in response to determining that an error has occurred during the execution of the installer program for the second operating system.

13. The system of claim 12 , wherein the program is further configured to:

compare the screen displays received from the SUT to previously generated and stored screen displays to determine whether the installer program for the second operating system has completed installation of the second operating system on the SUT; and

in response to determining that the installer program for the second operating system has completed installation of the second operating system on the SUT, to cause the SUT to power off, to cause the device selector to connect the second mass storage device to the SUT, and to cause the SUT to power on, to boot from the second mass storage device, and to execute the disk drive utility program to create and store an image of the installation of the second operating system.

14. The system of claim 13 , wherein the previously generated and stored screen displays comprise screen displays of an error-free operating system installation.

15. The system of claim 14 , wherein the program is further configured to store a screen display showing the error in response to determining that an error has occurred during the installation of the first operating system or the installation of the second operating system.

16. The system of claim 15 , wherein the program is further configured to determine whether a keystroke should be provided to the SUT to facilitate installation of the first operating system during the installation of the first operating system and to cause the keystroke to be provided to the SUT in response to determining that a keystroke should be provided.

17. The system of claim 16 , wherein the program is further configured to determine whether a keystroke should be provided to the SUT to facilitate installation of the second operating system during the installation of the second operating system and to cause the keystroke to be provided to the SUT in response to determining that a keystroke should be provided.

Assignments (6)
PATENT SECURITY AGREEMENT Recorded Oct 23, 2024
From: AMERICAN MEGATRENDS INTERNATIONAL, LLC
To: BAIN CAPITAL CREDIT, LP, AS ADMINISTRATIVE AGENT AND COLLATERAL AGENT
Reel/Frame 069229/0834 →
RELEASE OF SECURITY INTEREST Recorded Oct 17, 2024
From: MIDCAP FINANCIAL TRUST
To: AMERICAN MEGATRENDS INTERNATIONAL, LLC
Reel/Frame 069205/0795 →
SECURITY INTEREST Recorded May 6, 2019
From: AMERICAN MEGATRENDS INTERNATIONAL, LLC
To: MIDCAP FINANCIAL TRUST, AS COLLATERAL AGENT
Reel/Frame 049087/0266 →
ENTITY CONVERSION Recorded Apr 15, 2019
From: AMERICAN MEGATRENDS, INC.
To: AMERICAN MEGATRENDS INTERNATIONAL, LLC
Reel/Frame 049091/0973 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2010
From: HANES, CHARLES PATRICK; SIVERTSEN, CLAS GERHARD; RICHARDSON, BRIAN
To: AMERICAN MEGATRENDS, INC.
Reel/Frame 023871/0469 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 8, 2009
From: HANES, CHARLES PATRICK; SIVERTSEN, CLAS GERHARD
To: AMERICAN MEGATRENDS, INC.
Reel/Frame 023346/0182 →