uEFI Firmware Update for Linux Installation README File Version: 1.22 BUILDID: D6E164A (C) Copyright International Business Machines Corporation 2009 - 2013. All rights reserved. US Government Users Restricted Rights - Use, duplication, or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. CONTENTS ________ 1.0 Overview 2.0 Installation and Setup Instructions 3.0 Configuration Information 4.0 Unattended Mode 5.0 Web Sites and Support Phone Number 6.0 Trademarks and Notices 7.0 Disclaimer 1.0 Overview 1.1 This README file contains the latest information about installing the uEFI firmware update. - Acronyms: AMM - Advanced Management Module IMM - Integrated Management Module 1.2 Limitations: - This flash utility is only able to update systems in which the Integrated Management Module (IMM) can be reached via an ethernet connection. If the IMM cannot be reached due to lack of a connection or firewall protections, then the update will fail. 1.3 Enhancements: - Refer to the change history file ibm_fw_uefi_d6e164a-1.22_anyos_i386.chg for a history of enhancements and fixes. 1.4 Recommendations and Prerequisites for the Update: - IMPORTANT: Make sure the current IMM firmware level is 1.07 or later before you update the uEFI firmware or DSA Preboot firmware. The recommended firmware update sequence is IMM followed by uEFI followed by DSA Preboot. - IMPORTANT: When updating via any method other than UpdateXpress Systems Packs, Bootable Media Creator, or the AMM, wait at least six minutes after the IMM update completes before you initiate any planned uEFI or DSA Preboot firmware updates. - IMPORTANT: When updating through AMM, after the IMM update is complete, wait at least fifteen minutes before you initiate any planned uEFI or DSA Preboot firmware updates. - IMPORTANT: Due to an Intel errata, if your server is running Linux or VMware, you should disable C-States before you update uEFI, IMM, or DSA Preboot through the command line interface. C-states can be returned to the original settings after the updates are complete. See RETAIN TIP H195678 for more information. Updates performed through the AMM, Bootable Media Creator, or the IMM web or CLI interfaces do not have this requirement. - Note: Updated firmware version numbers might not be visible in SMBIOS Tables until after the server is rebooted. - Updating the uEFI firmware using the Integrated Management Module(IMM) ethernet over USB interface requires operating system drivers and configuration for the USB interface. - In order to load the device driver for LAN-over-USB device, there must be no network device on the system configured with an IP address of 169.254.x.y other than the CDC Ethernet Device (the LAN-over-USB device). - The update package will attempt to perform the setup if needed. If the automatic setup fails or it is desired to setup the USB LAN via manual intervention, the following process can be used: Linux Driver Requirements ========================== The IMM Ethernet over USB interface requires the usbnet and cdc_ether drivers to be loaded. If the drivers have not been installed, use modprobe to install them. When these drivers are loaded, the IMM's USB network interface will show up as a network device in the operating system. If the drivers have not been installed (such as the case with RHEL4), use "modprobe" to install them. To do this, open terminal and type: modprobe usbnet To discover the name that the operating system has assigned to the IMM's USB network interface, type dmesg | grep -i cdc_ether The interface should be configured with ifconfig to have an IP address in the range 169.254.xxx.xxx. For example: ifconfig IMM_device_name 169.254.1.102 netmask 255.255.0.0 Updating via IMM ================ If you are updating the uEFI firmware through the IMM user interfaces, you should make sure that the server is powered up and booted into the Operating System, otherwise the IMM is unable to access the uEFI flash device. RHEL 6.0 64 Bit Requirements ============================ In order for the Linux flash utility to work in 64 bit mode, the compatibility libraries must be installed. During install after picking your default installation type (basic server, database server, etc), select "Customize Now" button at bottom of screen. Then under "base system" select the "compatibility libraries" checkbox. For a system that already has RHEL 6 installed, you will have to load the rpm's via the command line from the shell prompt: rpm -ivh List of rpm's that need to be installed: compat-db-4.6.21-15.el6.x86_64.rpm compat-expat1-1.95.8-8.el6.x86_64.rpm compat-glibc-2.5-46.2.x86_64.rpm compat-libcap1-1.10-1.x86_64.rpm compat-libf2c-34-3.4.6-19.1.x86_64.rpm compat-libgfortran-41-4.1.2-39.el6.x86_64.rpm compat-libstdc++-296-2.96.144.el6..x86_64.rpm compat-libstdc++-33-3.2.3-69.el6.x86_64.rpm compat-libtermcap-2.08-49.el6.x86_64.rpm compat-openldap-2.4-19_2.3.43-15.el3.x86_64.rpm openssl098e-0.9e-17.el6.x86_64.rpm 1.5 Dependencies: - none 1.6 Please refer to following link for most updated Operating Systems support list. http://www.ibm.com/systems/info/x86servers/serverproven/compat/us/ 2.0 Installation and Setup Instructions 2.0.1 If you are updating the IMM using VMware, the following steps should be completed prior to the update to ensure that the flash utility can connect to the IMM. VMware 3.5 ========== 1. esxcfg-firewall --allowOutgoing 2. ifconfig cdceth0 169.254.x.x 3. route del -net 169.254.0.0 netmask 255.255.0.0 lo 4. Then ping 169.254.95.118 to make sure that you can connect to the IMM using the Ethernet over USB interface VMware 4.0/4.1 ============== 1. esxcfg-firewall --allowOutgoing 2. esxcfg-vswitch -l 3. esxcfg-vswitch -L vusb0 vSwitch0 4. ifconfig vswif0 169.254.xxx.xxx netmask 255.255.0.0 5. Then ping 169.254.95.118 to make sure that you can connect to the IMM using the Ethernet over USB interface VMware 5.0 ========== 1. esxcli network firewall set -d true 2. esxcfg-vswitch -l 3. esxcfg-vswitch -L vusb0 vSwitch0 4. ifconfig vswif0 169.254.xxx.xxx netmask 255.255.0.0 5. Then ping 169.254.95.118 to make sure that you can connect to the IMM using the Ethernet over USB interface The procedures to update the uEFI firmware are as follows: 2.1 Using the command line interface - Run the uEFI update with the following command line: "./ibm_fw_uefi_d6e164a-1.22_linux_32-64.bin -s" Note: "-u" is a supported synonym for command line switch "-s". 2.1.1 Optional command line parameters supported by the update --backup Target the secondary/alternate flash bank if available. If a alternate device is not supported, the IMM may ignore this option. --no-reboot If the firmware type being updated requires an activation step to be performed by the utility, this option will prevent that step. --user This option provides a method of setting the IMM user name to use during a LAN IPMI session. Use of this option will disable the IPMI KCS authentication failover. --password This option provides a method of setting the IMM password to use during a LAN IPMI session. --silent This option turns off text output from the update process. Use of this option also turns on the --unattended option. 2.2 Perform the following steps to update the uEFI firmware using the web interface: a). Open a Web browser. In the address or URL field, type the IP address or host name of the IMM to which you want to connect. The Login web page opens. Note: The IMM defaults to DHCP. If a DHCP host is unavailable, the IMM assigns a static IP address of 192.168.70.125. b). Type your user name and password on the Login page. If you are using the IMM for the first time, you can obtain your user name and password from your system administrator. All login attempts are documented in the event log. A welcome page opens in your browser. Note: The IMM is set initially with a user name of USERID and password of PASSW0RD (with a zero, not an O). This user has read/write access. Change this default password during your initial configuration for enhanced security. c). Select a timeout value, in minutes, in the field provided. If your browser is inactive for that number of minutes, the IMM logs you off the Web interface. d). Click Continue to start the session. The browser opens the System Health page, which gives you a quick view of the system status. e). In the navigation frame, click Firmware Update under Tasks, then click Browse. f). Navigate to this package (ibm_fw_uefi_d6e164a-1.22_linux_32-64.bin) and click Open. The file (including the full path) appears in the box beside Browse. g). To begin the update process, click Update. A progress indicator opens as the file is transferred to temporary storage on the IMM. A confirmation page opens when the file transfer is completed. h). Verify that the upd file shown on the Confirm Firmware Update page is what you intend to update. If not, click the Cancel button. i). To complete the update process, click Continue. A progress indicator opens as the firmware is flashed. A confirmation page opens to verify that the update was successful. j). After receiving a confirmation that the update process is complete, click OK. 2.3 Updating uEFI Firmware on a Blade using the Advanced Management Module - Log into the Advanced Management Module's web interface on BladeCenter. - After you log in, select MM Control -> Network Protocols and ensure that TFTP is enabled on the AMM. It is disabled by default. - Select Blade Tasks -> Firmware update and select the target blade. - Use the browse button to point to the update file: ibm_fw_uefi_d6e164a-1.22_linux_32-64.bin - Click the Update button to update the uEFI firmware. After the update finishes, the system will need to be rebooted to activate the new firmware. 2.4 Extracting the update contents Contents of the ibm_fw_uefi_d6e164a-1.22_linux_32-64.bin update package: - This readme file - The uEFI firmware update file named ibm_fw_uefi_d6e164a-1.22_anyos_i386.upd - Management Information Base files (MIBs) immalert.mib and imm.mib which are used to manage the IMM through SNMP - A 32-bit flash utility named iflash - A 64-bit flash utility named iflash64 2.4.1 Extraction of the package contents - Run the uEFI Update with the following command line: "./ibm_fw_uefi_d6e164a-1.22_linux_32-64.bin -x " where is the path to which the Linux update files will be extracted. 2.4.2 Mandatory command line parameters supported by iflash --package This option designates the update file to be processed by iflash. Typically, updates are upd files included in the update packages. The update file contained in this package is ibm_fw_uefi_d6e164a-1.22_anyos_i386.upd. 2.4.3 Optional command line parameters supported by iflash --user This option provides a method of setting the IMM user name to use during a LAN IPMI session. Use of this option will disable the IPMI KCS authentication failover. --password This option provides a method of setting the IMM password to use during a LAN IPMI session. --unattended This option turns off the prompt for user confirmation of the update. The utility will not prompt the user and only continue with the update if it determines the firmware on the target is downlevel. --force Attempt to update even if the target is not downlevel. No prompt for user confirmation will be shown. This option overrides the --unattended option. --backup Target the secondary/alternate flash bank if available. If a alternate device is not supported, the IMM may ignore this option. --no-reboot If the firmware type being updated requires an activation step to be performed by the utility, this option will prevent that step. --password-file : Pass the name of a file containing the password to use during a LAN IPMI session. --skip_min_level: Bypass the hard check for minimum firmware level. This option is not recommended for most users but is made available for advanced uses. -s, --silent These options turn off text output from the update process. Use of these options also turns on the --unattended option. -h, -?, --help These options print the command usage details. 3.0 Configuration Information - This update package does not provide the ability to set or modify uEFI configuration settings. 4.0 Unattended Mode 4.1 Performing the update in unattended mode - Run "./ibm_fw_uefi_d6e164a-1.22_linux_32-64.bin -s" 4.2 Extracting the update files in unattended mode - Run the "./ibm_fw_uefi_d6e164a-1.22_linux_32-64.bin -x " where is the path to which the Linux update files will be extracted. 5.0 Web Sites and Support Phone Number 5.1 IBM Support Web Site: http://www.ibm.com/systems/support 5.2 IBM Marketing Web Site: http://www-03.ibm.com/systems/x/ 5.3 If you have any questions about this update, or problems applying the update go to the following Help Center World Telephone Numbers URL: http://www.ibm.com/planetwide/index.html 6.0 Trademarks and Notices 6.1 IBM and the e(logo) are registered trademarks of International Business Machines Corporation in the United. States, other countries, or both. 6.2 U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Contract with IBM Corporation. IBM web site pages may contain other proprietary notices and copyright information which should be observed. Linux is a registered trademark of Linus Torvalds in the United States, other countries, or both. Red Hat is a registered trademark of Red Hat, Inc. in the United States and other countries. Novell, and SUSE are registered trademarks of Novell, Inc. in the United States and other countries. VMware is a registered trademark or trademark of VMware, Inc. in the United States and /or other jurisdictions. Intel is a trademark of Intel Corporation in the United States and other countries. Other company, product, or service names may be trademarks or service marks of others. 7.0 Disclaimer THIS DOCUMENT IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. IBM DISCLAIMS ALL WARRANTIES, WHETHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE AND MERCHANTABILITY WITH RESPECT TO THE INFORMATION IN THIS DOCUMENT. BY FURNISHING THIS DOCUMENT, IBM GRANTS NO LICENSES TO ANY PATENTS OR COPYRIGHTS.