2012年7月15日日曜日

x121e bios update on Fedora16 without optical drives

x121eのBIOS最新版1.16が出ていたのでアップデートしてみます。

これまでx121eのBIOSアップデートプログラムはWindows用のバイナリで提供されていたため、BIOSアップデートにはいちいちWindowsに戻す、という面倒な手順が必要でした。

しかし最近はWindowsバイナリと共にBootable ISOが提供されるようになりました。
http://support.lenovo.com/ja_JP/

・・・が、x121eにはCD-ROMドライブがない上に、自宅にはUSB-CDROMドライブもない情弱っぷりなので、なんとか内蔵ストレージのまま、かつLinuxのままBIOSアップデートできないかと、調べてみた所、うまく行ったので手順をまとめておきます。


準備

BIOSアップデート用のブートイメージをダウンロード
http://support.lenovo.com/ja_JP/downloads/detail.page?DocID=DS019252

ダウンロードしたイメージを /boot 配下にコピーします。
# cp 8quj09uc.iso /boot


syslinuxのインストール
# yum install syslinux.x86_64

memdiskイメージを同じく /boot へコピーします。
# cp /usr/share/syslinux/memdisk /boot


おまじない(いらないかも)
chmod +x /boot/memdisk /boot/8quj09uc.iso


grub2メニューの編集

この時点でお気づきかと思いますが、メディア不使用のBIOSアップデートはGrubからISOイメージを直接起動して実現します。

Fedora16からGrub2がデフォルトなので注意
参考:Fedora16 grub2の起動メニューを編集

# vim /etc/grub.d/40_custom
以下を追記します。
menuentry "BIOS Update" {
       insmod part_msdos
       insmod ext2
       search --no-floppy --fs-uuid --set=root aeb6901d-80c2-4844-9884-87995cc7056e
       linux16 /memdisk iso
       initrd16 /8quj09uc.iso
}
--set=rootの後に指定するUUIDは、/etc/fstab に書いて有ります(/bootのUUIDです)

もしくは以下のコマンドで探せます。

# grep root /etc/grub2.cfg

メニューを編集したら、以下のコマンドでgrub2.cfgをアップデートします。

# grub2-mkconfig -o /boot/grub2/grub.cfg


書式に問題がなければ、/boot/grub2/grub.cfg に以下の内容が追記されます。
### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
menuentry "BIOS Update" {
       insmod part_msdos
       insmod ext2
       search --no-floppy --fs-uuid --set=root aeb6901d-80c2-4844-9884-87995cc7056e
       linux16 /memdisk iso
       initrd16 /8quj09uc.iso
}

これで起動時のGRUBメニューから「BIOS Update」を選択することで、BIOSのアップデートが実行されます。


アップデート画面

再起動時に「BIOS Update」を選択すると以下の画面が起動すれば成功です。




BIOSアップデート完了後は、BIOSメニューからいったんBIOS設定をデフォルトへ戻しておきましょう(おまじない)


アップデートの確認

$ sudo dmidecode -s bios-version
8QET55WW (1.16 )

0 件のコメント:

コメントを投稿