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

Hacking LinuxZaurus

近況報告

無責任

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

何だろう

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

カーネルの入れ換え手順

(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

全般

各論

その他

技術情報

動作周波数

SL-C3000については、IntelR PXA27x Processor Family Developer's Manualを参照のこと。下記はPXA25xの情報。
                 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周波数の半分)。

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

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