1.什么是固件?
固件(Firmware)就是写入EPROM(电可擦写只读存储器)或EEPROM(电可擦可编程只读存储器)中的程序。这种设备内部保存的设备“驱动程序”,通过这种驱动程序,操作系统才能标准的实现机器的特定运行。同样,固件也是担任着一个系统最基础最底层工作的软件,这是硬件设备的灵魂,有一些设备除了固件,在没有任何的软件,因此,可以说固件也是决定硬件的性能和功能的。
早期固件芯片采用了ROM设计,Firmware代码是在生产过程中固化的,用任何手段都无法修改。随着技术的不断发展,修改固件以适应不断更新的硬件环境成了用户们的迫切要求,所以,可重复写入的可编程可擦除只读存储器EPROM(Erasable Programmable ROM),EEPROM和flash出现了。这些芯片是可以重复刷写的,让固件得以修改和升级。
2.固件微码的区别
固件一般指运行在Host内非主CPU上的其他部件中的可执行机器码,其可以是裸程序,也可以是操作系统+程序。 “非主CPU的其他部件”,典型比如IO HBA卡比如SCSI、SAS、FC卡,以及以太网卡、显卡、光驱、硬盘。这些设备内,都会有一个或者多个嵌入式CPU核心在运行固件从而发挥作用。这些设备所处理的指令逻辑还是比较复杂的,比如解析SCSI指令,用CPU+固件来完成就具有最高的灵活性,虽然也可以将解析工作固化成纯数字电路译码器,但是其灵活性会大大降低,一旦有bug,就无法解决。
微码泛指那些比固件的代码逻辑量级更低的代码,比如典型案例:鼠标/键盘内部其实也有一个小CPU,但是由于其运行的代码逻辑太过简单,而且指令集都是私有的,条数很少,所以其硬件相当简单,但是这并不妨碍其仍然属于CPU,只不过是一种MCU(MicroControl Unit,微控制单元)。比如鼠标的MCU就负责接收各种按键的信号,并根据信号从ROM中保存的码表提取编码,并通过驱动USB接口控制器将编码数据传送到Host端的USB控制器,这套流程也需要一个极为简单的程序来处理,这个程序就叫做微码。
3.固件升级方式
DELL:
SUU光盘:官方下载镜像包,从Lifecycle 中升级,适合一次性升级,机房现场单机,从为升级过的固件
IDRAC升级:针对单个或多个升级,可多台、远程同时进行,几乎所有固件均可在iDRAC中进行升级。
Lifecycle 中U盘升级:|机房现场单台执行,适合数量较少时使用方法。
操作系统下升级:可远程多台同时执行,可升级所有驱动、固件,但需要操作系统权限。
常规升级固件类型:BIOS、iDRAC、网卡、HBA卡、阵列卡(重启后开始升级)
戴尔固件下载地址:https://www.dell.com/support/home/cn/zh/cnbsd1?app=products&~ck=mn
HP:
iLO管理页面中升级:iLO 4 web管理控制页面可直接升级固件类型: iLO 、BIOS、机箱、电源、CPLD、后挡板、语言包。iLO5多HBA卡和网卡
UEFI BIOS中升级:可升级BIOS、阵列卡、网卡、HBA卡固件。
SPP升级包 :应该可以制作U盘
操作系统下升级,可远程多台同事执行,可升级所有驱动、固件,需要操作系统权限。
iLO 5升级固件格式:iLO:.bin;Bios:.flash;其他: .exe 与 .compsig签名文件。特定部件固件需参照厂商说说明进行升级,如:nVme SSD缓存卡;除iLO外,其他固件升级均需重启服务器(升级后重启生效)
常规升级固件类型:BIOS、iLO、网卡、阵列卡、HBA卡
HP固件下载地址:https://support.hpe.com/hpesc/public/home
System X系列服务器 IMM 中升级。仅能升级IMM、BIOS、DSA固件。
ThinkSystem 系列服务器 XCC中升级,仅能升级BMC,LXPM,UEFI,阵列卡,PSU,部分PCI设备固件升级。
操作系统层中升级,绝大多数固件可在操作系统中升级。
BIOS中升级
专业升级工具: fullshell下用storcli工具,Bomc(可远程多个固件同时升级,需网络端口权限)。
联想固件下载地址:https://datacentersupport.lenovo.com/cn/zh/