Linux on CASIO Cassiopeia Fiva 1xx
Whats new.
CPUレジスタの設定により、Stanby状態での電源消費を押さえるようにしました。
Linux カーネルバージョン 2.4.18 に対応したパッチを公開しました。
はじめに
この文書の目的
この文書では、Fivaで Linuxを利用しようとする方にむけた 情報を提供するとともに、最新カーネルむけのパッチなどを紹介します。
WARRANTY
この文書は、慎重に正確を期して作成されておりますが、 その内容については無保証です。また、この文書の内容により、 直接、間接にあなたが損害を被った場合においても、 著者がその責を負うことはありません。本文書は、"AS-IS"で 提供されます。
fivaとは
CASSIOPEIA FIVAは、カシオ計算機株式会社が発売するミニノートPCです。CPUには、旧Cyrix/IBM/National Semiconductorの統合CPU、MediaGX/GXmが採用されています。1998年秋の発売以来、このシリーズは3世代目まで発売されています。 現在では、crusoeチップを使った新しいシリーズとなっています。 このノートパソコンは、A5サイズで、重量が標準バッテリーを含んで870gと軽量でありながら、HAST液晶による8.4インチで800x600ドットの表示をサポートしているのが特長です。 詳しくはカシオのWebサイトでご覧になれます。
ハードウエアスペック
CASSIOPEIA FIVA 101S
- CPU
- Cyrix MediaGXm 200MHz
- Chipset
- Cyrix Cx5520
- PCMCIA/PC CARD
- CardBus: Ricoh RL5c475互換
- USBコントローラ
- Compaq互換:OHCI
- VGAコントローラ
- Cyrix MediaGXによる統合機能
- Soundコントローラ
- Cyrix MediaGXによる統合機能
CASSIOPEIA FIVA 102S
- CPU
- Cyrix MediaGXm 233MHz
- その他
- 101と同様
CASSIOPEIA FIVA 103S
- CPU
- National Semiconductor Corp.(NSC) Geode(tm) G1 300MHz
- その他
- 101と同様
Downloads
カーネルパッチのダウンロード
- Linux 2.2.16
- Linux 2.2.17
- Linux 2.2.18
- CD-ROM Drive PCMCIA-CS patch
- stanby patch for 2.4.7
- Linux 2.4.7 big patch
- Linux 2.4.16 big patch
- Linux 2.4.18 big patch
設定ファイルサンプル
- XF86Configのサンプル
- /usr/src/linux/.config(linux-2.2.16)
- /usr/src/linux/.config(linux-2.2.17)
- /usr/src/linux/.config(linux-2.2.18)
- /usr/src/linux/.config(linux-2.4.7)
- /etc/rc.boot/hdd起動時のhdparmコマンドによるハードディスクコントローラの設定の例
純正CD-ROM/DVDの問題点
純正のCD-ROM/DVD-ROMドライブは、Linuxそのままでは動作しません。 (除く:TurboLinux7) しかし、TurboLinux7に含まれるパッチを当てることにより、動作させることが できます。TurboLinux7へ含まれるCD-ROM対応パッチは、本ページにも置きましたので、ご利用ください。
問題点について
APM BIOSの問題
ノートPCにはありがちなのですが、このFivaも例に漏れず、APM BIOSがイカれ ています。そのため、Linuxはデフォルトの状態では、サスペンドすることす らできません。
また、ハードディスクコントローラについて、APM BIOSが設定の保存/復元をやっていないために、Linuxのデフォルトでハイバネーションをさせると、APM BIOSがむちゃくちゃな領域へ書き込みを行おうとするために、ファイルシステムを破壊してしまいます。
Linuxは、起動時にAPM BIOSへの接続を確立しようとします。 (/usr/src/linux/arch/i386/kernel/apm.c:apm_init( ))ここで、APM BIOSの バージョン情報や、32ビットサポートの有無、BIOSエントリーのセグメントと オフセット値や、データセグメントの値とその長さを取得します。
Fivaでは、BIOSのバージョンが1.2であり、BIOSは16bit/32bitのアクセスを サポートしているとOSへ通知しています。また、BIOSのエントリーは、 0xf000:8040(セグメント:オフセット)になっています。データセグメントdsegは、 0x9ffcであり、データセグメントの長さは、0x40バイトであると通知してき ています。
ところで、apm_init( )では、古いラップトップPCのAPM BIOSの代表的なバグ に対処するため、BIOSバージョンが1.0の場合には、BIOSの通知する値は、信 用せず、自前で決めてしまうようにしています。 また、コンパイル時のオプションによって、BIOSのバージョンに関わらず 強制的にこれを行うようにもできます。
しかしがならコンパイル時オプションで指定したとしても、Fivaの場合にはサ スペンドは可能ですが、ハイバネーションを行うことができません。
行儀のよいAPM BIOSならば、OSから制御を受け取ったときに、現在のGDTとい うメモリ管理情報を退避し、自前でメモリ管理情報をCPUに設定して、 メモリ全体のディスクの退避を行うようなロジックになっています。 それに対してFivaのBIOSの場合は、OSから制御を受け取ったときに、BIOSはメ モリ全体についてアクセス可能な状態であることを期待し、ほとんど自前で設 定しようとしません。 したがって、APMの規約にしたがって、APM BIOS用のGDTのgranuralityを0にし てありますと、ハイバネーションのためのRAMアクセスができずに失敗して しまうわけです。 APM BIOSの要求するメモリについてGranurality bitをセットしてやる必要があります。 また、キーボード上でFnキーを押しながらファンクションキーを押すことで、サスペンドしたり、 液晶の明度を変えたりできますが、これらのイベントもAPMのイベントとして OSへ通知されてきます。これらのイベントをログに残せるようにする修正も おこなうことにしました。 最後に、HDDパラメータについて、BIOSは multi countが 16 であることを 期待しているようです。そこで、起動時にこの値を固定的に決定し、以降 ユーザプログラムから変更出来ないようにしました。
CPU IDの問題
National Semiconductorの最近生産しているGeode(tm)G1(旧Cyrix MediaGX) では、CPUのvendor_idが変更になっています。 そのせいで、Linuxカーネルは、CPUがMediaGXと認識できずUNKNOWN CPUという ことで処理します。CPUはPentium MMX相当の機能を持っていると報告しますの が、MediaGXはCPUによく知られた致命的なバグがあって、最悪の場合システム のクラッシュを起こします。これは、FIVA 103Sの場合に該当します。 本サイトのパッチにより修復されます。
PC-CARDの問題
PCMCIA-CS 3.1.12以降では、起動時にカーネルパニック(割り込みハンドラの障害)を起こすことがあります。 次のように対処してください。
lilo: linux single
として、シングルモードで起動します。 /etc/pcmcia.confファイルを以下のように書き換えます。
PCMCIA=yes PCIC=i82365 PCIC_OPTS="pci_irq_list=15" CORE_OPTS= CARDMGR_OPTS=
その後、再起動してください。
また、Fiva純正CD-ROMを使いたい場合は、以下のパッチをPCMCIA-CSパッケージへあてて再コンパイルしてください。 PCMCIA-CSむけパッチ また、/etc/pcmcia/configファイルへ以下の行を追加してください。
card "Panasonic KME KXLC005 CD-ROM" version "KME", "KXLC005" bind "ide_cs"


最近のコメント
31 weeks 6 days ago
1 年 30 weeks ago
1 年 38 weeks ago
1 年 40 weeks ago
1 年 40 weeks ago
1 年 40 weeks ago
1 年 47 weeks ago
1 年 48 weeks ago
1 年 48 weeks ago
1 年 50 weeks ago