LOOX S8には、FDDもCDもついてません。そこで私が取った方法は、「ハードディスクをいったん外してデスクトップ機(こいつにはブート可能なCDがついている)のプライマリマスターにつないで、Linuxのインストールが終わったあとで戻す」という方法。S8のハードディスクは裏ぶたのねじ2本外すだけであっさりはずれるので簡単です。ああ一応。やる時は自己責任でね。
こういうことをやる時に注意しておいた方がいいことが一つ。ノートパソコンの方でちゃんと立ち上がるカーネルがインストールされていることを確かめておくこと。別のノートパソコンで同じことをやった時、デスクトップがセレロン機だったためにi686用のカーネルがインストールされ、当時使っていたノートパソコン (CPU はMediaGX)では起動しない、という間抜けな失敗をしたことがあります。 Crusoeの場合、i686用でも立ち上がってくれるかもしれませんが(試してません)。カーネルはCrusoeはi586だと認識しているようです。デスクトップがアルファマシンだったりする人は注意しましょう(注意以前の問題では) 。あとLOOX特有の注意点としては、LILOなりなんなりのローダで与える起動パラメータに「ide0=ata66, ide1=ata66」をつけておくことです。これを守れば、ちゃんとLOOXに入れ換えた後も起動してくれます。その他のことも含めて、この方のホームページ→HIRAMOTO Kouji's HomePageの「Linux on LOOX S」が参考になります。
私がLinuxをインストールした手順は以下の通りです。試行錯誤しながらやってますんで、ほんとはもっと少ない手順でできるような気がします。
えらく複雑な手順だな、と思うでしょうが、Windowsから完全におさらばするつもりなら、もっと楽です。
さて、上で後述する、と書いたパーティションの切り方ですが、具体的に、私の場合の切り方を書いておきます。fdiskで領域表示させると
ファイルシステム 1k-ブロック 使用済 使用可 使用率% マウント場所 ディスク /dev/hda: ヘッド 255, セクタ 63, シリンダ 2432 ユニット = シリンダ数 of 16065 * 512 バイト デバイス ブート 始点 終点 ブロック ID システム /dev/hda1 1 784 6297448+ 1b Hidden Win95 FAT32 /dev/hda2 785 787 24097+ 83 Linux /dev/hda3 * 788 2414 13068877+ 5 拡張領域 /dev/hda4 2415 2432 144585 a0 IBM Thinkpad ハイバネーション /dev/hda5 788 820 265041 82 Linux スワップ /dev/hda6 * 821 951 1052226 83 Linux /dev/hda7 952 1213 2104483+ 83 Linux /dev/hda8 1214 1475 2104483+ 83 Linux /dev/hda9 1476 1513 305203+ 6 FAT16 /dev/hda10 1514 2414 7237251 b Win95 FAT32
/dev/hda6 1035660 207820 775232 22% / /dev/hda2 23333 13702 8427 62% /boot /dev/hda1 6285156 3612460 2672696 58% /dos /dev/hda8 2071384 1264224 701936 65% /home /dev/hda10 7223124 5102936 2120188 71% /dos2 /dev/hda7 2071384 1276432 689728 65% /usr
こんな感じ。私の持っているLOOX S8はS8/70Nという型番の奴(webmartで通販のみ販売されてました)で、こいつは他の
S8と比べて、ハードディスクが20GBしかない(普通は30GB)という点と、MS
Officeがプリインストールされていないという点が違います(私は既述の通り、ほとんどLinuxしか使わないのでOfficeはいらなかった)。そういうわけで普通のLOOXの場合、上の結果よりもHDが大きいはずです。
FAT領域が3つありますが、一つめは最初に切ったWindowsのインストールされた領域。後ろのうちでかい方はWindowsとLinux共用のデータ領域として使うつもりで作りました。たとえばデジカメの撮影データ、CDから作ったMP3ファイルなどはここに置いてます。FAT16のちっこいパーティションが一個ありますが、これはWindowsのスワップファイル専用パーティションとして作りました。スワップを1パーティションにまとめておけば少しはパフォーマンス上がるかな、と思ったんですが。目に見えて変化はないです。
上の/dev/hda4というのがハイバーネーションのための領域です。Linuxからハイバネ領域を作るには、lphdiskを使うといいでしょう。fdiskで領域確保してIDをa0にセットしておきます。確保すべき領域の大きさがわからなければ、"lphdisk -p"を実行すれば、
Reccomended partition size is 134 MB (274434 sectors)
のようにどれだけのハイバネ領域を用意すればいいかを教えてくれます。上の結果は私のS8で実行した結果なので、メモリ容量が大きいS9などでは違う結果になると思います。
くどいですが以上の例は私の場合で、機種やインストールするLinuxのディストリビューションの違いなどでいろいろ差が出ると思います。御自分の場合にどうなるかはよく考えたうえでインストールしましょう。
新しいマシン(特にノート)にLinuxを入れるときに不安になるのは、Xが起動するかということと、周辺機器が使えるか。私の場合、Vine Linuxをインストールして、カーネルを2.4.18を自分でとってきてコンパイルしてインストールしたところ、画面の左についているワンタッチボタンと、モデム以外のデバイスは使えるようになりました。どっちも別に使わないのでいいです(そんな酸っぱいモデムなんて使うもんか)。 Xについては、富士通がTurboLinux7用とRedHatLinux7.1用の動作確認情報をここに出してくれてます。これを見て設定すれば大丈夫かと。ちゃんと1024x600でXが動きまっせ。
Xの画面がハイバネから戻ると変になる、という現象がありましたが、Vineの場合、/etc/sysconfig/apmdの中に「Xが変になったら以下の行をコメントを外しなさい」というREMがあったので、
CHANGEVT="7"
という記述を生かすと、ちゃんとハイバネから復帰後もXが元に戻るようになりました。ハイバネする時に仮想コンソールを7(Xが使っている)から外して、復帰した時にまた7に戻してくれているようです。ただし、X使ってない時にハイバネしたら、戻ってきた時にも仮想コンソール7に戻して、「誰もいないところ」にたどりつき、画面が変になります。その時はあわてずにALT+F1を押しましょう。仮想コンソール1に戻れます。
と、Vine2.1.5を入れた時に書いたのですが、その後Vine2.5にバージョンアップすると現象が逆になり、むしろ上のようにすると化け、
CHANGEVT=""
とすると化けなくなりました。おそらくはXFree86のバージョンが4.2にあがったせいだと思われます。
サウンドはカーネル2.4.18をtridentサポートでコンパイルすればおっけいのはずです。ネットワークは8139tooね。
CrusoeというCPUには、longrunという、CPUが忙しい時はクロックをあげ、そうでない時はクロックを下げて休んで、バッテリーの持ちをよくするという機能があります。Linuxの上からでもこのlongrun機能をコントールするユーティリティがあって、たとえばkernel.orgのここからソースをダウンロードできます。コンパイルはたぶんmake一発で通ります。問題は、cpuid関連の機能がカーネルにインストールされてないと動かないので、カーネルをリコンパイルする時、CONFIG_X86_MSRとCONFIG_X86_CPUIDというスイッチをyにしておきましょう。cpuidやMSRを操作するためのdevファイルが必要になりますが、そのためのシェルスクリプトはソースの中にMAKEDEV-cpuid-msrという名前で入ってます。ありがたく使わせてもらいましょう。
で、どうせなら「AC電源が刺さっている時はパフォーマンス重視で、バッテリ駆動の時は経済的に動かしたい」というわけで、AC電源が抜き差しされた時に設定を変えるようにしておくと幸せです。
Vine2.5の場合、この設定は/etc/sysconfig/apm-scripts/apmscriptというシェルスクリプトを書き換えて行います。apmデーモンが動いていれば、AC電源が抜き差しされた時、このスクリプトが「change
power」という引数を伴って実行されます。スクリプトの200行目くらいからを
change) case $2 in power) # Change from battery power to AC power or vice versa. # You might want to stop/restart any unnecessary CPU intensive # tasks (seti@home, distributed.net clients, etc) here. OFF=`apm | grep off` if [ "$OFF" = "" ]; then /usr/sbin/longrun -f performance /usr/sbin/longrun -s 0 100 else /usr/sbin/longrun -f economy /usr/sbin/longrun -s 0 100 fi ;;
battery)
# Battery low. If you want to be on the safe side, maybe put
# the harddisk into extreme powersaving, or "apm -s" here.
;;
esac
と書き直します(赤字が書き足した部分)。apmコマンドは、AC電源がない時は「off-line」という単語の入ったメッセージを返すので、AC電源がささっていれば、OFF=`apm | grep
off`の結果は空文字列になるので、その場合はパフォーマンスモードに、そうでない場合はエコノミーモードに変えています。-sオプションは好みにより変えてもいいでしょう。たとえばパフォーマンスモードの時はずっと100%でぶん回せ、という場合は/usr/sbin/longrun -s 100
100としておけばいつでも100%の速度で走ります(ちなみに0は0%というわけでは実はなくて、300MHzで走る)。ところでこの下にバッテリがクリティカルになった時にスクリプトを実行する、ということができるらしいのだけど、実際に「apm
-s」(コンピュータをサスペンド状態にしろ、という命令)を記述してみると、サスペンド途中で止まります。もしかしてapmscriptの中から「apm
-s」を介してまたapmscriptを呼び出しているせいかも。回避方法がわからんのでバッテリ容量を監視する別のプログラムを書いてcronで3分ごとに呼び出してますが(^^;)。なんかまたいい方法見つけたら報告します。
Linuxのカーネルを2.5.49-ac1に入れ替え、さらにjconsole-patch(Xではなく、フレームバッファコンソール上で漢字を使えるようにするパッチ。Xなしで漢字表示が可能になる)をあててみました。このパッチを当てると、起動即、Xを立ち上げなくても漢字の使用が可能になります。
実は前にも2.4.18あたりのカーネルでも同じことをやってみたのですが、その時はコンソールでフレームバッファを使うとXが非常に遅くなってしまったのでフレームバッファを使うのをあきらめたのです。しかし、2.5.49にしてみると、フレームバッファを使ってもXがちゃんと普通に動きました。じゃあというわけでjconsole-patchもやってみたわけです。
まず2.5.49-ac1ですが、ソースはもちろんwww.kernel.orgもしくはそのミラー(ftp.ring.gr.jpの/pub/linux/kernel.orgあたりでもよいかと)からたぐって、2.5.49のtar球をとってきて、さらにac1-patch(Alan Coxパッチ。たとえば、ftp.ring.gr.jp/pub/linux/kernel.org/kernel/people/alan/の下linux-2.5の中にある)をとってきて当てます。
ちなみにパッチをあてる、というのは、ソースツリーのルート(たいていの場合は/usr/src/linux)に行って、
gzip -c -d パッチファイル名 | patch -p1
とやるということです。
これを書いている間にカーネルのバージョンはどんどんあがって、書いている時点でもう2.5.51まで来てます。たぶん新しいバージョンでも同様にできるとは思いますが、どうなるかはやってみなくちゃわかりません。
次に、大野洋史さんの作られたLinux日本語コンソールのページに行って、jconsoleのパッチをとってきて、まずはえいやあっ、とあてます。すると、まず二つのファイルに関して、「このファイルが見つからんぞ」とpatchが文句を言ってきます。あと、.rejファイル(patchプログラムがこのパッチは当たらん、と拒否した内容が書かれている)が2つできます。
ファイルがないぞと文句を言われるのはDocumentation/Configure.helpとdrivers/char/console.cです。Configure.helpがないのは、2.5ではこのファイル自体がないからです。というわけでこのパッチにあたる部分は手で修正します(後述)。console.cの方はvt.cに名前が変わっているので、そっちに当てます。
linuxカーネルの2.5では、カーネルのコンフィグレーションのヘルプファイルなどの設定が、いろんなディレクトリに混在するようになってます。該当するファイルはdrivers/video/Kconfigです。これに関してはパッチファイルの中身を見ながら修正していけばいいんですが、結局は下に貼り付けたpatchのような修正をします。
---
linux.orig/drivers/video/Kconfig 2002-12-11 00:47:26.000000000
+0900
+++ linux/drivers/video/Kconfig 2002-12-10 19:43:29.000000000
+0900
@@ -1059,6 +1059,30 @@
depends on !FBCON_ADVANCED &&
FB_STI
default y
+config
FBCON_LANGEXT
+ bool "Support
Multi-Language Extension"
+
help
+ Support multi-language
extension. (for Japanese euc_jp encoding)
+
+config
FBLANG_EUC_JP
+ bool "Support Japanese
EUC_JP Encoding"
+ depends on
FBCON_LANGEXT
+
help
+ Support Japanese
euc_jp encoding.
+
+config
FONT_KANJI_16x16
+ bool "Japanese Kanji
16x16 font"
+ depends on FBCON_LANGEXT
&& FBLANG_EUC_JP
+
help
+ This is Japanese kanji
font for Japanese euc_jp encoding.
+
+
+config
FONT_MARU_16x16
+ bool "Japanese Marumoji
16x16 font"
+ depends on FBCON_LANGEXT
&& FBLANG_EUC_JP
+
help
+ This is Japanese
marumoji font for Japanese euc_jp encoding.
+
config
FBCON_FONTWIDTH8_ONLY
bool
"Support only 8 pixels wide fonts"
depends on FB
この緑色部分を切り取ってpatchに食わせてみてください。
あとはソースツリーのルートでmake menuconfig(あるいはmake xconfig)します。この時に注意するべきことを羅列しておくと、
・モジュール機能はうまく動かないので使わないこと(現在調査中)
・CPUはCrusoeを選ぶこと(あたりまえ)
・/dev/cpu/*/msrと/dev/cpu/*/cpuidは有効にしておいた方がいい。longrunを使うのに必要。
・パワーマネージメントはACPIをオフにして、APMを使うのが無難。
・IDEにAli15x3を選ぶと、起動時にエラーメッセージが出る。でも動くから気にしないことにする(^^;)。
・LANはRTL8139。
・2.5系カーネルでは、Input
deviceの中でキーボードを有効にするのを忘れると手も足も出なくなります(^^;)。
・フレームバッファを当然選ぶんだけど、ATI
Mach64を選択しても有効にならない様子。とりあえずVESAを使おう。
・フレームバッファのメニューの下の方にMulti Language と
Japanese EUCのサポートの選択が出るので迷わずオン。
・サウンドはALSAでAli
M5451を選ぶと吉。
・USBはOHCIです。
・kernelデバッキングをオンにすると起動に失敗することがあるので注意。
起動時にあたえるパラメータとして、liloなら(いやliloしか知らんのだけど)
vga=789
を追加しておきます。これで800x600でフレームバッファが有効になるはずです。ほんとは1024x600にしたいところですがまだ成功してません。
以上をやった後で気づいたんですが、UNICONというプロジェクトもあって、そっちでも漢字が出せます。どころか2.6からVineの標準になってました(^^;)。私はいつも自分でカーネルコンパイルしていて、Vineの標準カーネル使ってなかったから気づかなかった(^^;)(;_;)(^^;)(;_;)。
2.5.49-ac1+jconsoleにしてよかったこと。
1.サウンドドライバをALSAにしたら、サスペンドの前後でサウンドがおかしくなる現象が出なくなった。
2.5回に1回ぐらいサスペンドに失敗してハングするということがなくなった。
3.コンソールで日本語が使えるようになった。
あと、見ているとできる限りスワップを使わないように動いているみたいです。まぁ、体感的に早くなっていると感じるほどではないけど、パフォーマンスもよくなっているはず。