マツド・サイエンス研究所

LOOX U/C30 に Ubuntu 8.04 をインストして高解像度

LOOX U/C30 に Ubuntu 8.04 をインストしてしまった。既に Ubuntu 8.10 のインストに成功しているのだから、何を後退したことを・・と思われるかも知れないが、そんな事はない。 Ubuntu 8.10 には、専用グラフィックドライバが無いため、せっかくの 1280x800 の解像度を使えず、汎用ドライバで、1024x600 (正確に測定したわけでは無いので予想)の解像度しか使えなかったのだ。

ネット上を探すと、 Ubuntu 8.04 には専用グラフィックドライバがあり、1280x800 の高解像度が使え、輝度が自由に設定できるようになる。私の場合は、さらに Ubuntu 8.04 なら、Maxima が正常動作するというオマケまで付く。ただし、 Ubuntu 8.04 のインストはチト面倒だが、この辺は、LOOX U だけではなく、同じようなハードウエア構成の DELL Inspiron Mini 12 や SONY type P に Ubuntu インストするときの役に立つかもしれない。

さて、まずは、普通に Ubuntu 8.04 をインストするところから、始める。

「Ubuntu 8.04.1 LTS 日本語ローカライズド Desktop CD」を USB接続の外部CD-ROMドライブに入れて起動しても良いし、USBメモリから起動しても良い。Ubuntu 8.04 をUSBメモリから起動する方法については、Ubuntu を徹底して簡単にするサイトを参照のこと。

起動時に F6 キーを押し、カーネルオプションとして、行末に「generic_all_generic_ide」を追加しないと、HDD を認識しない。ただし、 LOOX U/C30 の キーボードからは、「_(アンダーバー)」が入力できない。一度、F3 キーを押し、キーマップを「USA」にして、シフト+「-」を押すことで、「_(アンダーバー)」が入力できる。オプションが入力できたら、起動前に、もう一度、F3 キーを押し、キーマップを「JAPAN」に戻しておく。

その後は普通にインストする。インスト完了後、再起動を促するダイアログが出るが、「ライブCDを使い続ける」を選択する。 端末を起動し、以下を実行する。

$ sudo mount /dev/sda5 /mnt    << sda5 の部分はインストしたパーティションにすること
$ sudo vim /mnt/boot/grub/menu.lst
として、
kernel		/boot/vmlinuz-2.6.24-19-generic root=UUID=〜 中略 〜 splash generic_all_generic_ide
と言うように、行の最後に「generic_all_generic_ide」を追加する。

ここで初めて、再起動。

再起動しても無線LANが使えないので、 無線LAN を使えるようにする。LOOX U が使っている無線LANはath9k と言うドライバで動くものらしい。

Re: ath9k から、compat-wireless-ath9k-2.6.24-19-generic_20080806-mactel1_i386.deb をダウンロードする。 LOOX U の Ubuntu でネットが使えなければ、他のパソコンもしくは、LOOX U の Windows XP でファイルだけをダウンロードして、USBメモリやSDカードで持ってくる。

$ sudo dpkg -i compat-wireless-ath9k-2.6.24-19-generic_20080806-mactel1_i386.deb
再起動したら、普通に無線LAN が使える。

無線LANが使えるようになったら、OSをアップデートする。 アップデート後、/boot/grub/menu.lst から generic_all_generic_ide のオプションが消える事があるので、注意。再起動前にチェックして、消えていたら付け加えておく。 新規に追加されたカーネル(現時点では、2.6.24-23-generic)にもオプションを追加しておこう。万一、/boot/grub/menu.lst から generic_all_generic_ide が消えて、起動できなくなった時のために、USB メモリに起動可能な Ubuntu 8.10 か Ubuntu 8.04 を入れておくと便利。USB メモリから起動した Ubuntu でハードディスク内部の /boot/grub/menu.lst に generic_all_generic_ide を追加すると戻る。 アップデート後、2.6.24-19-generic から起動しても、無線LANが使えないことがある。この場合は、もう一度、下記コマンドを繰り返すと、再起動後、無線LANが使えるようになる。

$ sudo dpkg -i compat-wireless-ath9k-2.6.24-19-generic_20080806-mactel1_i386.deb

ここからが本題のグラフィックと無線LANドライバの更新。

まず、無線LANの使えるカーネル(最初の時点では、2.6.24-19-generic)上での作業する。

・https://launchpad.net/~ubuntu-mobile/+archive から xserver-xorg-video-psb_0.16.0+repack-0ubuntu1~804um6_i386 をダウンロード。

・http://ubuntuforums.org/showpost.php?p=5545069&postcount=5 から compat-wireless-ath9k-20080806.tar.gz をダウンロード。

カーネルモジュールの再構築 を再構築する。

$ sudo apt-get install build-essential kernel-package libncurses5-dev
$ sudo apt-get install dpkg-dev fakeroot debhelper linux-kernel-devel devscripts
$ sudo apt-get install linux-headers-generic
$ sudo apt-get install linux-source
$ apt-get source linux-ubuntu-modules-2.6.24-23-generic
$ vim ~/linux-ubuntu-modules-2.6.24-2.6.24/debian/config/i386

として、次の行を追加する。

CONFIG_DRM_PSB=m

$ cd linux-ubuntu-modules-2.6.24-2.6.24/
$ fakeroot debian/rules binary-modules-generic
終わると、 ~/linux-ubuntu-modules-2.6.24-23-generic_2.6.24-23.36_i386.deb ができている。LOOOX U/C30 (Z520 1.33GHz) だと、32分かかった。ちなみに、Athlon64X2 4200+ だと8分。

再起動して、最新カーネル(2.6.24-23-generic)から起動。この状態でも、まだ無線LANも高解像度グラフィックも使えない。

$ tar zxvf /home/anoda/compat-wireless-ath9k-20080806.tar.gz 
$ bash compat-wireless-ath9k-20080806.sh
~/compat-wireless-ath9k_20080806-debgen1_i386.deb ができている。

次の順で、インストール。

$ sudo dpkg -i linux-ubuntu-modules-2.6.24-23-generic_2.6.24-23.36_i386.deb
$ sudo dpkg -i xserver-xorg-video-psb_0.16.0+repack-0ubuntu1~804um6_i386
$ sudo dpkg -i compat-wireless-ath9k_20080806-debgen1_i386.deb
もう一度、再起動して、最新カーネル(2.6.24-23-generic)から起動すると、無線LANも高解像度グラフィックも使える。

最後にタッチペンも使えるようにする。

Synaptic で「evtouch」をインストール

/etc/X11/xorg.conf に次のように InputDevice を追加する。なお、MinX などは私のLOOX U の値だ。個体差があると思うので、調整する必要があるかもしれない。

Section	"InputDevice"
Identifier "touchscreen"
Driver "evtouch"
Option "Device" "/dev/input/by-id/usb-Fujitsu_Component_USB_Tou
ch_Panel-event-joystick"
Option "DeviceName" "touchscreen"
Option "MinX" "356"
Option "MinY" "1076"
Option "MaxX" "15502"
Option "MaxY" "15897"
Option "MoveLimit" "1"
Option "ReportingMode" "Raw"
Option "Emulate3Buttons"
Option "Emulate3Timeout" "50"
Option "SendCoreEvents" "On"
EndSection
また、ServerLayout の中に次の一行を追加する。
Section "ServerLayout"
Identifier "Default Layout"
Screen "Default Screen"
InputDevice "touchscreen" << この行を追加
InputDevice "Synaptics Touchpad"
EndSection

これで完了。

注意

ブログのコンテンツの内、「告知」など時期よって情報価値が無くなるのは除いてある。また、コンテンツに付いたコメントは書き込み者に著作権があるものと判断し、ここに持ってきていないので、コメントを見るときは、元々のブログコンテンツを参照してもらいたい。

その他、ブログ発表後、コメントなどの内容を反映するなど、内容を変更しているものもあるので、注意してほしい。