SL-B500/C700/C750/C760/C860/6000 special kernel

Hacking LinuxZaurus

近況報告

無責任

本カーネルの使用により、あなたのZaurusがレンガになったりしても、私は何も補償できませんのであしからず。

何だろう

SL-C860のカーネルをちょっといじってSL-B500/C700/C750/C760/C860/6000でちょっと速く動くかもしれないようにしたものです。

カーネルの入れ換え手順

(1) SHARPのサイトからconsolescrollとupdater.sh.xxxxをもらってくる。 updater.sh.xxxxはファイル名をupdater.shと変更。 双方をメモリカードにコピーする。 (2) 下記から使いたいカーネルを選び、ファイル名はzImageと変更してメモリカードにコピーする (zImage.binではないことに注意)。

(3) consolescroll, updater.sh, zImage以外がメモリカードにないことを確認。 特にinitrd.binは危険なので絶対に消して下さい。 後は(1)のSHARPのサイトの手順通りですが、完全消去はしないで下さい (手順11で7だけ実行し、後は普通に電源を入れる)。

復旧手順

何か問題があった場合は、元のカーネルを使って上記(3)をやり直して下さい。
元のカーネルは、SHARP提供のアップデートソフトがある機種 (B500, C700, C860)ならば、そこから取り出して下さい。
SHARP提供のアップデートソフトがない機種 (C750, C760, 6000)ならば、元のカーネルと同等のものを使って下さい。

/procファイルシステム

/procファイルシステムにより、カーネル設定の参照/変更が可能です。
例えば、CCCRの値を参照したい時は、
$ cat /proc/cccr_change
CCCRを241に変更したい時は、
# echo 241 > /proc/cccr_change
など、通常のファイルのようにアクセスします。
変更 (書き込み)はroot権限が必要です。
以下に主要なものを示しますが、これ以外にも、ぴろさんの カーネルパッチをまとめるのページにいくつか書いてあります。

FAQ

全般

各論

その他

技術情報

動作周波数

                 CCCR    L   M   N
C700(Normal)    0x0241  27   2   2
C750/C760/C860  0x0161  27   4   1

                0x0242  32   2   2
                0x0162  32   4   1

Crystal Frequency = 3.6864MHz
Memory Frequency = Crystal Frequency * L
Run Mode Frequency = Memory Frequency * M
Turbo Mode Frequency = Run Mode Frequency * N
PXbus Frequency = Run Mode Frequency / 2

Memory Frequency(100MHz)を基準に考えると、
C700(Normal)はRun modeは2倍速(200MHz)でTurbo modeは4倍速(400MHz)。
C750はRun modeもTurbo modeも4倍速(400MHz)。
Run mode周波数を高くするとPXバスも速くなる(Run mode周波数の半分)。

ソース

linux-c860-20031107-rom1_10.tar.bz2を元にビルドしました。

ソースの修正点

以下のようにソースを修正しています。

カーネルコンフィグレーション

SL-C860のカーネルソースには、SL-B500用=poodle-j、SL-C700用=corgi、SL-C750用=shepherd-j、SL-C760用=husky-j, SL-C860用=boxer-j, SL-6000用=tosa-jという名前のconfigが含まれています。 このファイルを元に、コンフィグレーションファイルを次のように修正しています。

機能早見表

機能 normal special kernel
クロックアップ(B500/C700のみ),
WBキャッシュON,
FCSE
- yes
UNICON - yes
LCD BUFF - no (v14a-),
yes (-v14)
NO SHARP LOGO - yes
MILD SWAP - yes
CCCR可変 - yes
筆圧感知 - 起動時OFF,
有効化可能
SYSCLK100 - 起動時OFF,
有効化可能
PREEMPT,
LOCKBREAK
- no (v14-),
yes (-v13e)
3ボタン - 起動時OFF,
有効化可能
POWERKEYOFF - 起動時OFF,
有効化可能

山田哲靖 webmaster@tetsu.homelinux.org