2012年6月5日火曜日

[PC][Linux][Fedora]Fedora17へアップグレードしたんだが・・・

5月末にリリースされたという事で、無事M/B交換も済んだので満を持してFedoraの更新に挑んだわけですが・・・。
まぁ、私のBlogにちょくちょく遊びに来てくれている人はもうお分かりでしょう。

今回も見事に起動不能に陥ってから華麗に復活を遂げました。

あ、復活といってもまだ完全に安定した環境にはなってません・・・。といっても、それはFedoraが悪いわけではなく、Llanoにまだカーネルが追いついていないという事らしい・・・。現行3.3ですが、3.4でも修正されず、3.5で修正されるかも、ということのようです。泣ける。。。

ということで、詳しくはここから。

まず、いつもどおりYumでアップグレードするかなーってことでUpgrading Fedora using yum - FedoraProjectのサイトをチェック。事前にやっておくべきことを調べてみたら、なんとまぁ・・・。今までで一番強く「非推奨」って書かれてるしOrz

There is a general warning about upgrading via. yum being unsupported at the top of this page. However Fedora 17 is very special. You should seriously consider stopping now and just using anaconda via. DVD or preupgrade, unlike all previous releases it's what the yum/rpm developers recommend. Continue at your own risk.

どうも、Fedora17からは/binやら/libやらが/usr/binのシンボリックリンクになるそうで。それのマージ処理をしないといけないからパワーユーザにしかおすすめしないし、基本おすすめしないとのこと。PreupgradeかインストールDVDでアップグレードを推奨するよとのこと。

正直、ここまで非推奨と言われてしまえばさすがにビビるってことでいさぎよくDVD落としてきました。えぇ。
Preupgradeやるには/bootの容量が不足しているのでyumかDVDしかないですしね。。。

で。はて何年ぶりだろうというanaconda経由のインストール。アップグレードなんで特に設定することは何もなくさくさくとインストールしていきます。

で、小一時間でアップグレード作業は完了。さくっと再起動!

で、ここからが地獄でしたw まぁ再起動自体は問題なく。ただ、これあとから気付くことですが、このとき選んでたカーネルがFedora16のものだったようで。シャットダウンした時に気付いたんですけどね・・・。

とりあえず起動して、まずはyum upgrade・・・ってやろうとしたらなんかあほほど依存関係壊してるし!?
まぁ、DVDでのインストールってたしか
# rpm -Uvh --force --nodeps
だった気がするんだよなぁ・・・。今は違うのかもしれないけど。まぁそんなこんなで、結局はyumで更新した時と同じ程度に面倒な作業を延々とやってました。
おまけにここ数日のくそ遅い回線速度のせいでWiMAX使って更新することに。。。持っててよかったWiMAX。すまぬ、すまぬ1GB以上ダウンロードしてしまって・・・w

で、アホほど溜まってた依存関係の壊れたパッケージを綺麗に更新し、もう夜も遅かった(てか空が白んできてた朝4時前)のでご就寝。
このとき、シャットダウンがおかしかったんですよね。shutdownコマンドが見つからないとか言ってカーネルパニック起こしてて。
まぁ、カーネル更新したけど、M/B交換してからdracutでinitramfs作り直してないしなーinitramfsが整合取れてないんだろうとか思いつつ、眠かったから寝たんですね。

で、次の日。いそいそと起動しようとしたら、はい起動不能! メンテナンスモード直行ですよ。
で、このメンテナンスモード、直接の原因はVirtualBoxでUSBを使うために設定した/etc/fstabの次の一行にありました。
none                   /vbusbf                 usbfs   rw,devgid=501,devmode=664       0 0
色々と必死こいて調べた結果、
1. usbfsなんてファイルシステムがなくなってたらしく、マウントに失敗
2. それに引きずられてあらゆるマウントポイントをマウント失敗
3. メンテナンスモードこんにちわ
ってことだったらしい。

まぁそれに気がつくまでに随分遠回りしました・・・。まずPlymouth立ち上がってすぐメンテナンスモードに落ちるけれど落ちた時にはもうメッセージは流れて消えてしまっていたからカーネルオプションにnomodesetを追加してPlymouth無効。
で、こんなメッセージを眺めながら原因追求。
送信者 2012/06/02
最初は/libとか/binのシンボリックリンクのマージ作業がなされなかったのかと思ってrc.convertfsをカーネルオプションに追加したり、initramfs作りなおしたり色々とやったけど全部ダメで。
で、Fedora17のカーネルは駄目だけどFedora16のカーネルなら起動できることが分かってなんどか差分を探したけど分からなくて、途方に暮れてたけどようやく解決。
いやほんと、私はアップグレードで起動しなくするのが得意だぜ・・・

ただ、インストールDVD突っ込んだ時からずっと疑問に感じていたのが、デュアルディスプレイでHDMIが出力されていないという事。
Fedora16のときには表示されていたようなそうでもないような。

まぁ、大変はた面倒なことに、認識はされてるんですよね。DVIもHDMIもxrandrで見るとconnectedになってる。
ただ、HDMIはPlymouthが起動した瞬間に信号なしに。

だからnomodesetで起動してみたら、まぁ問題なく表示されてる。ただ、nomodesetにするとvesaドライバに落ちるから非常に残念なことになるのね。
で、色々とやってると、不意に気付いた。

一度xrandrでHDMIのディスプレイをOFFし、再度ONにするとちゃんと映像を出力するという事に。。。

どうやら、色々と調べているとLlanoではデュアルディスプレイ環境にしてるとDVI以外の端子からサスペンド信号を流しているらしく、ディスプレイがスタンバイ状態に落ちるんだとか。
だので何かしら制御信号を端子に投げてやることでディスプレイを起こすことが出来るらしい。。。
いやそもそもスタンバイに落とさないでくれよと。

Llanoに限らずAMDのカードでは頻発しているようで、解決法が書かれたサイトもあったんですがうちの環境ではそれは効果が出ず。
一応、Kernel-3.4では解決されず、Kernel3.5で解決されるかもしれないってことですがだいぶ先ですね・・・。

まぁ一応、ディスプレイが表示されない訳じゃないのでしばらくは手動で対処します。。。

ほんと、LinuxでAMDは相性悪いやね・・・。とても他の人にはオススメできないわw

あ、あと、私のFedoraインストール記ですが、Blogを振り返ったところ、Fedora2からは記録が残っていました。唯一Fedora14だけ見つからなかったんですが、それ以外はちゃんと記録残してたんですねぇ。
Fedora14に関しても、おそらくTwitter振り返ればやっているでしょう。。。 あとで確認しておこう。

この記録を振り返っても、まー相当な確率で起動不能に陥っているので、Fedora2から17までのインストール記録をまとめた記事でもそのうち書こうかと思います。
起動不能率を調べたら面白いことになりそうだw