Release Notes for One-Boot Flash Update Utility(OFU) Version 14.1 Build 16 Jan 11, 2018 Copyright (c) 2017 Intel(R) Corporation. ===================================== Contents -------- 1. Introduction 2. Supported Platforms 3. Supported Operating Systems 4. Pre-requisites 5. Installation and Un-installation 6. Usage 7. Known Issues 8. Unsupported Features 9. Change List 10. Instructions for end-user 11. Legal Information 1. Introduction --------------- The One-Boot Flash Update Utility is a program used for updating the system BIOS, BMC, Sensor Data Records (SDR), Field Replaceable Unit (FRU) and ME of systems. 2. Supported Platforms -------------------------------- Intel(R) Server Board based on Intel(R) Xeon(R) Processor Scalable Performance Family 3. Supported Operating Systems ------------------------------ Windows* Server 2016 Windows* Server 2012 R2 Windows* 10 RHEL* 6.8 (x64) RHEL* 7.3 SLES* 11.4 (x64) SLES* 12.2 CentOS* 7.3 (x64) 4. Pre-requisites ----------------- 1. Install all the development and optional packages during RHEL* and SuSE* Operating system installation. 2. On RHEL*, SLES*, CentOS*, UEFI aware Linux or other Linux Install necessary libs if the utility fails while loading libs. 64 bit libs with "x86_64" suffix for 64 bit binary, 32 bit libs with "i686" suffix for 32 bit binary. For example: a. If the utility fails with error message "error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory" Then use "rpm -ivh xxxx.rpm" to install libstdc++ and ncurses rpms from the OS b. If the utility fails with error message "Error: /lib/ld-linux.so.2: Bad ELF interpreter: No such file or directory" This indicates development and optional packages are not installed, please install the necessary packages accordingly. 3. On RHEL*, SLES*, CentOS*, UEFI aware Linux or other Linux 1. There might be a driver conflict between internal driver and kernel. You need to start up OpenIPMI driver. If the utility fails with any error such as "FW interface failed" when updating BMC or "terminate called after throwing an instance of 'ResultStatus' Aborted (core dumped)" when updating SDR with CFG file, then start up OpenIPMI driver and make sure "/dev/ipmi0" device exists. BMC update cannot continue if OpenIPMI driver is not started. For RHEL* run the below command and make sure "/dev/ipmi0" device exists. #modprobe ipmi_devintf or #modprobe ipmi_si For SLES* run the below command and make sure "/dev/ipmi0" device exists. #service ipmi start 2. After enabling OpenIPMI, if utility still reports errors during BMC, FRU and SDR update, for example "Failed to write SDR file.", "SDR auto-update failed" and "Error : Error while parsing the cfg file", there might be a BMC watch dog conflict with OpenIPMI driver. User needs to disable BMC watch dog, do update and enable it after update is finished. 4. Utility works only if it is executed with Administrator privilege on Windows* and with root privilege on Linux* OSes. 5. Updating of BIOS, ME, FRUSDR and BMC is not supported by the utility if the BMC Firmware is in Transfer Mode. 6. It's recommended to do a direct FRU update in EFI/WinPE before doing a FRU Resize with customized CFG file. 5. Installation and Un-installation ----------------------------------- Windows* Installation: ------------ 1. Copy the OFU zip package to local folder. 2. Unzip to local folder (example: .\flashupdt). Go to flashupdt folder (cd Flashupdt). 3. Go to the "Drivers\win" folder, choose x86 or x64 (depending on the operating system). 4. Run "install.cmd" as administrator to install drivers. 5. Go to "Win_x86" or "Win_x64" folder to execute flashupdt utility (depending on the operating system). 6. Now you can run command with options (example: "flashupdt -u /tmp/flashupdt.cfg") Uninstallation: --------------- 1. Run uninstall.cmd to uninstall all the drivers. 2. Delete the Flashupdt folder. Linux* I. RPM Installation: ----------------- 1. Copy flashupdt rpm from "Linux_x86" or "Linux_x64" folder (for RHEL or SLES) to local folder. 2. If there is another version already has been installed previously, uninstall that version first before installing the new version. 3. Install flashupdt utility by using "rpm -ivh flashupdtxx.rpm". This will install the utility in "/usr/bin/flashupdt/". 4. On RHEL/SLES after installing the rpm close the terminal from which rpm was installed and then execute utility from a new terminal (example: "# flashupdt -u /tmp/flashupdt.cfg"). 5. For HTTP and FTP based updates please execute the utility from "/usr/bin/flashupdt/" as 'curl' and 'chaff2l.sh' files are needed for HTTP and FTP based updates. RPM Uninstallation: ------------------- 1. To uninstall the utility use "rpm -e flashupdt" command. II. Regular Installation: --------------------- 1. Copy the OFU zip package (for RHEL or SLES) to local folder. 2. Unzip to local folder (example: .\flashupdt). Go to flashupdt folder (cd flashupdt). 3. # chmod 755 install.sh and # chmod 755 flashupdt 4. Install the utility using the command: "#./install.sh" 5. Go to the RHEL or SLES directory (based on operating system). 6. # chmod 755 chaff2l.sh and #chmod 755 curl. 7. Unzip the file flashupdt.zip to get flashupdt executable for Linux* OS 8. Now you can run command with options (example: "# ./flashupdt -u /tmp/flashupdt.cfg") Regular Uninstallation: ----------------------- 1. Delete the Flashupdt folder using rm -rf Flashupdt command. 6. Usage -------- Syntax: flashupdt [-h] [-i] [-u {URL or path of update package}] -h : (or -?) Display command line help. -i : Displays the current BIOS, BMC, and SDR versions of the system. This option can also be used in conjunction with -u to display the version information contained in the update package files. -u : Updates the BIOS, BMC and SDR as specified in the CFG file. The URL or path, if any, of the update package must immediately follow this option. The package files can reside on a local drive. The current directory is used if no location is specified. -set: Sets different FRU area as below flashupdt /set "area name" "frufield" "value" Were "area name" can be "product" or "chassis" depending on the FRU area to be modified. The following are the FRU field parameters. Pn - indicates product name Pver - indicates product version Pnum - indicates the part number Snum - indicates the serial number Mn - indicates the manufacturer name At - asset tag Note: For the chassis area, the fields "at", "pn" and "pver" are not supported. -u fru : Will do a direct update of platform specific FRU file. 7. Known Issues --------------- 1. While using the tags "@ENV:TYPE:NAME" and "@ENVFILE:TYPE:NAME:#" make sure that the environment variable values should be greater than one character. If only one character is used there might be a chance of FRU getting corrupted. 2. In Windows 7, BIOS update percentage might not be showed at the beginning of BIOS update. After a few seconds, the percentage will be showed and greater than 50%. This is a BIOS known issue. 3. In Linux, OpenIPMI driver needs to be started up manually. 4. Utilities, SNMP-SA and IASC cannot run at the same time due to KCS port conflict. There will be an error message as below. "Error: Application Cannot Communicate to the BMC." Please do the below steps. a. Disable services related to SNMP-SA and IASC b. Enable OPENIPMI driver c. Execute flashupdt utility for updating BIOS/BMC/FRUSDR on the server 5. The BMC update with force update jumper set is not supported. It is applicable only to UEFI(FWPIAUPD). 6. IO port access is not allowed in Linux when UEFI secure boot is enabled. Please disable UEFI secure boot in F2 menu before running utility. 7. In Linux RHEL 7.x, BMC update might be failed intermittently due to OpenIPMI driver conflict. Please try again if it happens. 8. Unsupported Features ------------------------ Utility cannot be executed successfully when UEFI secure boot is enabled under Linux because Linux closes all IO port access when UEFI secure boot is enabled. If customer wants to use it under Linux environment, please ensure UEFI secure boot is disabled in BIOS F2 menu. 9. Change List ------------------------ Build 16 Fix "Product Area" update failure when checksum is 0xC1 Build 15 Support new SKU Build 14 Fix maximum length defect of "BMCCONFIG" command Build 13 Support BBS version display Build 12 Support new BMC version format Fix the issue of random BMC update failure Build 11 Support new SKU Support area checksum generation for FRU update Build 10 Fix the defect that asset tag can't be modified Support "BMCCONFIG" in CFG file Support new SKU Build 9 a. Add "ccs" command option. b. Support BIOS security fix. Build 8 Add USB device polling for BMC update Add "restore" to CFG file to restore BMC default for BMC update Build 7 Fix incorrect version of "/i /u" Build 6 Support a new SKU Update supported OS list Build 5 Improve USB failover to KCS for BMC update Support auto detection of FANs Build 4 Add wildcard letter support in *.cfg file 10. Instructions for end-user ---------------------------- 1. After performing CFG based update using flashupdt utility, it is highly recommended to perform a power cycle. Continuous updates through CFG file without power cycle / reboot in between could cause system instability. 2. For CFG based update it is assumed that the HTTP/FTP server does not require any user name password. In order to access password protected servers, please change the chaff2l.sh or the batch file and include the username/password. The default in the .sh file - ./curl $1 -o $2 -s For password protected server please change the above as below - ./curl $1 --user admin:pwd -o $2 -s where admin & pwd are the username and password respectively 11. Legal Information -------------------- ======================================================== LEGAL INFORMATION ======================================================== Information in this document is provided in connection with Intel Products and for the purpose of supporting Intel developed server boards and systems. No license, express or implied, by estoppel or otherwise, to any intellectual property rights is granted by this document. Except as provided in Intel's Terms and Conditions of Sale for such products, Intel assumes no liability whatsoever, and Intel disclaims any express or implied warranty, relating to sale and/or use of Intel products including liability or warranties relating to fitness for a particular purpose, merchantability, or infringement of any patent, copyright or other intellectual property right. Intel Corporation may have patents or pending patent applications, trademarks, copyrights, or other intellectual property rights that relate to the presented subject matter. The furnishing of documents and other materials and information does not provide any license, express or implied, by estoppel or otherwise, to any such patents, trademarks, copyrights, or other intellectual property rights. Intel products are not intended for use in medical, life saving, or life sustaining applications. Intel may make changes to specifications and product descriptions at any time, without notice. Intel is a registered trademark of Intel Corporation. *Other names and brands are the property of their respective owners. Copyright (c) 2017 Intel Corporation. (end)