goo blog サービス終了のお知らせ 

coLinux日記

coLinuxはフリーソフトを種として、よろずのシステムとぞなれりける。

Pidora のアップデートでのトラブル

2013-08-03 20:59:28 | Raspberry Pi

ちょっと用があって、Raspberry Pi にさわれませんでした。久しぶりにログインして、再びアップデートしてみました。表示は適当に改行してあります。

# yum update
..............................
=======================================================
 Package    Arch     Version                                  Repository              Size
=======================================================
Updating:
 raspberrypi-vc-demo-source
                armv6hl 20130711gitba8059e-3.rpfr18 pidora-rpfr-updates  30 M
 raspberrypi-vc-firmware
                armv6hl 20130711gitba8059e-3.rpfr18 pidora-rpfr-updates 1.4 M
 raspberrypi-vc-libs
                armv6hl 20130711gitba8059e-3.rpfr18 pidora-rpfr-updates 217 k
 raspberrypi-vc-libs-devel
                armv6hl 20130711gitba8059e-3.rpfr18 pidora-rpfr-updates 234 k
 raspberrypi-vc-static
                armv6hl 20130711gitba8059e-3.rpfr18 pidora-rpfr-updates 152 k
 raspberrypi-vc-utils
                armv6hl 20130711gitba8059e-3.rpfr18 pidora-rpfr-updates 111 k

Transaction Summary
=======================================================
Upgrade  6 Packages

Total download size: 32 M
Is this ok [y/N]: y
.........................................................

Complete!
#

6つのアップデートを適用してリブートしたところ、左から4番目の赤いランプが付くだけで、ネットワークの左から3つのランプがつきません。あわてて、ディスプレイ、キーボードをつないで立ち上げたところ何も表示されません。別のカードでは正常に動作するので、このアップデートで何らかの障害が起こったと思われます。

調べるための準備をします。正常に動作する別のカードでブートするときに、電源付きのUSBハブを付けて、USBカードリーダーをつなぎました。Pidora が正常に立ち上がってから、立ち上がらないSDカードを挿入します。dmesg コマンドなどで確認できますが、ここでは /dev/sdd として認識されました。早速マウントします。

# mount /dev/sdd2 /mnt
# mount /dev/sdd1 /mnt/boot

画面が何も表示されないので、カーネルに制御が渡る前のトラブルと考えて、/mnt/bootの中身を調べてみ ます。 2013.07.11 の日付の、以下の3つのファイルが問題のようです。

boot/bootcode.bin
boot/start.elf
boot/fixup.dat

# yum provides /boot/bootcode.bin /boot/start.elf /boot/fixup.dat

で、調べてみますと、いずれも、raspberrypi-vc-firmware のアップデートで修正されています。

# yum info raspberrypi-vc-firmware
......................
Summary     : GPU firmware for the Raspberry Pi computer
......................
Description : This package contains the GPU firmware for the Raspberry Pi
            : BCM2835 SOC including the kernel bootloader.
#
# rpm -ql raspberrypi-vc-firmware 
/boot/bootcode.bin
/boot/fixup.dat
/boot/start.elf
/usr/share/doc/raspberrypi-vc-firmware-20130711gitba8059e
/usr/share/doc/raspberrypi-vc-firmware-20130711gitba8059e/LICENCE.broadcom
#

つまり、Raspberry Pi のGPUファームウェアの3つのファイルが原因のようです。仕方が無いので、3つのファイルを別のSDカードのものからコピーします。

# cp -R /boot/{bootcode.bin,start.elf,fixup.dat} /mnt/boot

これでリブートすると一応立ち上がりました。念のため、次のようにもう一度インストールします。

# yum reinstall raspberrypi-vc-firmware-20130711gitba8059e-3.rpfr18.armv6hl ........................... 
# 

インストールされた3つのファイルをエラーになったものと比較すると同じでしたが、ここでリブートすると再起動されました。

しかし、もう一度同じように残りの5つを再インストールして、その後にもう一度 raspberrypi-vc-firmware を再インストールしてもリブートできませんでした。 つまり、3つのファイルが問題なのでは無く、このアップデートを6つ同時に行うと何故か3つのファイルがエラーになりブートできなくなるが、以前動いていたものを一度コピーしてブートしてから、raspberrypi-vc-firmware だけを改めて再インストールすると正常に起動できるようになるようです。

アップデート前に、ブート可能な予備のSDカードを作成して、/boot の中身をどこかに待避しておくことをお勧めします。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする