Mobian(mobio + debian(linux)) まとめ(現時点での私の理解)

mobianへの道に戻る
非常にスタンダードなノートPC。FDDもそのまま使える。ただし、ハイバネーションはまだ上手くいってません。

FIPS
そのままやると、0Eなんて知らないと怒られる。インストールの間、06に無理矢理書き変えてしまいましょう。適当なLinux Boot DiskでBootして、fdiskで /dev/hda1(全体)を t コマンドで 06 にして下さい。ですぐfips FDでrebootすれば、fipsできます。最後に0Eに戻す(戻さないでもうちではWin95が立ちあがりました)。
どのversionからかは不明ですが、現在買えるmobioはこのID問題がなくなったそうで、気にしないでfipsできるそうです。
Lilo

debianでの注意点として、mobioはBootディスクにhibernationファイルを作ろうとする為、Liloブートするつもりなら、fdiskでhda1にbootfragを立て、lilo.confを boot=/dev/hda とし、liloを再実行する。(install時にできるかも知れません)。
いろいろやってみた結果。

                       hibernation     console
loadlin                    ○            ○(dosでusするのを忘れないでね)
lilo(boot=/dev/hda2)       ×            ○ 
lilo(boot=/dev/hda)        ○            ○
   (hda1 に bootfrag を立てなければ Hibernation は無効になる)。
Slackwareでは(例えばRunRun本に従ってインストールすると)boot=/dev/hda でliloしますので、多分あまり悩まないでもいいでしょう。
もし、Windowsを捨てる積りでも、hibernation用にhda1に数十MB(実メモリサイズ程度でいいのか、Maxの80MB程度必要なのか未確認)のFAT16を確保した方が良いでしょう。(Linuxでのハイバネは完全には成功してませんが、ハイバネが無効になるとBoot時に赤いWarningが出るのがちょっと美しくないので)。

hibernation領域をパーテションで取るようにすると、boot=/dev/hda2のままで怒られることはなくなります。FIPSで領域を空けた直後に、ハイバネをパーティションにして、残った領域にLinuxインストールするのがいい方法かもしれません。その方法


X

Neomagicです。まずXF86のvga16で使えます。
vga16用 XF86Config (Path等手を入れる必要があるかも)
XF86SetupでディスプレイをStandard VGA 640x480を選ぶと、Hsync/Vsyncが違うのでエラーになります(あたり前なのかな)。
Hsync=35.40, Vsync=67.43
です(私はXF86Setupで作っておいて、手で書きなおしました)。
CapsもCtrlもCtrlになってるのは私の趣味です。困る場合は
XkbOptions "ctrl:nocaps"
の行をコメントするなりして下さい。

そして、話題のhttp://www.mnsinc.com/js/Neomagic.htmlで256色まで出ました。XF86Configは、ほぼこのページにあるサンプルそのままです。VideoRam 1100とすると、画面が乱れます。
neomagic patched SVGA用 XF86Config

もう一つ話題のftp://ftp.redhat.com/pub/XBF/(のミラー)から取れるNeomagic用Xサーバも使えます。アクセラレーションできるため、劇的に(倍近く)速度が上ります。STN液晶でも残像がほぼ気にならなくなります。色も16bit等でます。XF86ConfigはXサーバに同梱のもので問題ありません(キーボード等は変えましたが)。

最新のmobioはvideo chipが変ったらしいです。すみません勉強不足でよく知りません。


APM

   [n] Ignore USER SUSPEND
   [n] Enable PM at boot time
   [n] Make CPU Idle calls when idle
   [n] Enable console blanking using APM
   [y] Power off on shutdown
で、サスペンドは問題ないようだ。console blankをyにするとXが真っ黒になって見えない。蓋しめサスペンドも蓋あけ復帰できる。電源も落ちる。Enable PM、CPU Idleはyにしても問題はないが、効果があるかどうかは未確認。

ハイバネーションは一見上手くいくように見えますが、上手くいってません。ハイバネから復帰後、時間が約5.5倍遅く進みます(dateが1秒countするのに5秒くらいかかる)。 具体的に起っている現象を列挙すれば、

dateの更新が約5秒ごと
/sbin/clock -r  は正しく刻んでいる。
ビープの音が低い。
Window focus等が緩慢
文字の入力が遅いような気がする。
rc5des -benchmarkしてみると
ハイバネ前   170006.80 RC5 keys/sec   608955.22 DES keys/sec
ハイバネ後   933326.60 RC5 keys/sec  3368891.29 DES keys/sec
と爆裂な数値を出していますが、計算にかかる正味の時間はハイバネ前後でほ
とんど変わりません(RC5で約1分、ただし、benchmark結果には10秒程度という
表示がでている)。
システムがクラッシュしたりするわけではないので、非常時(バッテリーがないとか)の退避用には使えるかもしれませんが、気持ち悪いです。 いまの所、こうなってしまったら、reboot以外に元に戻す方法は見つかっていません (情報待ってます)。
suspend/resumeは問題ありません(ハイバネ後の遅い状態でsuspend/resumeすると遅い状態のままで戻ってくる。普通の状態でsuspend/resumeすると普通に戻ってくる)。

BIOlSのAPMの設定でStand-Byをデフォールトのまま[4 Minutes]にするとofflineでのサスペンドからresumeした直後 hibernation が始まります。customにして[OFF]にしましょう。ここ以外のBIOSセッティングは悪影響はないようです。

ハイバネーションをパーティションで確保する方法を教えていただきました。
これをやると、Bootflagをhda2に立ててLinuxをインストールして、Win95のmbrを壊さないで、Warningも避けることができます。
ただし、ハイバネーション復帰後のLinuxでの諸問題は解決しない、そうです。
私は、パーティションをいま既に切ってるので、実験できませんが、HDの最後尾に領域を確保するそうです。Win95にインストールされている、C:\necutils\phdisk.exeを使用するとのこと。
DOSプロンプトから、
phdisk.exe /CREATE /PARTITION
でハイバネーションはHDの最後尾にパーティションで、
phdisk.exe /CREATE /FILE
でBootflagの立っているFAT16パーティションにファイルで(これがデフォールト)、となるようです。
また、ハイバネーションのパーティションへの変更は、現在のディスクの使用状況を考慮せず行われるらしいので、Linuxをディスクの最後まで使ってインストールした後でやると悲惨なことになるらしいです。(未確認情報ばかりでごめんなさい)。


Sound
Winで得た情報はES1869 plug and play audio driveというものらしいが、
#define CONFIG_SOUND 1
#define CONFIG_SB 1
#define CONFIG_AUDIO 1
#define CONFIG_MIDI 1
#define CONFIG_YM3812 1
#define SBC_BASE 0x220
#define SBC_IRQ (5)
#define SBC_DMA (1)
#define SB_DMA2 (3)
#define SB_MPU_BASE 0x0
#define SB_MPU_IRQ (-1)
#define DSP_BUFFSIZE (65536)
で認識しました。
Sound initialization started
<ESS ES1688 AudioDrive (rev 11) (3.1)> at 0x220 irq 5 dma 1,3
<Yamaha OPL3 FM> at 0x388
Sound initialization complete
ものの名前が違うような気がしますが、myu.auしゃべったからいいことにしよう。だいたい、soundって使わないので、これ以上の動作確認はよくわかりません。


PCMCIA
特に問題なく、3comの3c589(LAN)、USRoboticsのXJEM3336J(LAN modem)で認識できます。
3c589
Linux PCMCIA Card Services 2.9.6
Intel PCIC probe: 
  Cirrus PD6710 at 0x3e0, 1 socket
    host opts:  [ring] [freq bypass] [led] [dma] [65/6/8]
    irq mask (default) = 0x48b8, status change on irq 11
cs: IO port probe 0x0100-0x03ff: excluding 0x398-0x39f
cs: IO port probe 0x0a20-0x0a27: clean.
cs: memory probe 0x0c0000-0x0fffff: excluding 0xc0000-0xcbfff 0xe0000-0xfffff
loading device 'eth0'...
eth0: 3Com 3c589, port 0x300, irq 3, Auto port,  00 60 97 40 8F CD
XJEM3336J
eth0: SMC91c92 at port 0x300, irq 3, 10baseT port, 00:00:86:10:09:51.
tty00 at 0x03f8 (irq = 3) is a 16550A

バッテリー
大容量でない普通のバッテリーしか使ってませんが、suspend状態で12時間ほど置いておいたところ100%→85%くらいになりました。 shutdown電源断もできます。 dmesgのAPMのところで
    AC on line, battery status high, battery life 100%
    battery flag 0x01, battery life unknown
とでてます。
サスペンドによる内容保持時間約7日(バッテリーフル充電時) とあります。
ポートバー
ポートバーのFDDは普通のFDDです。Linuxのインストールに問題なく使用できます。また、Linuxの稼働中のポートバーの取り付け取り外しについてもFDDはいつでも利用できます。
シリアルポートは、少くともDebian-2.0beta(hamm)では、ポートバーを付けた状態でブートすればtty00として認識しました。その状態で、PCMCIAモデムを挿した所、tty01と認識しました(はずです記憶)。 ポートバーを付けずにブートすると、PCMCIAモデムをtty00と認識するので、ポートバーのシリアルは、付けないでブートすると使えないのかもしれません(ちょっと実験不足と知識不足です)。
simtak@phys.wani.osaka-u.ac.jp