難しそうだけどやってみた。
手持ちのPC(Win8 Pro 64bit)にVirtualBoxをインストール
Ubuntu 日本語環境をダウンロード して仮想マシン作る。
開発?環境にすべく
http://iishikawa.s371.xrea.com/note/android-compile.html
ここに参考にして
ソースコードをダウンロードして分かりやすいとこに展開
$ mkdir -p ~/ksource/9.1.C.0.475
$ cd ~/ksource/9.1.C.0.475
$ tar xvf ../9.1.C.0.475.tar.bz2
$ cd ~/ksource/9.1.C.0.475
$ tar xvf ../9.1.C.0.475.tar.bz2
とりあえずAXを調べる。
$ cd ~/ksource/9.1.C.0.475/kernel
$ cat README_Xperia
Xperia SX MT28 => blue_komachi_dcm_defconfig
Xperia AX LT25 => blue_tsubasa_dcm_defconfig
Xperia GX LT29 => blue_hayabusa_dcm_defconfig
$ cat README_Xperia
Xperia SX MT28 => blue_komachi_dcm_defconfig
Xperia AX LT25 => blue_tsubasa_dcm_defconfig
Xperia GX LT29 => blue_hayabusa_dcm_defconfig
.configをmakeしてみる。
$ make ARCH=arm CROSS_COMPILE=$CCOMPILE blue_tsubasa_dcm_defcofig
できたところでzImageをmake
$ make ARCH=arm CROSS_COMPILE=$CCOMPILE
エラー吐きまくりで止まる・・・
途方にくれました。
クロスコンパイラを変えてみようとLinaroからandroid-toochainをダウンロード
違いがわからないけど、純正?っぽいから
再びmakeしてみるもエラー吐き出す・・・
arm-eabi-ld: error: DIV usage mismatch between arch/arm/boot/compressed/misc.o and output
arm-eabi-ld: error: DIV usage mismatch between arch/arm/boot/compressed/lib1funcs.o and output
なんじゃこりゃ?arm-eabi-ld: error: DIV usage mismatch between arch/arm/boot/compressed/lib1funcs.o and output
このままGoogle先生に聞いてみるとそれらしい答えが
Makefileを書き換えるらしい。
再びmake
無事にarch/arm/boot/zImageが出来上がった。
moduleを作るべく、玄人方々のソースコードから拝借して再度.configをmake
$ make ARCH=arm CROSS_COMPILE=$CCOMPILE blue_tsubasa_dcm_defcofig
.configを編集
$ make ARCH=arm CROSS_COMPILE=$CCOMPILE menuconfig
General setup > Automatically append version information
to the version string (CONFIG_LOCALVERSION_AUTO)を外す。Enable the block layer > IO Schedulers > 拝借してきたのに<M>
CPU Power Management > CPU Frequency scaling > 拝借してきたのに<M>
module生成
$ make ARCH=arm CROSS_COMPILE=$CCOMPILE modules
出来上がったmoduleを分かりやすいとこにコピー
$ mkdir ~/modules
$ cp drivers/cpufreq/*.ko ~/modules
$ cp block/*.ko ~/modules
$ cp drivers/cpufreq/*.ko ~/modules
$ cp block/*.ko ~/modules
端末に転送してinsmodしてみる。
$ adb push modules /data/local/tmp
$ adb shell
$ su
# insmod /data/local/tmp/vr-iosched.ko
とりあえずエラーは吐かない。$ adb shell
$ su
# insmod /data/local/tmp/vr-iosched.ko
大丈夫らしい。
【追記】
9.1.C.0.475/kernel/drivers/misc/felica.c
9.1.C.0.475/kernel/drivers/misc/oneseg_tunerpm.c
ガラ機能?
6.2.B.1.96/kernel/drivers/misc/felica.c
6.2.B.1.96/kernel/drivers/misc/oneseg_tunerpm.c
無効になってるみたいだけど、グローバルモデルもそのまま入ってるらしい。
有効にしてモジュールにすれば・・・
【追記その2】
6.2.B.1.96で試しにガラ機能?のモジュール作ってみたら、特にエラーも吐かず出来上がった。
0 件のコメント:
コメントを投稿