*1  Acer C7 Chromebook を Developer Mode に切り替えて Ubuntu をインストール

Ubuntu on Chromebook前回の続き。Chromebookはそれなりの事ができつつも使い込むと細かい使い勝手が気になる状態であり、まあ元からそのつもりでもあったので Ubuntu に入れ替えることにする。やり方自体は How to install Ubuntu 12.04 on the $199 Acer C7 Chromebook などで既に公開されており、通常のインストールとは異なるもののそう難しいものではない。

Developer mode への移行
通常 Chromebook は最新リリース版 ChromeOS へのアップデートを自動で行う仕組みになっているため、それ以外のものを入れる場合はまず Developer Mode にする必要がある。

過去の Chromebook は物理スイッチでDeveloperモードへの切り替えが行われたらしいが、C7 にはそうしたスイッチはない。ではどうするかというと、電源を切った状態から「ESC + Refresh (最上段のリロードキー) 」を押しっぱなしで電源を入れることで起動時に Repair モードに入る。「Chrome OS is missing or damaged」等と言われるが、ここで更に Ctrl + D を押すことで to turn OS verification OFF, press ENTER という画面に進む。ENTERを押すと OS verification が無効にな状態で再起動され、Developer modeへの変更処理が行われる。
Your system is transitioning to Developer Mode
Preparing system for Developer mode
のようなメッセージが表示され、実際の変更処理に数分待たされる。起動が終わると Chromebook を初回立ち上げた時に表示されるセットアップ画面が表示される。最初の画面でネットワークコネクションを設定、ないし有線でEthernetに接続。Google Account にログインしていない状態で「Ctrl + Alt + → (Fwd) 」キーを押すと Developer Console 画面が表示される(ちなみに Ctrl + Alt + ← (Back) でGUIに戻る)。その画面に表示されている通り、Console からは ユーザID chronos でシェルログインが可能。
  
ログインしたら chromeos-firmwareupdate コマンドを使ってファームウェアを Developer 用のものに書き換える。といってもコマンドを1つ実行するだけ。
localhost login: chronos
 $ sudo bash
 # chromeos-firmwareupdate --mode=todev
これで Developer mode の firmware がインストールされ、標準以外のOSイメージが利用可能になる。この状態で一旦再起動しておく。
 # reboot

*2  ChrUbuntu 12.04 のインストール

Developer firmware が導入されたとは言え Chromebook BIOS では Chromebook 以外の OS boot image を起動できないらしい。なので他のOSを入れる場合は Chromebook が動いている状態から直接 partition を切りなおしてシステムをインストールしたり bootloader を書き換えたりという処理が必要になる。そうした一連の処理をスクリプトにまとめて提供している ChrUbuntu 12.04. Now with double the bits! という記事があるため、基本的にはこの方法に従えばよろしい。

Developer mode での起動状態から再度 Ctrl + Alt + → でコンソール画面に移行し、再度 chronos でログイン。コンソールから以下のコマンドを入力する。
$ wget http://goo.gl/i817v; sudo bash i817v
(ちなみに私が導入した際は http://goo.gl/2x8a4 だったのでその後更新されたらしい) 。

初回実行時は ChrUbuntu に利用するHDDのサイズを聞かれるので適当に指定する。私は 250GB を割り当てた。再起動すると Partition 設定がしばらく動作し、その後はパッケージのインストールが進むので 10-15 分ほど待つことになる。インストールが完了すると Chromebook は再起動し、Ubuntu のログイン画面が表示されるので ユーザID user パスワード user でログイン。なお root password も user になっている。ログイン後は新規ユーザを作るなりパスワードを変更するなりしよう。

このままだと再起動した際に ChromeOS が起動する。Ubuntu を起動させたい場合は以下のコマンドを実行する。
$ sudo cgpt add -i 6 -P 5 -S 1 /dev/sda
ChromeOS を起動するには Developer Mode を off にするか、もしくは以下のコマンドを実行する。
sudo cgpt add -i 6 -P 0 -S 1 /dev/sda
ここまで完了してしまえばほぼ普通の Ubuntu であり、ハードウェアの認識なども特に問題なく利用できる。ただ Suspend/Resume 時に dbus 関係のプロセスが暴走するという古来伝わる不具合が発生してしまっており、まだ解決できていない。

*1  Ubuntu 11.10 から 12.04 にあげたら X が起動しなくなった問題への対処

繋がってしまえば大した事はない話なのだが結構ハマったのでメモとして。最近のインストーラや自動設定ツールはよく出来てるからこういう問題でハマることって少なくなった分、たまに出ると手間取る。

まずは Ubuntu 11.10 でSingle Monitorで動いていたものが12.04へ上げたらそもそもXが起動しなくなったところから。エラーでは /usr/sbin/lightdm が異常終了しているとなっており、/var/log/Xorg.0.log や /var/log/Xorg.failsafe.log などを眺めるに nvidia driver が無いとか騒いでいる。とりあえず後から入れた proprietary のドライバを削除。
sudo apt-get purge nvidia\*
sudo dpkg-reconfigure -phigh xserver-xorg
これで低解像度だが起動だけはするようになった。/etc/apt/sources.list.d/ からnvidia 関係のものを削除し、Ubunsu の nvidia driver を入れてみる。
sudo apt-get update
sudo apt-get install nvidia-current
sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.backup
sudo nvidia-xconfig
この後に再起動 (ないし X を restart) して、とりあえず無事に X が上がるところまでは回復。

*2  Ubuntu 12.04 と NVIDIA Quadro NVS420でマルチディスプレイ接続

さてここからが本番。Windows7 では問題なく利用できている NVIDIA Quadro NVS420 と Dell Monitor 2台を繋いだ環境を、Ubuntu 12.04 でも使えるように設定。普通であれば通常の設定画面である gnome-configuration-center の Display セクションに2台目のディスプレイが表示されて設定できるはずだが、この環境では表示されない。ので nvidia-settings から設定する。
% dpkg -l nvidia\* | grep \^ii
ii  nvidia-current                         295.40-0ubuntu1
  NVIDIA binary Xorg driver, kernel module and VDPAU library
ii  nvidia-settings                        295.33-0ubuntu1
  Tool of configuring the NVIDIA graphics driver
と言う感じで nvidia-current を入れると依存して nvidia-settings パッケージが入っているはずなので、コマンドラインから nvidia-settings を実行、ないしメニューからnvidiaで検索して実行。

この時点で X Server Display Configuration に 2台のディスプレイが表示されているはずなので、2台目の方を TwinView で activate する。nvidia-setting からは直接設定を反映させられないので、Save to X Configuration File から /etc/X11/xorg.conf に保存して X を再起動する必要あり。これで次回ログイン時には dual monitor でセッションが開始されるはず。gnome-configuration-center からは1枚の大きなディスプレイとして認識されるようだ。

これ、最初に選択しようとしたときは Separate X Screen しか選択できず、しかもそちらで起動すると 2台目のディスプレイが真っ白に表示されるというバグを踏み、かつそれを解決しても X の process が別なのでモニター間でウィンドウの受け渡しができない、と言う状態になった。これはなんの事はない NVIDIA Quadro NVS 420 は 4つの出力が 2+2 で異なるGPUに割り当てられていて、X は別GPUでは別プロセスになるらしい。2台でTwinViewするだけなら同じ側のスロットに2台とも繋げば大丈夫。

About W.W.Walker

World Wide Walker は yoosee による blog です。PDA, Web・サーバ技術, 美味しい食べ物などの話題を取り上げています... read more

Monthly Archives

Select Month to read
  

Ads

Recent Entries

Related Sites