具有定制镜像的固件存储介质的制作方法

文档序号:6479978阅读:128来源:国知局
专利名称:具有定制镜像的固件存储介质的制作方法
具有定制镜像的固件存储介质
背景技术
诸如计算机系统的许多电子设备被制造为具有某些默认功能。在许多情况下,可以由制造商、供应商或最终用户来对此类电子设备的功能进行定制。遗憾的是,对电子设备进行定制常常是涉及某些时间和技术专业知识的重要任务。并且,用于电子设备的定制可能是特定的供应商或最终用户所特有的。此外,用于电子设备的定制可能变得过时或被错误处理(损坏或删除)。通常,促进电子设备的定制将是期望的。


为了本发明的示例性实施例的详细说明,现在将对附图进行参考,在附图中 图1举例说明依照本公开的实施例的电子设备;
图2举例说明依照本公开的实施例的系统; 图3举例说明依照本公开的实施例的固件存储介质的扇区; 图4举例说明依照本公开的实施例的定制固件镜像(image); 图5举例说明依照本公开的实施例的方法; 图6举例说明依照本公开的实施例的另一方法;以及图7举例说明依照本公开的替换实施例的另一方法。符号和命名
某些术语遍及以下说明和权利要求用来指代特定的系统组件。如本领域的技术人员将认识到的,计算机公司可以用不同的名称来指代组件。本文并不意欲区别在名称而不是功能方面不同的组件。在以下讨论和权利要求中,以开放的方式来使用术语“包括”和“包含”, 并且因此应将其解释为意指“包括但不限于...”。并且,术语“耦合”意图意指间接或直接的电连接。因此,如果第一设备耦合到第二设备,则该连接可以是通过直接电连接、或通过经由其它设备和连接的间接电连接。术语“系统”指的是两个或更多部分的集合,并且可以用来指代计算机系统、计算机系统的一部分或计算机系统的网络。
具体实施例方式以下讨论针对本发明的各种实施例。虽然这些实施例中的一个或多个可能是优选的,但不应将公开的实施例解释为或以其他方式用作限制包括权利要求的本公开的范围。 另外,本领域的技术人员将理解的是以下说明具有广泛的应用,并且任何实施例的讨论仅仅意图是例证该实施例,并且并不意图暗示包括权利要求在内的本公开的范围限于该实施例。作为介绍且不对实施例进行限制,计算机系统(或其它设备)供应商针对某些市场来设计产品。在某些情况下,需要对产品进行定制,使得其不同于标准供货。定制请求可以来自原始系统设计者、来自意图给产品重新赋予商标或将其重新销售的另一公司或来自最终用户。例如,转卖商可能想使产品看起来是转卖商的产品而不是原始制造商的产品。通常,转卖商可能想要替换在引导过程期间呈现的信息(例如,上电自检(POST)徽标、系统制造商和产品名称)。另外,转卖商可能想使系统与标准供货不同地进行运转(例如,可以改变诸如引导顺序和/或串行端口配置的某些默认值)。为了支持定制,需要提供/更新默认固件镜像和定制固件镜像而不会负面地影响另一个的能力。如本文公开的,本发明的实施例促进电子设备的选择性定制。在至少某些实施例中,电子设备包括固件存储介质,所述固件存储介质具有带有默认镜像(例如,用于引导任务或运行时间任务)的第一扇区和为定制镜像(例如,用于引导任务或运行时间任务)预留的第二扇区。可以将由电子设备执行的任务指定为可定制任务或不可定制任务。当调用可定制任务时,电子设备确定定制镜像是否被存储在第二扇区中,并且如果是这样,则确定定制镜像中的信息是否与该可定制任务相关。如果在第二扇区的定制镜像中发现了与该可定制任务有关的信息,则电子设备基于定制镜像来执行该可定制任务。如果在第二扇区中未发现与该可定制任务有关的信息,则电子设备基于默认镜像来执行该可定制任务。并且,当调用不可定制任务时,电子设备基于默认镜像来执行该不可定制任务。如果不能使用定制镜像或默认镜像来执行任务,则执行对所需信息的搜索或请求。在至少某些实施例中,默认镜像和定制镜像可选择性地且单独地更新(例如,通过对固件存储介质的第一扇区或第二扇区进行刷新(flash))。在至少某些实施例中,固件存储介质存储计算机系统的基本输入/输出系统 (BIOS)0另外或可替换地,固件存储介质可以与管理处理器相关,所述管理处理器使得电子设备能够被远程控制。在此类实施例中,可以经由管理处理器来执行对默认镜像和/或对定制镜像的更新。在至少某些实施例中,作为虚拟存储设备镜像来访问默认镜像和定制镜像。虚拟存储设备镜像的示例包括虚拟软盘镜像、虚拟光盘镜像(例如,CD或DVD镜像)、虚拟记忆棒/卡镜像(例如,USB棒镜像、SD卡镜像)或其它存储设备镜像。图1举例说明依照本公开的实施例的电子设备102。电子设备102可以表示台式计算机、膝上型计算机、个人数字助理(PDA)、蜂窝电话、智能电话或其它电子设备。如图1 所示,电子设备102包括选择性地执行可定制任务112和不可定制任务114的处理器110。 可定制任务112和不可定制任务114可以基于处理器110内部的代码或从另一源(例如,存储在系统存储器130中的应用134、经由I/O端口 140访问的便携式存储介质或网络、或经由I/O端口 140访问的网络)接收到的代码。在任一种情况下,执行可定制任务112或不可定制任务114中的至少某些涉及检索存储在耦合到处理器110的固件存储介质120中的信肩、ο如所示,固件存储介质120包括默认镜像扇区122和定制镜像扇区124。默认镜像扇区122存储具有与执行可定制任务112和/或不可定制任务114有关的信息的至少一个默认镜像。定制镜像扇区122选择性地存储具有与执行至少一个可定制任务112有关的信息的至少一个定制镜像。通常,默认镜像扇区122被预留以用于默认镜像,即使未提供默认镜像或者即使默认镜像未占用默认镜像扇区122的全部。类似地,定制镜像扇区IM被预留以用于定制镜像,即使未提供定制镜像或者即使定制镜像未占用定制镜像扇区124的全部。在至少某些实施例中,存储在默认镜像扇区122和定制镜像扇区124中的“镜像” 对应于虚拟存储设备镜像,诸如虚拟软盘镜像、虚拟光盘镜像(例如,CD或DVD镜像)、虚拟记忆棒/卡镜像(例如,USB棒镜像、SD卡镜像)或其它存储设备镜像。在此类实施例中,处理器110通过从被映射到虚拟镜像的设备进行读取来访问虚拟镜像。在替换实施例中,存储在默认镜像扇区122和定制镜像扇区124中的“镜像”对应于处理器110可经由适当的读取命令和寻址方案来直接访问的信息。在至少某些实施例中,处理器110选择性地执行固件更新实用工具(utility) 116。固件更新实用工具116可以基于处理器110内部的代码或从另一源(例如,存储在系统存储器130中的应用134、经由I/O端口 140访问的便携式存储介质或经由I/O端口 140 访问的网络)接收到的代码。在被执行时,固件更新实用工具116促使处理器110更新默认镜像扇区122中的镜像。另外或可替换地,固件更新实用工具116促使处理器110更新定制镜像扇区124中的镜像。在至少某些实施例中,单独地更新默认镜像扇区122和定制镜像扇区124。在此类实施例中,可以使用单独的固件更新实用工具来更新默认镜像扇区122 和定制镜像扇区124。如果期望,单独的固件更新实用工具可以被不同方访问。例如,第一方(例如,制造商、供应商或最终用户)可能能够更新默认镜像扇区122,而第二方(例如,制造商、供应商或最终用户)能够更新定制镜像扇区124。如所期望的,可以在不影响默认信息的情况下由制造商、供应商或最终用户来控制定制过程。类似地,可以在不影响定制信息的情况下由制造商、供应商或最终用户来控制默认过程。如所示,电子设备102可选地包括耦合到处理器110的至少一个用户输入设备160 (例如,键盘、触控板、按钮、键区、拨号盘、鼠标、跟踪球、读卡器或其它输入设备)和/或至少一个输出设备150 (例如,液晶显示器(IXD)、打印机、视频监视器、触摸屏显示器、发光二极管(LED)或其它输出设备)。换言之,电子设备102可以支持直接用户交互。在替换实施例中,电子设备102不支持直接用户交互(例如,无头服务器),但是可以是可经由其它设备访问的。图2举例说明依照本公开的实施例的系统200。如所示,系统200包括与管理员计算机250通信的客户端计算机202,客户端计算机202具有如针对图1所述的固件存储介质 120。在图2中,客户端计算机202包括被耦合到固件存储介质120的管理处理器210。管理处理器210使得管理员计算机250能够与客户端计算机202通信并控制其功能。管理处理器210的一个示例被称为集成的无人职守(iLO)处理器。管理处理器210提供的控制功能的示例包括但不限于控制台重定向、温度监视、风扇控制/监视、远程功率管理和远程媒体重定向。在至少某些实施例中,客户端计算机202还包括针对图1描述的某些或所有其它组件(例如,处理器110、系统存储器130和/或其它组件)。在这种情况下,固件存储介质 120可以是处理器110和管理处理器210的一部分或者可由处理器110和管理处理器210 访问。可替换地,固件存储介质120的某些部分可由处理器110访问,而固件存储介质120 的其它部分可由管理处理器210访问。可替换地,固件存储介质120的所有部分可由处理器110访问,而固件存储介质120的仅某些部分可由管理处理器210访问。可替换地,固件存储介质120的所有部分可由管理处理器210访问,而固件存储介质120的仅某些部分可由处理器110访问。依照某些实施例,管理处理器210包括被耦合到通信接口(为了方便起见未示出) 的组件,所述通信接口诸如外围组件互连(PCI )、PCI-Express、PCI-X或其它此类接口。因此,客户端计算机202与管理员计算机240之间的通信涉及经由此类接口来发送/接收数据。另外,客户端计算机202与管理员计算机240之间的通信经由网络MO (例如,局域网 (LAN)或广域网(WAN))或直接连接(例如,管理员计算机250的I/O端口 252)发生。在任一种情况下,可以将从管理员计算机250传输至管理处理器210的数据从一个通信协议(例如,诸如TCP/IP的网络协议)转换成另一通信协议(例如,USB协议)以供客户端计算机202使用。在至少某些实施例中,管理处理器210通过模拟数据端点来促进管理员计算机 250的通信和控制功能。例如,管理处理器210可以模拟软盘驱动器、光盘驱动器、USB主机控制器、USB外围设备和/或USB集线器以促进管理员计算机250的通信和控制功能。关于管理处理器模拟的更多信息,可以参考2005年2月M日提交且题为“Method and systems for managing a device”的美国专利申请序列号11/065,997和2006年6月28日提交且题为“Emulating a USB host controller”的美国专利申请序列号11/477,060,这两个美国专利申请被结合到本文中以供参考。如图2所示,管理员计算机250包括被耦合到存储管理应用258的存储器的处理器252。当被处理器252执行时,管理应用258促使管理员计算机250与客户端计算机202 通信并控制其功能。作为示例,管理应用258可以促使管理员计算机250监视客户端计算机202的操作和性能。如果客户端计算机202是“无头”设备(例如,服务器),管理应用258 可以促使管理员计算机250向管理员显示关于客户端计算机202的状况的信息。使用管理处理器210的模拟能力,如果发生紧急情况或维护状况,管理员计算机250和管理员计算机 250的外围设备(例如,软盘驱动器、CD-ROM驱动器)例如能够控制客户端计算机202的重新引导过程。如果发生此类状况,则客户端计算机202能够识别由管理处理器210提供的模拟软盘驱动器镜像或模拟光盘驱动器镜像并在引导过程期间使用该镜像(即使计算机202 的真实软盘驱动器或光盘驱动器不可用)。另外或可替换地,管理应用258选择性地促使管理员计算机250向客户端计算机 202提供更新、驱动器、文档或其它类型的支持信息。可以在请求时或在由管理员计算机 250提供并涉及客户端计算机202的安排好的(或随机)维护操作期间将此类支持信息提供给客户端计算机202。如果客户端计算机202所需的支持信息已被存储在固件存储介质 120的默认镜像扇区122或定制镜像扇区IM中,则管理员计算机250可以简单地访问固件存储介质120中的支持信息而不是提供支持信息。在各种实施例中,可以不同地控制对不同类型的支持信息的访问级别。例如,某些支持信息可以仅能够使用管理员计算机250来访问,而其它支持信息可在没有管理员计算机250的情况下访问。另外或可替换地,某些支持信息可以仅能够从客户端计算机202访问(即,管理员计算机250不能访问固件存储介质 120中的某些支持信息)。图3举例说明依照本公开的实施例的固件存储介质320的扇区。在至少某些实施例中,固件存储介质320对应于图1和2的固件存储介质120。如所示,固件存储介质320 包括多个64K字节扇区320A 320H,其中,扇区320A 320D和320F 320H在标准BIOS 更新期间被更新。相反,扇区320E在标准BIOS更新期间不被更新。依照至少某些实施例, 扇区320A 320D和320F 320H对应于默认镜像扇区122,而扇区320E对应于先前所讨论的定制镜像扇区124。因此,当扇区320E被更新时(在定制镜像更新期间),扇区320A 320D和320F 320H不被更新。
在至少某些实施例中,固件存储介质320不同于图3所示的格式。例如,扇区的尺寸不限于64K字节。此外,定制镜像扇区(扇区320E)的位置可以是不同的。此外,可以预留附加扇区(除扇区320E之外)作为定制镜像扇区。此外,扇区320A 320H可以对应于单个固件芯片的扇区或多个固件芯片的扇区。作为示例,固件存储介质320可以与BIOS芯片、管理处理器芯片或两者包括在一起。此外,虽然图3的固件存储介质320与BIOS有关, 但其它固件存储介质不涉及BIOS。图4举例说明依照本公开的实施例的定制固件镜像400。可以将定制固件镜像400 例如存储在前述的定制镜像扇区124中。依照某些实施例,定制固件镜像400包括将在对应设备的引导过程期间被访问的操作系统(OS)引导控制驱动器402。另外或可替换地,定制固件镜像400包括徽标404A (用于在引导过程期间显示)、配置设置404B、系统名404C、 系统制造商404D、热设置404E、电源设置404F和/或引导代码安装程序404G以在对应设备的引导过程期间访问。配置设置404B的示例包括安全设置、引导顺序、默认COM端口设置和/或默认串行控制台设置。引导顺序指定系统固件(BIOS)从安装在系统中的所有可能引导设备中选择引导设备的顺序。在至少某些实施例中,引导代码安装程序404G使用选项ROM格式或其它安装技术。引导代码安装程序404G可以被制造商、供应商或最终用户用来安装配置实用工具或能够在引导过程期间调用的其它交互式应用,执行设备的定制配置,在引导过程期间显示文本或图像(例如,附加徽标),安装网络栈和/或执行网络业务诊断或其它功能。另外或可替换地,定制固件镜像400包括外设文档418 (例如使用手册)和/或外设实用工具420 (例如,驱动器)以在对应设备的运行时间期间访问。依照各种实施例,可以单独地(作为单独镜像)或一起(作为单个镜像)访问定制固件镜像400的元素。此外,可以将定制固件镜像400的元素存储在单独的定制镜像扇区或单个定制镜像扇区中。同样地, 可以一起或单独地更新定制固件镜像400的元素。此外,定制固件镜像400的不同元素可以由客户端计算机(例如,客户端计算机202)、管理员计算机(例如,管理员计算机250)或两者访问。图5举例说明依照本公开的实施例的方法500。方法500包括开始引导过程(方框 502)。如果任务被识别为可定制的(判定框504),则方法500确定任务信息是否被存储在定制固件镜像中(判定框506)。如果任务未被识别为可定制的(判定框504)或者如果任务信息未被存储在定制固件镜像中(判定框506),则使用默认固件镜像中的信息来完成任务(方框510)。否则,使用定制固件镜像中的信息来完成任务(方框508)且引导过程在方框512 处继续。图6举例说明依照本公开的实施例的另一方法600。方法600包括开始引导过程 (方框602)。在方框604处,调用选项ROM初始化例程。如果定制选项ROM被存储在定制固件镜像中(判定框606),则调用定制选项ROM(方框608)且引导过程在方框612处继续。如果定制选项ROM未被存储在定制固件镜像中(判定框606),则执行标准选项ROM搜索和初始化(方框610)且引导过程在方框612处继续。图7举例说明依照本公开的替换实施例的另一方法700。方法700包括开始运行时间(方框702)。如果需要外设文档或实用工具(判定框704),则方法700确定相关文档或实用工具是否被存储在定制固件镜像中(判定框706)。如果是,则从定制固件镜像获取该文档或实用工具(方框708)且运行时间在方框712处继续。如果相关文档或实用工具未被存储在定制固件镜像中(判定框706),经由管理处理器(例如,管理处理器210)从网络或便携式储存器获取该文档或实用工具(方框710),并且运行时间在方框712处继续。在某些实施例中,从管理员计算机250提供文档或实用工具。 上述讨论意图说明本发明的原理和各种实施例。一旦完全理解本公开,许多变更和修改将变得对于本领域的技术人员来说显而易见。意图在于将以下权利要求解释为涵盖所有此类变更和修改。
权利要求
1.一种计算机系统,包括处理器;以及与所述处理器通信的固件存储介质,所述固件存储介质存储在引导过程期间调用的默认镜像并选择性地存储定制镜像,其中,如果定制镜像被存储在固件存储介质中,则引导过程选择性地用定制镜像的至少部分来替代默认镜像的至少部分。
2.权利要求1的计算机系统,其中,如果定制镜像被存储在固件存储介质中,则引导过程选择性地将定制镜像的至少部分添加到默认镜像。
3.权利要求1的计算机系统,其中,默认镜像和定制镜像能够被单独地刷新。
4.权利要求1的计算机系统,其中,定制镜像包括操作系统(OS)引导控制驱动器。
5.权利要求1的计算机系统,其中,所述定制镜像包括徽标、系统名和系统制造商中的至少一个。
6.权利要求1的计算机系统,其中,所述定制镜像包括配置设置、热设置和电源设置中的至少一个。
7.权利要求1的计算机系统,其中,所述定制镜像包括选项ROM代码。
8.权利要求1的计算机系统,其中,所述固件存储介质包括基本输入/输出系统 (BIOS),并且其中,所述定制镜像被作为虚拟存储设备镜像来访问。
9.权利要求1的计算机系统,其中,所述处理器包括使得计算机系统能够被远程控制的管理处理器,其中,在运行时间期间经由管理处理器作为虚拟存储设备镜像来访问所述定制镜像。
10.权利要求9的计算机系统,其中,所述定制镜像包括用于计算机系统的外围设备的文档和实用工具中的至少一个。
11.权利要求9的计算机系统,其中,经由管理处理器来更新所述定制镜像。
12.一种方法,包括将默认镜像存储在固件存储介质中;选择性地将定制镜像存储在所述固件存储介质中;如果定制镜像被存储在固件存储介质中,则作为引导过程的一部分访问定制镜像以完成任务;以及如果定制镜像未被存储在固件存储介质中,则使用默认镜像来完成该任务。
13.权利要求12的方法,还包括在不更新默认镜像的情况下选择性地更新定制镜像。
14.权利要求12的方法,还包括在不更新定制镜像的情况下选择性地更新默认镜像。
15.权利要求12的方法,还包括将至少一个项目存储为定制镜像,所述项目选自由OS 引导控制驱动器、徽标、系统名、系统制造商、配置设置、热设置、电源设置、选项ROM代码、 外围设备文档和外围设备实用工具组成的组中。
全文摘要
在至少某些实施例中,计算机系统包括处理器和与处理器通信的固件存储介质。固件存储介质存储在引导过程期间调用的默认镜像并选择性地存储定制镜像。如果固件存储介质存储定制镜像,则引导过程选择性地用定制镜像的至少部分来替代默认镜像的至少部分。
文档编号G06F9/44GK102177499SQ200880131478
公开日2011年9月7日 申请日期2008年10月8日 优先权日2008年10月8日
发明者A·C·卡特斯, J·斯波茨伍德, K·G·迪皮尤 申请人:惠普开发有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1