RHEL 6 系で HP 製品のファームウェア更新時に file not found が出たら

標準

RHEL 6 系で HP ProLiant ML110 G6 の Lights-Out 100 Remote Management のファームウェアを更新しようとすると次のようなエラーが出ました。試した環境は、Scientific Linux 6.2 x86_64 です。

# chmod 700 CP017117.scexe
# ./CP017117.scexe
./hpsetup: line 2: .: lo100.sh: file not found
Parameters are: --source /usr/local/src/hardware/lightsout
./hpsetup: line 7: lo100main: command not found

最初、これが起きる原因が良く判らず、毎回 USB メモリを作ってブートして更新していました。でも、USB メモリで更新するのはマシンをそこそこの時間止めないといけないし、現地作業も面倒なので、原因を調べてみたら解決できたのでまとめます。

まず原因は、RHEL 6 系になって、/bin/sh でシェルを起動した時に、「. ファイル名」で指定したファイル名を見つけられなくなっていることでした。RHEL 5 系では見つけられるので、bash のバージョンが 3 系から 4 系になって挙動が変わったのだと思います。/bin/bash でシェルを起動すれば動作するので、ファームウェアの更新インストーラを展開し、シェルの指定を書き換えて実行します。

まずは展開します。特にヘルプなどないのですが、CP017117.scexe ファイルを less で見ると –unpack オプションが用意されていました。下記の例では、setup フォルダが作成され、そこに展開されます。

# ./CP017117.scexe --unpack=setup

実行シェルスクリプトである、hpsetup に書かれたシェルの指定を /bin/sh から /bin/bash に書き換えます。

# cd setup
# perl -pi -e 's|#!/bin/sh|#!/bin/bash|' hpsetup

そして、hpsetup を実行すれば無事更新されます。

# ./hpsetup
Parameters are:
HP Lights Out 100 Offline Firmware Update Engine
     Copyright (c) 2009 - Hewlett Packard
-----------------------------------------------
Running with
Parsing
Found IPMI - checking results
Package 4.23 - currently at 4.22
Firmware binary payload is LdrImage.bin
Firmware package is version 4.23
Not forced - checking version
           -Update needed
Flashing firmware
HP Proliant Lights-Out 100 Flash Utility v1.2-00
Copyright (c) 2003, 2010 Hewlett-Packard Development Company, L.P.
[03:07:51] Validating Input File Run-time Image.
Validating Input File Image...................
[03:07:51] Run-time Image Checksum Validated
[03:07:51] Run-time Image Size (Bytes to Flash): 2071280
[03:07:51] Current BMC FW Revision: 4.22
*WARNING: FLASH PROCESS MAY TAKE A FEW MINUTES TO COMPLETE.
*WARNING: DO NOT CYCLE POWER OR IN ANY WAY INTERRUPT THE FLASH PROCESS.
Erasing Sectors...............................................................
Writing Sectors.............................................
Performing BMC Warm Reset...
Restoring BMC Sensors...
[03:10:15] Flash Process Complete.
[03:10:15] Current BMC FW Revision: 4.23
[03:10:15] Total elapsed time                                144.00 sec(s)

これでアップデートが簡単にできるようになりました。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です