Ubuntu Weekly Recipe
第7回 EeePCでUbuntuを使う/無線LANドライバの追加
今回はASUS EeePCを例に,UbuntuをノートPCで使う場合に役立つレシピを紹介します。EeePC特有の設定ではなく,低解像度環境や,最新のノートPCを使う際に,無線LANドライバが認識されない場合の対処方法が中心です。なお,EeePCには「eee-ubuntu-support」という専用のモジュールが存在しており,これを用いることで周辺環境を整えることができますので,あわせて説明します。
EeePCの概要
EeePCは通称「ASUS版$199 PC」と呼ばれる,きわめて廉価なノートPCです。実際の価格は最下位モデルである2GB SSD+低容量バッテリ搭載のEeePC Surfでも$299で,$199には届きませんが,海外における低価格ノートPCの最低ラインがこれまで$499前後でしたので,大きな低価格化を実現したと言えます。日本国内では以下のコンフィギュレーションのモデルを,49,800円程度で入手できます。
- OS: WindowsXP Home Edition
- CPU: Intel製CPU(注1)
- メモリ: 512MB DDR2 SO-DIMM
- ディスプレイ: 7型 800x480ドット
- ネットワーク: 有線/無線LAN
- ストレージ: 本体内蔵 4GB SSD
- 端子: USB2.0 x3, 外部モニタ出力(D-SUB15pin) , SD/SD HCカードスロット, Line-Out, Mic-In
- 重量: 0.92kg
- バッテリ駆動時間: 約3.2時間
ディスプレイのサイズ・解像度が必要最小限であること,ストレージが4GBしかないことが制約となりますが,1kgを切るモバイルPCが5万円で入手できる,というのがEeePCのメリットとなります。
- 注1)
現在はStealeyコア(Dothan-512K)のULV CeleronMを搭載していますが,カタログ上は「Intel Mobile CPU」としか表記されていませんので,ロットによって変更される可能性があります。またバッテリや発熱の関係からか,デフォルトでは900MHzから630MHzにダウンクロックした状態で動作しています
EeePCのハードウェア(参考)
EeePCのスペックの詳細は次の通りです。
なお,Linux環境では,こうした詳細なハードウェア情報をlshwコマンドを用いることで得られます(sudo lshw -short。lshwコマンドは強力なハードウェアリストツールで,-shortの場合はlspciとほぼ同様の簡易出力を,オプション無しで実行することで,バス構成などを含むより詳細な出力を得ることができます。また,sudo lshw -sanitizeを用いることで,シリアル番号などのセンシティブな情報を抑制した形で詳細情報を得ることができます)。
多くのディストリビューションではオプショナルな位置づけのようですが,Ubuntuでは標準でlshwコマンドが導入されています。
H/W path Device Class Description
=======================================================
system 702
/0 bus 702
/0/0 memory 64KB BIOS
/0/4 processor Intel(R) Celeron(R) M processor
/0/4/5 memory 32KB L1 cache
/0/4/6 memory 512KB L2 cache
/0/4/7 memory L3 cache
/0/1f memory 2GB System Memory
/0/1f/0 memory 2GB DIMM Synchronous 400 MHz (2.5 ns
/0/100 bridge Mobile 915GM/PM/GMS/910GML Express P
/0/100/2 display Mobile 915GM/GMS/910GML Express Grap
/0/100/2.1 display Mobile 915GM/GMS/910GML Express Grap
/0/100/1b multimedia 82801FB/FBM/FR/FW/FRW (ICH6 Family)
/0/100/1c bridge 82801FB/FBM/FR/FW/FRW (ICH6 Family)
/0/100/1c.1 bridge 82801FB/FBM/FR/FW/FRW (ICH6 Family)
/0/100/1c.1/0 eth0 network L2 100 Mbit Ethernet Adapter
/0/100/1c.2 bridge 82801FB/FBM/FR/FW/FRW (ICH6 Family)
/0/100/1c.2/0 wifi0 network AR5006EG 802.11 b/g Wireless PCI Exp
/0/100/1d bus 82801FB/FBM/FR/FW/FRW (ICH6 Family)
/0/100/1d.1 bus 82801FB/FBM/FR/FW/FRW (ICH6 Family)
/0/100/1d.2 bus 82801FB/FBM/FR/FW/FRW (ICH6 Family)
/0/100/1d.3 bus 82801FB/FBM/FR/FW/FRW (ICH6 Family)
/0/100/1d.7 bus 82801FB/FBM/FR/FW/FRW (ICH6 Family)
/0/100/1e bridge 82801 Mobile PCI Bridge
/0/100/1f bridge 82801FBM (ICH6M) LPC Interface Bridg
/0/100/1f.2 scsi1 storage 82801FBM (ICH6M) SATA Controller
EeePCでのUbuntuの利用
ご覧のようにEeePCのハードウェア構成は普通のノートPCと大差ありません。USB接続の光学ドライブを接続することで,Ubuntuを通常通りインストールすることができます。
Ubuntuが最小限要求するストレージ容量は4GB程度であるため,EeePCのSSD上にも十分配置することが可能です。クリーンインストール直後は2?2.5GB程度の容量消費ですので,ソフトウェアの追加や,ホーム領域にもそれなりの余裕があります。また,ソフトウェアアップデートを行う場合も,インストールされたパッケージは随時削除されますので,これによって容量が致命的に圧迫されることはありません(注2)。
ただし7.10をインストールした場合,次のような問題に遭遇すると思われます。
- シャットダウンが正常に行われない。
- ハイバネートが正常に行われない。
- 有線イーサネットポートを利用する際,電源投入後にケーブルを接続しても認識されない。
- 無線LANが利用できない。
- 注2)
例外として,「ディストリビューションのアップグレード」時(たとえば7.10 => 8.04)は,一時的に1?2GB分のパッケージをダウンロードし,一気に適用するため,EeePC上では残念ながらアップグレードは困難です。新しいリリースへの移行を行うには,バックアップを行ってホーム領域などを退避した上で,新しいバージョンで再インストールする形になります。
どうしてもアップグレードを行いたい場合,理論上は/var/cache/aptをSDカード上に配置することで可能なはずですが,筆者はまだ検証できていません。
eee-ubuntu-support
EeePCで発生する,上述のような問題を解決するソフトウェアパッケージがeee-ubuntu-supportという名称で配布されています。これはEeePCで必要なドライバや,initスクリプトの改変などを一つにまとめたものです。
インストールは次のように行います。有線でネットワークに接続した状態で作業を行ってください。上述の通り,有線イーサネットポートは電源投入後にケーブルを挿入しても正常に認識されませんので,電源投入以前からイーサネットケーブルを挿した状態で行ってください。
$ wget http://eee-ubuntu-support.googlecode.com/files/eee-ubuntu-support_v0.7.tgz $ tar xzf eee-ubuntu-support_v0.7.tgz $ cd eee-ubuntu-support_v0.7 $ for i in modules acpi clock wifi sound init; do sudo ./install.sh $i ; done
これにより,シャットダウン・ハイバネートなどの電源管理に関する問題や,無線LANが使えない,といった問題が解決し,EeePCで快適にUbuntuを利用することができるようになります。また,このモジュールによって行われるスクリプトの改変により,ブートプロセスのチューニングが行われ,起動時間も短くなります。こうした,ブート時間短縮のレシピは別の機会に紹介する予定です。
なお,配布パッケージには「sudo ./install.sh all」で全てのモジュールがインストールできると記載がありますが,X11モジュールをインストールすると3D Desktopが利用できなくなるため,筆者は推奨しません(注3)。
- 注3)
ただし,このX11モジュール(正体は,EeePC Linux版のXandrosカスタム版に導入されているビデオドライバのバイナリを流用したもの)を導入することで,Webカメラを利用してSkypeなどでテレビ通話を行うことができるようになります。このような用途へ利用する場合はインストールした方が良いでしょう。
一般的な環境での対処
EeePCは価格が安いために(それ以上に,廉価なノートPCとして多くの注目を集めるデバイスであるため)利用者が多く,eee-ubuntu-supportのような専用のパッケージがリリースされています。これにより,ごく簡単な手順で,デバイスが認識されないといった問題を解決することができます。
こうした配布物が存在しない場合を考えてみましょう。
Ubuntuでは,標準配布物に無線LANやSCSI HBA,Fibre ChannelアダプタやNVIDIA製・AMD(ATi)製ドライバなど,バイナリで配布されていたり,あるいはデバイスを動作させるために,ファームウェアを動的にロードする必要があるソフトウェアを,Linux Kernelと同時にインストールできるようになっています(linux-restricted-modulesパッケージ)。
しかし,全てのドライバが標準配布物に含まれているわけではないことと,新しいデバイスの追加が半年に一度になってしまうため,最新ハードウェアや,マイナーなハードウェアは正常に認識されない,あるいは認識されていても動作しない,といった問題に遭遇することになります。
特に無線LAN関連は,デバイスにファームウェアを動的にロードさせることで動作を定義して動作させる設計が多く,かつ,そうしたファームウェアはバイナリ形式でのみ提供されている上に,デバイスごとに更新しなければならないため,「認識されない」あるいは「認識されるが上手く動作しない」といった問題に遭遇するケースが多くなります。こうしたデバイス動作に関する問題は,多くは次バージョンのUbuntuを待つことで解決できるのですが,最大で半年程度待つ必要が出てきてしまいます。特に,現在のノートPCでは無線LANが利用できないのは致命的です。こうした場合,手動でドライバをビルドすることになります。
なおこうした面倒なく無線LANを利用したい場合,筆者はIntel製無線LANをお勧めします(かつ,最新よりも1世代古いものを用いると確実でしょう)。
ドライバのビルド環境の構築
ドライバのビルドを行う場合,まずビルド環境を整える必要があります。Ubuntuでは次のように,2つのパッケージをインストールすることでドライバのビルドに必要なソフトウェアがインストールされます(注4)。
$ sudo apt-get update $ sudo apt-get install build-essential linux-headers-generic
※server版やxen, rtなどといった異なるフレーバーのカーネルを利用している場合は,以下のように適切なフレーバーを指定してください。
$ sudo apt-get install build-essential linux-headers-{server,xen,rt}
なお,ドライバのビルドを目的としてインストールする場合,linux-headersパッケージのうち,"linux-headers-2.6.22-14-generic"といったバージョン番号やABI番号を含んだパッケージを単体ではインストールせず,linux-headers-generic(等)をインストールし,その依存関係によって導入されるようにしてください。これらのパッケージを単体でインストールした場合,"2.6.22-15-generic"といった,ABIが異なる新バージョンのカーネルがリリースされた場合にlinux-imageパッケージのみが更新されてしまい(=-headersパッケージの更新が行われず),手動で対応が必要になる可能性があります。
- 注4)
多くの場合,無線LANドライバのコンパイルにはkernel-headersは不要ですが,ここでは他のドライバのビルド環境も整えるため,まとめてインストールしています。
Ubuntu Weekly Recipe
- 第113回 Debian Liveのlive-helperを使ってUbuntu Liveを作成する
- 第112回 Bansheeを使用して携帯音楽プレーヤと同期する
- 第111回 UbuntuからHDDレコーダを使いこなす(2)動画ファイルのダウンロード
- 第110回 HYBRID W-ZERO3を使いこなす(2)
- 第109回 HDDレコーダを使いこなす(1)DLNAクライアント
- 第108回 HYBRID W-ZERO3を使いこなす(1)
- 第107回 HandBrakeでリッピングしたDVDをNetWalkerで再生する
- 第106回 PulseAudioでリモートスピーカを使う
- 第105回 Acer Aspire Timeline 1410でUbuntu 9.10を動かす
- 第104回 標準搭載予定のPiTiViでビデオ編集
-
EeePCでUbuntuは使えるの?
安い、軽量で巷を騒がせているASUS EeePC。国内ではWindows XPを乗せたマシンが発売されており、SDカードを利用してUSBブート形式でLinuxをインストールして利用している人もとらほらといるようだ。さらに、最近では画面解像度を向上した次期EeePCが発表さ...
Tracked : #1 Linux つれづれ日記 (2008/03/11, 20:24)


