Linux on CASIOカシオペアFiva1xx

Submitted by Hiroshi Miura on 水曜, 2007-01-10 12:36

Linux on CASIO Cassiopeia Fiva 1xx

14, Dec. 2001
Hiroshi MIURA
CASIOのノートPC、CASSIPEIA FIVAでLinuxを利用するときに必要なパッチ類を提供するとともに、利用ノウハウを提示する。

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

カーネルパッチのダウンロード

設定ファイルサンプル

note: linux-2.4.16 make troubles with X-4.1.0 in my environment, it may be bug around VM. there are noise, fail sync on liquid panel, ...

純正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"

© 2010 Your Name. m