Linux | Top

Linux on LOOX S

2年半使ってきた Libretto 70 の後継として、富士通 FMV-BIBLO LOOX S5/53W を購入しました。 とりあえず Debian GNU/Linux 2.3 (woody) インストールして使ってます。 かなりいい感じです。

google あたりで「LOOX Linux」とかで検索すると必要な情報がほぼ全部入手できるのですが、 それ以外の辺りを含めて適当に書いてみます。


Menu

作成中です。書いてない項目があります。

なぜ LOOX S なのか?

Libretto 70 の後継なので、とにかく小さいノートPC が欲しかったわけです。 で、LOOX S の他に SONY VAIO C1 と東芝 Libretto L1 が候補に上がりました。 「Linux が動作するなら Libretto L1 がいいかな?」と思い 東芝デジタルメディアエンジニアリング株式会社が運営する tlinux-users-j MLで情報を募りましたところ、 Libretto L1 は思ったよりも Linux との親和性が悪いことが分かりました。 そして残った 2機種のうち、メモリサスペンド可能な点と値段(笑)を考慮して LOOX S を選択しました。

以下、メーリングリストにて収集した情報を元に、自分で LOOX S を使ってみて分かったことなどを追加して表にしてみました。 「必須」とか「かなり重要」とかは、個人的重要度 :-) です。
機種名 SONY
VAIO
PCG-
C1V{S|R}
富士通
FMV-BIBLO
LOOX
S5/53{|W}
東芝
Libretto
L1/060TN
{MM|CM}
=== 必須 ===
XFree86 が動作する (4.0.x でも可)
PCカードスロットが動作する
USB I/F が動作する
=== かなり重要 ===
ハイバネーション(Save to Disk)できる ××
メモリサスペンドできる *1*5×
shutdown -h now で電源が落ちる
CF/スマートメディア/メモリースティックのスロットがある場合、それも使える -
音源は 16bit 44.1kHz かそれ以上で PCM が再生できる *6
Linux 用の LongRun が動作する
フタを閉めてもサスペンドなどしないようにできる。ただし液晶は消す。 *2*4
=== それなりに必要 ===
プレインストールの Windows とデュアルブートできる
外部ディスプレイとの切り替えができる *3-×
=== できた方がいいな ===
内蔵モデムが使える ×××
IEEE1394 が使える -?
外部ディスプレイとの同時出力ができる ×-×
(凡例: o = 可能、x = 不可能、? = 不明、- = その機能が最初からない)

*1 ... ACPI メーリングリストの方では,これを実現するドライバを作ろうとしている人がいます。が,忙しくて試せてません。
*2 ... フタを閉めても何も起こりません (LCD は消えるのかな)。XFree86 4.X なら,DPMS によりバックライトを自動消灯できてます。
*3 ... 4.X で条件つきですができます。
*4 ... 今は、ふたを閉めても、何も起こらないです。
*5 ... ハイバネーションとどちらかを選択することになります。
*6 ... カーネルにパッチあてると使えるそうです。
あと,VAIO 特有の事項としては,
  1. カメラは使えます (動画,静止画とも)
  2. バックライト輝度を変えるプログラムはあります
  3. 電池残量が APM ではわからないのですが,専用のプログラムがあります
  4. ジョグダイアルをいじるプログラムがあります

LOOX S に Linux (Debian woody) インストール

職場の Panasonic Let's Note 付属の USB FDD で FD から起動可能なので、次のようにしました。

今回使った道具

手順
  1. プレインストールの WindowsMe を起動して、初期不良の有無を確認します。(重要)
  2. 付属の「リカバリ CD-ROM 起動ディスク」をコピーし、さらにコピーを作ります。
  3. コピーした起動ディスクで CD-ROM ドライブが認識されるようにします。
  4. WindowsMe のリカバリを行い、不要なプレインストールソフトを抹殺します(笑)。 なおこの際、WindowsMe 用のパーティションは可能な限り小さくします。 多分 1.2GB くらいあれば余裕でしょう。
  5. リカバリ後、さらに不要なソフトをガンガンとアンインストールします(笑)。
  6. WindowsMe で NIC を認識させ、Debian のインストーラを HDD 上にコピーします。 なお現時点での woody のインストーラは PCカードに対応していませんので、 potato のインストーラを用意します。
  7. WindowsMe の起動ディスクを作成し、これで起動します。 (私は別の Windows98 機で作った素の起動ディスクを用意しました)
  8. Debian のインストーラを loadlin.exe で起動します。
  9. あとは Debian のインストール手順に従ってインストールしますが、 woody にする場合はこのページを参考にしてください。
  10. パーティションを作る際は、ハイバネーション用として 128MB 程度の基本領域を作成しておきます。 ついでにパーティションID を 160 (0xA0) にしておくといいでしょう。
  11. HDD が 10GB なので、念のため /boot を別に作成すると無難かもしれません。
以下、こちらでのパーティションの切り方です。 上から順に WindowsMe, /boot, ハイバネーション領域, (拡張領域), スワップ, /, /var です。 ハイバネーション領域は安全策として若干大きめに確保しました。 /home や /usr/local は woody インストール後に手動で /var 以下に移動しました。
 % fdisk -l

ディスク /dev/hda: ヘッド 255, セクタ 63, シリンダ 1222
ユニット = シリンダ数 of 16065 * 512 バイト

 デバイス ブート   始点      終点  ブロック   ID  システム
/dev/hda1             1       130   1044193+   b  Win95 FAT32
/dev/hda2   *       131       131      8032+  83  Linux
/dev/hda3           132       149    144585   a0  IBM Thinkpad ハイバネーション
/dev/hda4           150      1222   8618872+   f  Win95 拡張領域 (LBA)
/dev/hda5           150       166    136521   82  Linux スワップ
/dev/hda6           167       349   1469916   83  Linux
/dev/hda7           350      1222   7012341   83  Linux

LOOX S で kernel 2.4

現時点で最新版の kernel 2.4.5-ac17 を使い、パッケージを作成した上でそれをインストールして使ってますが、特に不具合はありません。
#! /bin/sh
pwd=`/bin/pwd`
echo $pwd
basename=`basename $pwd`
echo $basename
version=`echo $basename | sed -e 's/^linux-//' -e 's/-/./g'`
echo $version
make-kpkg --revision custom.$version kernel-image kernel-headers kernel-doc modules_image
#make-kpkg --revision custom.$version kernel-image
#make-kpkg --revision custom.$version modules_image
起動直後の dmesg の出力です。若干変な所もありますが‥‥

LOOX S でハイバネーション

LOOX S で採用されている Phoenix BIOS 4.0 Release 6.0 (かな?) は APM の機能をしっかり持っていて、ハイバネーション (Save to Disk) を行うための設定項目もあります。 この設定を有効にして起動すると「ハイバネーション領域が正しくありません」とか何とかいうメッセージが表示されるので、ハイバネーション用の領域を正しく用意してやればいいということが想像できます。

Phoenix が各メーカーに OEM で提供している pfdisk.exe というツールを使うとハイバネーション領域を作成できるのですが、LOOX S では標準塔載の WindowsMe では ACPI を使ってハイバネーションすることになっているせいか、pfdisk.exe が付いてきません。 サーチエンジンで適当に検索すると、他社がサポート用として配布している pfdisk.exe が見付かったりしますし、実際 LOOX S でも動作自体はするようですが、使用許諾的にはとってもよろしくないと思われます。(笑)

しかし世の中便利なもので(ぉぃ)、ちゃんとこのハイバネーション領域を作成する lphdiskなるツールが存在します。 これを使った手順を紹介したページへのリンクを挙げておきますので、詳しくはそちらを参照してください。 こちらでのパーティション構成は、上記のインストール手順の所に挙げた通りです。

このようにハイバネーション領域の設定をちゃんと行い、マシン起動時に BIOS に{ハイバネーション領域が云々」と怒られなくなったら、ハイバネーションできるようになってます。 APM を有効にしたカーネルで起動し、root で apm -s と打ち込んでみてください。 きっと(笑)ハイバネーションします。 なおハイバネーションやそこからの復帰に要する時間は、いずれも 20秒程度です。

補足:(2001/10/02)
apm -s を使うと、ハイバネーション準備に入った段階でフリーズしてしまい、電源を切るしかない状態になることがしばしばあったので、今は電源スイッチををポチッと押してハイバネーションさせるようにしています。


LOOX S で XFree86 4.0.3

Debian woody だと標準で XFree86 4.0.3 が入ってきます。 My Walking Linux HomePageの「Linux 動作確認機種リスト」では、XFree86 3.3.6 にて X 動作中にメモリサスペンドなどさせると、復帰後に画面が乱れるという報告がありましたが、XFree86 4.0.3 ならば問題ないようです。

XFree86 4.0.1 あたりからでは、root で X -configure とすると XF86Config の雛型が作成されます。 これを /usr/X11R6/lib/X11 の下にコピーしただけではさすがに動作しなかったので、My Walking Linux HomePage の動作報告を参考にして 1024x512 ドットの Mode を追加し、マウスを PS/2 に決め打ちした所、あっさり動作しました。 今現在使用している XF86Config は、これです。

今は 24bpp で利用していますが、別段遅いということもありません。 xamin や plaympeg による動画の再生なんかもサクサク動きます。:-)

補足:(2001/10/02)
woody の XFree86 が 4.1.0 になっちゃいましたが、問題なく利用できてます。


LOOX S で LongRun

LOOX S は Crusoe を採用しており、当然 LongRun も利用できます。 Debian woody ならば単に apt-get install longrun とすれば LongRun のクライアントである longrun コマンドがインストールされます。 例えば状態を見る時にはこんな感じになります。
# longrun -p
LongRun: 有効
LongRun 発熱低減拡張 (LTX): 非活性
現在のパフォーマンス ウインド: 0 から 100
現在のパフォーマンスレベル: 100
LongRun フラグ: パフォーマンス
パフォーマンスレベルを変更したい時に一々 longrun コマンドを実行してもいいのですが、やはり状況に応じて自動的に切り替えたい所です。 状況というのは、やはり第一には「ACアダプタを抜き差しした時」でしょう。 ちょっと調べた所、apmd が状況の変化に応じてスクリプトを実行してくれることが分かったので、これを利用します。

apmd はマシンの状態の変化を関知する度に /etc/apm/event.d 以下にあるスクリプトを実行してくれます。 なので、このスクリプトを /etc/apm/event.d/longrun に置いて chmod +x しておけば、

に apm コマンドで AC電源の状況を確認し、LongRun を適切に設定します。

LOOX S でサウンド

LOOX S のサウンドチップは ALi の統合チップセットに含まれている ALi M5451 というものです。 ハードウェア的には Trident 4Dwave と互換性があるようです。

ALi のサイトから FAQ を辿っていくと、 OSS のドライバが用意されています。 これは最新の ac パッチでも取り入れられています。 ソース的には Trident ドライバへのサポート追加という形で実装されています。 このドライバでも鳴るんですが、現時点の最新版 0.14.7 (または 0.14.7a) では ali: AC97 CODEC read timed out. というカーネルメッセージが大量に出力されます。 また PCM を再生しながら aumix などのミキサーソフトを起動すると音がブツ切れになります。

これは ALSA を使うとほとんど解消されます。 ALSA driver 0.5.11 で ALi M5451 がサポートされましたが、これを使うと「ビープ音すらまったく鳴らなくなる」という状態になりました。 電源を一旦切る(ハイバネーションでも可)と再挑戦(笑)できます。 よって 0.9.0beta5 を使ってみたところ、ちゃんと音が鳴って、OSS の Trident ドライバのような不具合もありません。


LOOX S で USB

apt-get install usbmgr して、必要があれば /etc/usbmgr/usbmgr.conf の "host usb-ohci" のコメントを外すと、usbmgr がちゃんと動作します。 USB 機器をほとんど持ってないのであまり使ってないのですが、USB FDD とか FUJIFILM FinePix 4700Z とかはちゃんと扱えました。いずれも SCSI Disk に見えます。

補足:(2001/10/02)
CardBus の関係で usbmgr から murasaki に変更しましたが、特に問題なく利用できています。

なお一つ問題があって、ハイバネーションから復帰すると USB が利用できない状態になるようなので、LongRun の時と同様に apmd 用のスクリプトを用意して、ハイバネーションから復帰した際にモジュール usb-ohch を一旦アンロードし再ロードするようにしています。


Fn キーによるハードウェア制御について

ノートPC では Fn キーと他のキーの組み合わせでハードウェアの制御ができるようになっているものが多いですが、LOOX S も次のようなキーが用意されています。 (LED の輝度は 8段階。音の ON/OFF やボリュームは、内蔵スピーカと背面のヘッドホン端子と共通)

ノートPC によっては、Linux にするとこの Fn キーによる制御がうまくいかなくなったりするものもあるようですが、LOOX S では上記の制御はすべて問題なく動作します。


LOOX S のキー配置を US 配列に + α


LOOX S + Debian woody で動作を確認した PCカード/USB機器

PCカード

USB機器

HotPlug (murasaki) の設定と GREEN HOUSE GH-ELP100LC の使い方

[ハードウェア]
富士通 FMV-BIBLO LOOX S5/53W
GREEN HOUSE GH-ELP100LC

[ソフトウェア]
Debian GNU/Linux 2.3 (woody)
kernel 2.4.9-ac5
pcmcia-cs 3.1.29

[手順]
(1) apt-get install murasaki で murasaki 0.4.0 をインストール。こ
れで usbmgr が削除され murasaki に置き換えられる。インクジェットプ
リンタの HP DeskJet 880C を USB 経由で接続し Linux に認識されるこ
とと、/dev/usblp0 から印刷できることを確認。

(2) HotPlug、8139too、および kernel 2.4 組み込みの pcmcia-cs を使
うようにカーネルの設定を変更。ついでにその他の PCMCIA デバイスや 
PCI のデバイス(ネットワークとか SCSI とか)のモジュールも作成するよ
うに変更。カーネルを再構築しパッケージを作成。
	make-kpkg --revision custom.2.4.9-ac5 kernel-image

(3) 今まで使ってた pcmcia-cs のモジュールパッケージを削除し(そうし
ないとカーネルパッケージの方の pcmcia-cs とバッティングする)、カー
ネルパッケージをインストール。再起動。

(4) pcmcia-cs のクライアント等を再構築し、インストール。
	cd /PATH/TO/PCMCIA-CS
	su
	dpkg-buildpackage -us -uc

(5) /etc/default/pcmcia の PCIC="i82365" を PCIC="yenta_socket" に
変更。

(6) /etc/init.d/pcmcia stop ; /etc/init.d/pcmcia stop で cardmgr 
を再起動。

(7) /etc/network/interfaces に、例えば次のように記述
	iface eth0 inet static
	        address 192.168.0.1 (←自分のIPアドレス)
	        netmask 255.255.255.0
	        gateway 192.168.0.254

hiramoto@flatray.com