US2017364311A1PendingUtilityA1

Bootloader control via device identifier

Assignee: GOOGLE INCPriority: Dec 28, 2015Filed: Sep 5, 2017Published: Dec 21, 2017
Est. expiryDec 28, 2035(~9.4 yrs left)· nominal 20-yr term from priority
G06F 9/4411G06F 8/654G06F 3/0659G06F 9/4406G06F 8/63G06F 3/0604G06F 3/0688G06F 8/665
51
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for placing a device in a bootloader state. One of the methods includes determining, during a boot process of the apparatus, whether a device of a particular type is connected to the apparatus, in response to determining that a device of the particular type is connected to the apparatus, determining a device identifier for the device, comparing the device identifier for the device with a predetermined identifier that indicates a device to which the apparatus should provide control of the boot process to determine whether the device identifier is the same as the predetermined identifier, and in response to determining that the device identifier is the same as the predetermined identifier, maintaining the apparatus in a bootloader state to provide control of the boot process of the apparatus to the device.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . (canceled) 
     
     
         2 . An apparatus comprising:
 a data processing apparatus; and   a non-transitory computer readable storage medium in data communication with the data processing apparatus and storing instructions executable by the data processing apparatus and upon such execution cause the data processing apparatus to perform operations comprising:
 automatically determining, during an execution of a boot process of the apparatus, whether a device is connected to the apparatus; 
 in response to determining that a device is connected to the apparatus, determining a device identifier for the device; 
 determining whether the device identifier is the same as a predetermined identifier that indicates a particular device to which the apparatus should provide control of the boot process by comparing the device identifier for the device with the predetermined identifier; and 
 in response to determining that the device identifier is not the same as the predetermined identifier, continuing the boot process of the apparatus. 
   
     
     
         3 . The apparatus of  claim 2 , wherein continuing the boot process of the apparatus comprises loading drivers for one or more additional types of devices. 
     
     
         4 . The apparatus of  claim 2 , wherein continuing the boot process of the apparatus comprises providing control of the boot process from a high level bootloader to a second stage bootloader. 
     
     
         5 . The apparatus of  claim 4 , wherein providing control of the boot process from a high level bootloader to a second stage bootloader comprises determining, by the second stage bootloader, an operating system to load on the apparatus. 
     
     
         6 . The apparatus of  claim 2 , wherein determining the device identifier for the device comprises determining a vendor identifier for the device and a product identifier for the device. 
     
     
         7 . The apparatus of  claim 2 , wherein determine a device identifier for the device comprises:
 generating a request for the device identifier for the device;   transmitting, to the device, the request for the device identifier for the device; and   receiving, from the device, a response to the request for the device identifier for the device.   
     
     
         8 . The apparatus of  claim 2 , the operations comprising:
 in response to determining that a device is connected to the apparatus, determining whether a type of the device is the same type as a predetermined device type, wherein determining the device identifier for the device is response to determining that the type of the device is the same type as a predetermined device type.   
     
     
         9 . The apparatus of  claim 8 , comprising:
 loading, during the execution of the boot process of the apparatus, drivers for only devices of the predetermined device type prior to automatically determining, during the execution of the boot process of the apparatus, whether a device is connected to the apparatus, wherein:   determining whether a type of the device is the same type as a predetermined device type comprises determining whether the type of the device is a predetermined device type based on drivers for the predetermined device type that were loading during the current boot process.   
     
     
         10 . The apparatus of  claim 8 , wherein determining whether a type of the device is the same type as a predetermined device type comprises determining whether a universal serial bus device is connected to the apparatus. 
     
     
         11 . A non-transitory computer readable storage medium storing instructions executable by a data processing apparatus and upon such execution cause the data processing apparatus to perform operations comprising:
 automatically determining, during an execution of a boot process of a first device, whether a second device is connected to the first device;   in response to determining that a second device is connected to the first device, determining a device identifier for the second device;   determining whether the device identifier is the same as a predetermined identifier that indicates a particular device to which the first device should provide control of the boot process by comparing the device identifier for the second device with the predetermined identifier; and   in response to determining that the device identifier is not the same as the predetermined identifier, continuing the boot process of the first device.   
     
     
         12 . The computer readable storage medium of  claim 11 , wherein continuing the boot process of the first device comprises loading drivers for one or more additional types of devices. 
     
     
         13 . The computer readable storage medium of  claim 11 , wherein continuing the boot process of the first device comprises providing control of the boot process from a high level bootloader to a second stage bootloader. 
     
     
         14 . The computer readable storage medium of  claim 13 , wherein providing control of the boot process from a high level bootloader to a second stage bootloader comprises determining, by the second stage bootloader, an operating system to load on the first device. 
     
     
         15 . The computer readable storage medium of  claim 11 , wherein determining the device identifier for the second device comprises determining a vendor identifier for the second device and a product identifier for the second device. 
     
     
         16 . The computer readable storage medium of  claim 11 , wherein determine a device identifier for the second device comprises:
 generating a request for the device identifier for the second device;   transmitting, to the second device, the request for the device identifier for the second device; and   receiving, from the second device, a response to the request for the device identifier for the second device.   
     
     
         17 . The computer readable storage medium of  claim 11 , the operations comprising:
 in response to determining that a second device is connected to the first device, determining whether a type of the second device is the same type as a predetermined device type, wherein determining the device identifier for the second device is response to determining that the type of the second device is the same type as a predetermined device type.   
     
     
         18 . The computer readable storage medium of  claim 17 , comprising:
 loading, during the execution of the boot process of the first device, drivers for only devices of the predetermined device type prior to automatically determining, during the execution of the boot process of the first device, whether a second device is connected to the first device, wherein:   determining whether a type of the second device is the same type as a predetermined device type comprises determining whether the type of the second device is a predetermined device type based on drivers for the predetermined device type that were loading during the current boot process.   
     
     
         19 . The computer readable storage medium of  claim 17 , wherein determining whether a type of the second device is the same type as a predetermined device type comprises determining whether a universal serial bus device is connected to the first device. 
     
     
         20 . A computer-implemented method comprising:
 automatically determining, during an execution of a boot process of a first device, whether a second device is connected to the first device;   in response to determining that a second device is connected to the first device, determining a device identifier for the second device;   determining whether the device identifier is the same as a predetermined identifier that indicates a particular device to which the first device should provide control of the boot process by comparing the device identifier for the second device with the predetermined identifier; and   in response to determining that the device identifier is not the same as the predetermined identifier, continuing the boot process of the first device.   
     
     
         21 . The method of  claim 20 , wherein continuing the boot process of the first device comprises loading drivers for one or more additional types of devices.

Join the waitlist — get patent alerts

Track US2017364311A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.