Eee PC 900A に Debian をインストール

Eee PC 900A

しばらく前に買っていながら、とりあえずちゃんと動くぽいのだけ確認して放置していた Eee PC 900A を、そろそろ使えるようにしようと Debian マシンにすることにする。
900A は、GENO ってところの通販で 2 万弱で叩き売りされてたのを買ったもの。ホントは、画面の解像度はもう少し高くないとツライよなと思ってて、Dell の Inspiron Mini 12 を考えてたのだけど、"Intel GMA 500 (Poulsbo) graphics on Linux: a precise and comprehensive summary as to why you’re screwed" を読んで、現状 Intel GMA 500 との組み合わせしかない Z 系の Atom を使ったやつは避けるが吉と知り、でもそうなると候補まるごとなくなるよなと思ってたところで、激安の 900A のことを知って、ここまで安いならいいかと思い買った。

メモリは 2 GB に換装してある (ASIN:B000Y9KLTW)。
900A には、変な UI をかぶせてある Xandros ベースだという Linux がプリインストールされてる。これはこれでいいんだろうけど、やっぱりそれなりに自分でいろいろコントロールしたいなら、一からまるごとインストールし直したほうがあきらかに楽。
ウェブに情報があふれてるからという理由で Ubuntu とかその派生ディストロも考えたのだけど、メイン・マシンで使ってるのと一緒にしておくのがやっぱり楽だろうと、結局 Debian Sid にすることにした。

BIOS のアップデート

新しい BIOS が公開されてたので、なんとなく最新版にした。2009/03/13 公開の Version 0804 ってやつ。問題はなさげ。
ASUS 公式のフォーラムに親切な人が書きこんでくれてるとおりにやった。

  1. ダウンロードした BIOS を 900A.ROM にリネームして、USB メモリのルートに配置。
  2. その USB メモリを左側の USB スロットに差しこむ (左じゃないとダメらしい)。
  3. 900A の電源を入れ、ブート・プロンプトが出たときに ALt キーと F2 キーを同時に押す。
  4. BIOS のアップデートがはじまるので、終わるまでしばらく待つ。

なお、アップデート中は、安全のため AC アダプタで電源供給しておくべしとのこと。
プリインストールの Linux からも BIOS のアップデートができるぽいことがマニュアルに書いてあったのだけど、新しい BIOS が出てるよって感じにならなかったので、その方法はよく調べもしないままあきらめた。

Debian Lenny のインストールと Sid へのアップグレード

インストール・ガイドにある "簡単な方法" で用意した USB メモリからふつうにインストールした。
内蔵 SSD は 4 GB と容量に余裕がないので、まるまるひとつのパーティションに、スワップはなしにしてみた。メモリが 2 GB あるからいいかなぁと思ってやったのだけど、ホントにいいのかどうかは知らない。メイン・マシンでは / のファイルシステムは XFS にしてるのだけど、/boot が XFS のところにあるとダメなんじゃなかったっけと思い、900A では無難に EXT3 にした。
tasksel ("6.3.5.2. ソフトウェアの選択・インストール") ではすべてのチェックをはずした。必要なものは、あとから自分で入れる方向で。
ひとつ、"DebianEeePC/Model/900A - Debian Wiki" にもあるとおり、Debian Lenny のインストーラは、放っておくと USB メモリに grub をインストールしようとしやがるので、ここは手動でインストール先を指定 (うちの場合も内蔵 SSD は /dev/sdb だった)、リブート時に grub のパラメータを修正することになった (このときには内蔵 SSD が /dev/sda になってるので)。全部 Debian Wiki にあるとおりにやれば OK だったので楽々。
リブートに成功したら、上記問題の修正のため /boot/grub/menu.lst を編集しなきゃだけど、まず export LANG=C して、なにはともあれ sudo 入れて visudo。ちょ、このエディタは nano か、と思い sudo aptitude purge nano。ついでに sudo aptitude install vim vim-tiny_ (←古い vi 風の挙動は慣れなくて)。やっと menu.lst を修正。ていうか、最近は defoptions=quiet なんてなってるのか。そのうち Debianupstart になったりすればブート時のログ表示って意味なくなったりするのかななどと思いつつ、これは空に。sudo update-grub
低速 SSD 搭載であることを考慮して、/etc/fstab を編集し、マウント・オプションに noatime を追加。そこで、インストール時に参加するって答えちゃった popularity-contest をやっぱりパージ。noatime にしてても、役に立たないってわけではないみたいだけど。

Q) /usr is mounted with 'noatime'.
A) popularity-contest relies on atime to know what packages were used during the last month. This means you will only report the list of packages installed without usage information.

Popularity-contest Frequently Asked Questions.

あと、tasksel と installation-report が入ってることも思い出してパージ。他にもいらないのがあるけど、それはのちほど。
つづいて APT の設定。/etc/apt/apt.conf.d/99local とか適当なファイルに以下を記述。Recommends なパッケージを勝手に入れるのはやめてほしいっていうのと、依存で入ったパッケージが不要になったときはリムーヴじゃなくパージしてくれってやつ。

Apt::Install-Recommends "false";
Aptitude::Purge-Unused "true";

/etc/apt/sources.list で s/lenny/sid/。インストール時のディフォルトでは main しか書いてないのか、と contrib と non-free を追加。Sid なので security.debian.org と volatile.debian.org のラインは削除 (コメント・アウトされてる cdrom のラインも)。sudo aptitude full-upgrade。無事 Debian Sid になった。
linux-image-2.6.29-1-686 が来てるのでインストール。それと、いいかげん強力な補完がないとツライので bash-completion を入れた……んだけど、zsh のほうが強力な感じ (単純な使いかたしかしてないけど)。4.0 だとちがうんだろうか (Debian Sid の bash は現在 3.2-5)。
時間切れで今日はここまで。

memtest86 が動かない

寝てる間に memtest86 を走らせておこうとインストールしたんだけど (換装した 2 GB のメモリ、実はまだチェックしてなかった)、grub から memtest86 を選んだところで落ちて再起動してしまう。memtest86+ を試したら、こっちは動いた。まあ、どっちかが動いてくれればいいんだ。
ちなみにエラーは出なかった。めでたし。