Eee PC 901-16GにUSBメモリベースのeeeUbuntuを導入

本体のSSDには一切手を触れずに、USBメモリを挿したときだけeeeUbuntuを使えるようにしてみたので、その手順のまとめ。
最低限次のサイトは読んでおく。またはインストールしながら読む。

前提

  • 本体のSSDはXPのままで手を加えないこと
  • XPを使うときはUSBメモリを挿さなくてもよいこと
  • 外付けのDVDドライブ無しでも導入できること


外付けのDVDドライブを持ってないので、3番目の条件が必須になった。
その代わりUSBメモリが2本必要になってしまった。

必要なもの

  • eeeUbuntuを実際にインストールするUSBメモリ(大容量)
  • インストール作業に必要となるUSBメモリ(1GBぐらいでOK)

インストール作業に使う方は、もちろん外付けのDVDドライブでも構わないし、HDDでもいいと思う。
要はeeeUbuntuのLiveCDから起動できればよい。

手順概要

  1. eeeUbuntuのLiveCDからブータブルUSBを作成
  2. 1)で作ったブータブルUSBでeeeUbuntuを起動
  3. LiveCDのデスクトップからインストールを実行

1. eeeUbuntuのLiveCD ISOイメージをダウンロード

ライブCDの部屋からeeeUbuntuのISOイメージをダウンロードする。


ライブCDの部屋
http://2.csx.jp/livecdroom/


8.04のほうが情報多いけど、最新版が使いたかったので8.10をチョイス。

2. UNetbootinをダウンロード

各種LinuxディストリビューションやISOイメージからブータブルUSBを作成してくれるツール。Windows版とLinux版がある。


UNetbootin
http://unetbootin.sourceforge.net/


インストール等の作業も必要なく、実行するといきなりダイアログが表示された(Windows版)。

3. eeeUbuntu LiveCDのブータブルUSBを作成

UNetbootinを起動して「Diskimage」を選択し、ダウンロードしたeeeUbuntuのLiveCD ISOイメージを指定する。
一番下のターゲットドライブが目的のUSBメモリであることを確認して「OK」を押す。
ほどなくしてeeeUbuntuのブータブルUSBメモリのできあがり。

4. ブータブルUSBメモリからeeeUbuntuを起動してインストール

4-1. USBメモリから起動する

巷の情報では起動時にESCを押すことでブートデバイスを選択できるようなことが書かれているが、901-16Gは(恐らくS101も)Boot Boosterが有効になっているためか、いきなりXPが起動してしまう。
まずはF2を押しながら起動してBIOSでBoot BoosterをDisabledにしておく。


BIOS設定画面を終了して改めてESCを押しながら起動するとメニューが出てくるので、eeeUbuntuを入れたUSBメモリを選択するとLiveCDならぬLiveUSBのeeeUbuntuが起動する。

4-2. インストール

これからeeeUbuntuをインストールするUSBメモリを接続すると自動的にマウントされてデスクトップにアイコンが表示されると思うので、すかさずアンマウントする。マウントされた状態だとインストールのターゲットに指定できないので注意。
アンマウントしたらデスクトップのInstallをクリックしてインストールを行う。
間違って本体のSSDを指定しないように注意しよう。


あと、USBポートによってLinuxが認識するデバイスが異なるので、どこを使うか考えておいたほうが良いかも*1
ちなみに自分の901-16Gでは左側USBポートが/dev/sdb、右側奥が/dev/sdcとなった。右側手前は確認しなかったがこの感じからすると/dev/sddになる? なお内蔵のSDDは/dev/sdaだった。

4-3. パーティションについて

まずファイルシステムext2がよいらしい。ジャーナリングは寿命を縮めるとか、そもそもext3はエラーになるという情報も。
自分の場合は次のようにしてみた。

バイス    タイプ  マウント  サイズ
/dev/sda                                ←内蔵のSDD
  /dev/sda1 ntfs              16105 MB  ←標準のXP
  /dev/sda2                      32 MB  ←なにこれ
/dev/sdb                                ←今回入れるeeeUbuntu
  /dev/sdb1 fat32   /share     1023 MB  ←XPと共有するスペース
  /dev/sdb5 ext2    /         15107 MB  ←eeeUbuntu

USBメモリなので細かく分けると使いづらそうな気がしたのでeeeUbuntuも1パーティションにしてみた。swapは無し(XPでページングファイルを無効にしたのと同じ理由)。
念のため普通のUSBメモリとしても使えるように先頭にFAT32の領域を作ってみたけど、そんなのいらねーよって人は消せばいいと思うよ。UbuntuからならXPが入ってる/dev/sda1がデフォルトで見えるようになってるし。

4-4. ブートローダのインストール

USBメモリを挿さなくても使えるようにしたい(XPが起動できるようにする)ので、GRUBは/dev/sdb(USBメモリ)にインストールした。
ウィザードの最後の「インストール準備完了」のところに「拡張」というボタンがあるので確認し、必要があれば変更する。

5. インストール後の設定

インストールして再起動すると機種の選択が表示されるので自分のものを選択する。
2008年12月7日現在、901-16Gは選択肢になかったので「901-X,1000H-X,S101」という一番近そうなやつを選んでみた。
すると何やらネットから色々インストールされるので、改めて再起動する。
今度はパッケージのアップデートが大量にでてくるが、ひとまずそれらは置いておいて、ディスクアクセス周りの設定を先にする。

5.0. 時計が狂ってたら直す

どのタイミングなのかわからないけど、LiveCDでの起動後かインストール後の起動時に時計が狂ってた。
表示がおかしいとかそんなちゃちなもんじゃねぇ。BIOSのハードウェアクロックが変わってた。LiveCDがGMTなのと関係があるのかもしれない。
もしも狂ってたら直しておこう。

5-1. アクセス時刻の更新を行わないようにする

ファイルにアクセスするたびに時刻を更新するのはいかにも遅そうなのでこの機能を切る(XPでやったのと同じ理由)。
/etc/fstabを開いてrelatimeをnoatimeに変更する。

5-2. テンポラリをメモリ上に設定する

XPと同じようにtmp類をRAMにする。
同じく/etc/fstabを開いて、次のような感じで設定すればいいんじゃないかな?かな?
ログを残したい人は/var/logは指定しない。

tmpfs /var/log tmpfs defaults,noatime,size=64m 0 0
tmpfs /var/tmp tmpfs defaults,noatime,size=64m 0 0
tmpfs /tmp tmpfs defaults,noatime,size=128m 0 0

容量は適当。あふれるようなら大きくすればいいんじゃないかな?
サイズを指定しないとメモリの許す限り肥大化してくようなので、気がついたらメインメモリがないという事態になるかもしれない。

5-3. アップデート

普通に通知アイコンからアップデートマネージャで更新をかける。
量が半端じゃなく、パッケージのキャッシュが大量に貯まるので、

sudo apt-get clean

で消す。
カーネルのアップデートがあった場合は古いカーネルを消すともう少しスペースが稼げるかもしれない。

sudo apt-get remove linux-image-[古いバージョン]-generic
sudo apt-get remove linux-headers-[古いバージョン] linux-headers-[古いバージョン]-generic
5-4. bootオプション

clocksource=hpetを指定するとブートが若干速くなるらしい。
/boot/grub/menu.lstにてquietとかsplashとか書いてある当たりに追加すればよし。


clocksourceについてはここが詳しいので、どういう意味なのか気になる人は参考にすると良い。
http://d.hatena.ne.jp/dayflower/20070723

5-5. Firefoxのキャッシュ

Windowsの時と同じようにabout:configからbrowser.cache.disk.parent_directoryに/tmpとかtmpfsな場所を指定する。

5-6. ファイアウオール

ufwとかiptables直打ちとかで好きなように。モバイルなのでいちおう設定しておいたほうがいいかも。

既知の問題

aptを使うと/var/log/aptがないとか言われてうざい(処理自体は正常に行われてるっぽい)。
ので、/etc/rc.localの最後とかでmkdirするとかなんとかすればいいんじゃないかと。

*1:/etc/fstabにはUUIDで設定されるので気にしなくても良いかもしれないけど