IS01 で compcache (ramzswap) を有効にする(1)

※2011/02/15追記:改良版をこちらで公開しています

IS01 は CPU こそ 1GHz の Snapdragon が載っているのですが、メモリが256MBと最近の端末にしては少なめです。そこで自分は、本体に swap ファイルを作成して使っていたのですが、やはりフラッシュメモリの消耗が気になるので compcache に切り替えることにしました。

compcache は、一定量のメモリを swap 領域として利用し、そこに圧縮して格納することで少ないメモリを効率的に活用するための仕組みです。SHARPのサイトで公開されているIS01のソースコードに compcache の機能を追加したものを以下に置いておきます。

» ubi-compcache.img

この kernel に入れ替えるだけで、32MB の compcache 機能が有効になります(/system/xbin などPATHの通ったところに busybox が必要)。また、偉大な先人に習って、insmod有効化、NANDロック解除、Deckard無効化もしてあります。

# rzscontrol /dev/block/ramzswap0 -s
DiskSize:          32768 kB
NumReads:           4358
NumWrites:         10339
FailedReads:           0
FailedWrites:          0
InvalidIO:             0
NotifyFree:            0
ZeroPages:           763
GoodCompress:         63 %
NoCompress:           23 %
PagesStored:        7425
PagesUsed:          3234
OrigDataSize:      29700 kB
ComprDataSize:     12630 kB
MemUsedTotal:      12936 kB

# 最近、組み込みAndroidの本を買いました。Kernelの移植方法やドライバの作り方などが分かりやすく解説されていて、これはおすすめ。

基礎から学ぶ 組み込みAndroid
坂本 俊之 出村 成和 渡邊 昌之
シーアンドアール研究所
売り上げランキング: 3485


このエントリーのはてなブックマーク (-)