以前「GA-MA78GPM-DS2H」+「AMD Athlon X2 5050e」にインストールした Debian stretch の調子が悪い…。
症状としては、突然再起動がかかる、気が付くと電源が落ちている、といった感じなのだが、一番の問題はログが残らないので、原因の特定が困難な事…。症状から察するにハードウェア関係、またはドライバ関係の問題っぽいのだが、マイナートラブルなのか、アップデートで問題が解消される訳でもなく、ネットで検索してみても話題にすらなって無いっぽい…。
という事で、余ってるマシンを代理マシンにする事にした。
今回のターゲットPCは「
TOSHIBA dynabook EX/35LWHKS」というラップトップ PC。
構成としては「インテル Celeron プロセッサー 900」+「モバイル インテル GL40 Expressチップセット」、グラフィックは「モバイル インテル GMA 4500M」という感じ。
例によって Debian stretch は32bit(i386)版です。
で、タイトルの「Debian stretch もしかして腐ってる?」についてなんですが、今回のインストール中にも、突然ハングアップする、突然再起動する、といった症状が出てしまい、結局何回もインストールし直したり、設定を変えてみたりを繰り返すはめになった為、この様なタイトルになってしまいました…。
以下、素人なりの分析。
- 前回の「GA-MA78GPM-DS2H」+「AMD Athlon X2 5050e」が Debian stretch インストール直後から調子が悪い。が、その直前までは Debian wheezy で問題無く使用出来ていた為、ハードウェアの不具合は考えにくい。
- ログも吐かずに突然再起動する、電源が切れるといった症状から、ハードウェア周りか、ドライバ周りの問題の可能性が高い。
- 今回の「TOSHIBA dynabook EX/35LWHKS」に Debian stretch をインストールしても、ハングアップする、突然再起動する、といった症状が出てしまったが、主にドライバの設定で回避できた。
結果、Debian stretch のドライバ周りは腐ってるっ!(※個人の感想です)
それと、前回のインストールではデスクトップ環境として「CINNAMON」を選択したんですが、今回は結局ハードウェアレンダリングを無効化しなければならなくなった為、デスクトップ環境とし「MATE」を選択する事にしました。ちなみに「メイト」と読むものだと思っていたら、「マテ」と読むのが正解でした…。
以下、インストールログです。
- PC に CD をセットして起動、インストールを開始する。
- 最初のメニューでグラフィカルインストールを選択。無事インストール開始。
- 言語は日本語、インストール対象は「Debian デスクトップ環境」、「MATE」、「標準システムユーティリティ」のみ。インストールが始まるのでしばらく待つ。
- インストールが完了すると CD が排出され、再起動するかと聞かれるので CD を回収し再起動。
- 再起動すると GRUB のメニューが表示され、デフォルトで先ほどインストールしたシステムが起動される。
- 起動ログが流れていき、ログイン画面が出るか、というタイミングでクラッシュ!
画面が虹色モザイクというか何というか、表示が完全に崩れ、しかも何の操作も受け付けなくなりました。
Ctrl + Alt + F1 等で他のコンソールに切り替える事も出来ません。
- 電源ボタンの長押しで再起動する…。
で、ここからの試行錯誤が非常に長かったんですが、先に結果だけ書き留めておきます。
- "/etc/X11/xorg.conf" ファイルを作り、グラフィックドライバの設定を変更する。
- グラフィックドライバは "intel" を指定。
- グラフィックドライバのオプション "NoAccel" を指定し、ハードウェアアクセラレーションをオフる。
- "/etc/default/grub" ファイルへカーネルパラメーターを追加し、"execlist" を無効化する。
これでやっとまともにログインし、デスクトップにたどり着けました…。
"xorg.conf" の作り方については「
debian squeeze で xorg.conf が無い場合の対処法 | ラムダ算法書店」を参考にさせてもらいました。"intel" グラフィックドライバの設定等に関しては「
Intel Graphics - ArchWiki」を参考にさせてもらいました。
特に「
Intel Graphics - ArchWiki」は、"intel" グラフィックドライバに関して、色々な環境、いろいろなトラブルについて詳細に書かれており、大変参考になりました。その反面、膨大な情報の中から自分の環境に合った正解に辿り着くまでに、大変な時間を要しました。もちろん私の場合は解決に至ったので、大変感謝しています!
以下、個別の作業メモです。
通常通り起動してしまうとグラフィカルログイン前、またはログイン後に、クラッシュやフリーズをしてしまうので、"GRUB" メニューの "Advanced options for Debian GNU/Linux" -> "recovery mode" から、リカバリーモードに "root" でログインして作業を行います。
- コンソールが日本語に対応していない為、日本語メッセージが化けてしまうので、言語設定を英語にする。
- "Xorg -configure" コマンドで "/root/xorg.conf.new" ファイルを作成。
- "/root/xorg.conf.new" ファイルを、"/etc/X11/xorg.conf" へと移動、改名。
- "/etc/X11/xorg.conf" ファイルを編集し、グラフィックドライバの設定を変更。
- "/etc/default/grub" ファイルを編集し、カーネルパラメーターを追加。
- "update-grub2" コマンドで GRUB を更新。
- 再起動。
"/etc/X11/xorg.conf" ファイル編集までのコマンドです。
# export LANG=C
# Xorg -configure
# mv /root/xorg.conf.new /etc/X11/xorg.conf
# vi /etc/X11/xorg.conf
"/etc/X11/xorg.conf" ファイルの内容です。Identifier "Card0"、"Card1" と 2モード分のグラフィックデバイスの設定が有るので、ここに "NoAccel" オプションを追加します。
(省略)
Section "Device"
(省略)
Identifier "Card0"
Driver "intel"
Option "NoAccel" "True"
BusID "PCI:0:2:0"
(省略)
EndSection
Section "Device"
(省略)
Identifier "Card1"
Driver "intel"
Option "NoAccel" "True"
BusID "PCI:0:2:1"
(省略)
EndSection
(省略)
"/etc/default/grub" ファイルを編集します。
# vi /etc/default/grub
"/etc/default/grub" ファイルの内容です。"GRUB_CMDLINE_DEFAULT" へ "i915.enable_execlists=0" を追加し、"execlist" を無効化します。
(省略)
GRUB_CMDLINE_DEFAULT="quiet i915.enable_execlists=0"
(省略)
"update-grub2" コマンドで GRUB を更新し、再起動します。
# update-grub2
# reboot
無事、グラフィカルログインも成功し、デスクトップが表示されました!
今回の環境「TOSHIBA dynabook EX/35LWHKS」では、ハードウェアアクセラレーションの無効化、"execlist" の無効化で、なんとか使える環境まで持っていけました。その他ソフトウェアのインストールや、システムの移行が完了したら、「GA-MA78GPM-DS2H」+「AMD Athlon X2 5050e」にも再挑戦しようと思っています。やっぱグラフィックドライバ周りが原因なのかなぁ…。