初めてcpufreq_smartassH3ビルドできたので・・・。
Linux初心者が適当にやってるので、間違った表現があればご容赦くださいf(^^;;;
(ちゃんと効果があるかわからないので今週確認してみます)
□1220追記
機能しているみたい
------------------------------------------------------------------
□目的は、cpufreqとioschedをmakeすることだけです(笑)
色々、先人方のサイトを参考に勉強してみましたが、基本は下記になるみたい。
How to rebuild kernels for flagship Xperia devices
※ビルドするまで(自分環境に置き換える)
備忘録 -Z1f kernel modules-ななしさんの後追いですけど。
□jdk1.8.0_66(最新版)とandroid-sdk-linuxは自力で入れておく。
(使わないかも…)
インストール終わったら、設定しておく。
設定のみ
□Open source archive for 14.6.A.1.236持ってくる
ダウンロードして、普通にGUI操作でざっくりと展開、適当なフォルダに置く。
使用するのは、kernelフォルダのみ。
今回は、
□Cross Compiler持ってくる
(名称は適当にして、フォルダ作成してから、移動)
あとは勝手に、DLと解凍してくれる。
□module関係を持ってくる
□cpufreqとioschedフォルダ内にある、Makefileの一部を自分環境に合わせる
□/module/cpufreqフォルダ内の、Makefileにビルドする内容を追記する
これだと、検討したいときに面倒なので下記に変えてます(内容は同じみたい)
ビルドしたいときは#を取るだけ
□kernelのビルド
□defconfigインポート後にmenuconfig
General setup → Automatically append version information to the version stringをN
右キーから exit → exit → Y で完了
※どこまで実施するのかまでは、わかっていませんけどねf(^^;;;
□とりあえずmake
□config編集とmake modules
File systems → DOS/FAT/NT File systems → NTFS File system supportにM
NTFS debugging supportにY
NTFS write supportにY
File systems → Native language support → Japanese charsets(Shift-JIS,EUC-JP)にM
※これもどこまで実施するのかまでは、わかっていませんけどねf(^^;;;
□最後にモジュールmakeする
※make終わった、****.koファイルを集める
※make終わった、****.koファイルを集める
ありがたく頂戴した、.zipの
.zip\system\lib\modules\custom_modules内を入れ替える
これで一応完成。
□cpufreq_smartassH3ビルドについて
ニッチで何が悪い
9)モジュールのソース・バイナリ提供
ソースコードを利用させていただきました。ありがとうございます。
(yoshi818/SO-02E-modules/ cpufreq / cpufreq_smartassH3.c)
そのままビルドできなかったので、エラーを元に、cpufreq_smartass2と比較しながら少し追記。
基本ソースコードは、154氏(赤星氏)が作成したものを利用させていただきました。
The Middle of Nowhere / 辺境の憩い カーネルモジュール
(cpufreq_smartass2どこを参照したのか分からなくなったので、あとで調べます)
とりあえずできたものとソース。使用に際しては自己責任にて。
(余計なものもあるかも…)
Linux初心者が適当にやってるので、間違った表現があればご容赦くださいf(^^;;;
(ちゃんと効果があるかわからないので今週確認してみます)
□1220追記
機能しているみたい
------------------------------------------------------------------
□目的は、cpufreqとioschedをmakeすることだけです(笑)
色々、先人方のサイトを参考に勉強してみましたが、基本は下記になるみたい。
How to rebuild kernels for flagship Xperia devices
※ビルドするまで(自分環境に置き換える)
備忘録 -Z1f kernel modules-ななしさんの後追いですけど。
□jdk1.8.0_66(最新版)とandroid-sdk-linuxは自力で入れておく。
(使わないかも…)
インストール終わったら、設定しておく。
設定のみ
$ nano ~/.bashrc
JAVA_HOME=/usr/local/java/jdk1.8.0_66
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
export JAVA_HOME
export PATH
export ANDROID_HOME=${HOME}/android-sdk-linux
export PATH=${PATH}:${ANDROID_HOME}/tools:${ANDROID_HOME}/platform-tools
# Cross Compiler
export CROSS_HOME=/android
export CC46=$CROSS_HOME/arm-eabi-4.6/bin/arm-eabi-
□Open source archive for 14.6.A.1.236持ってくる
ダウンロードして、普通にGUI操作でざっくりと展開、適当なフォルダに置く。
使用するのは、kernelフォルダのみ。
今回は、
/home/(ユーザー名)/14.6.A.1.236
に置いた。□Cross Compiler持ってくる
(名称は適当にして、フォルダ作成してから、移動)
$ cd /
$ mkdir android
$ cd android
$ su (スーパーユーザーになっておく)
# git clone https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/
/android/arm-eabi-4.6フォルダ
できてる。□module関係を持ってくる
/home/(ユーザー名)/module
フォルダ作成して、ソースファイルからcpufreqとioschedフォルダを入れる。□cpufreqとioschedフォルダ内にある、Makefileの一部を自分環境に合わせる
/home/(ユーザー名)/module/cpufreq/Makefile
KERNEL_DIR=/opt/9.2.A.0.295/kernel
を
KERNEL_DIR=/home/(ユーザー名)/14.6.A.1.236/kernel
に修正。
/home/(ユーザー名)/module/iosched/Makefile
CROSS_COMPILE=/opt/arm-2013.11/bin/arm-none-linux-gnueabi-
を
CROSS_COMPILE=/android/arm-eabi-4.6/bin/arm-eabi-
に修正。
□/module/cpufreqフォルダ内の、Makefileにビルドする内容を追記する
obj-m := symsearch.o cpufreq_badass.o cpufreq_dancedance.o cpufreq_hotplugx.o cpufreq_lionheart.o cpufreq_pegasusq.o cpufreq_smartmax.o cpufreq_wheatley.o cpufreq_intellidemand.o cpufreq_smartass2.c cpufreq_smartassH3.c
#obj-m += symsearch.o
#obj-m += cpufreq_badass.o
#obj-m += cpufreq_dancedance.o
#obj-m += cpufreq_hotplugx.o
#obj-m += cpufreq_lionheart.o
#obj-m += cpufreq_pegasusq.o
#obj-m += cpufreq_smartmax.o
#obj-m += cpufreq_wheatley.o
#obj-m += cpufreq_intellidemand.o
obj-m += cpufreq_smartass2.o
#obj-m += cpufreq_smartassH3.o
□kernelのビルド
# cd /home/(ユーザー名)/14.6.A.1.236/kernel
# export ARCH=arm
# export CROSS_COMPILE=$CC46
# make rhine_amami_row_defconfig
# export ARCH=arm
# export CROSS_COMPILE=$CC46
# make rhine_amami_row_defconfig
□defconfigインポート後にmenuconfig
# export ARCH=arm
# export CROSS_COMPILE=$CC46
# make oldconfig
# make menuconfig
(ここからGUIになる)General setup → Automatically append version information to the version stringをN
右キーから exit → exit → Y で完了
□とりあえずmake
# export ARCH=arm
# export CROSS_COMPILE=$CC46
# make
# make -j
(この辺が怪しいですけど…できたので良しとしました)□config編集とmake modules
# export ARCH=arm
# export CROSS_COMPILE=$CC46
# make menuconfig
(ここからGUIになる)File systems → DOS/FAT/NT File systems → NTFS File system supportにM
NTFS debugging supportにY
NTFS write supportにY
File systems → Native language support → Japanese charsets(Shift-JIS,EUC-JP)にM
# export ARCH=arm
# export CROSS_COMPILE=$CC46
# make modules
□最後にモジュールmakeする
# cd /home/(ユーザー名)/module/cpufreq
# make
# cd /home/(ユーザー名)/module/iosched
# make
ありがたく頂戴した、.zipの
.zip\system\lib\modules\custom_modules内を入れ替える
これで一応完成。
□cpufreq_smartassH3ビルドについて
ニッチで何が悪い
9)モジュールのソース・バイナリ提供
ソースコードを利用させていただきました。ありがとうございます。
(yoshi818/SO-02E-modules/ cpufreq / cpufreq_smartassH3.c)
そのままビルドできなかったので、エラーを元に、cpufreq_smartass2と比較しながら少し追記。
基本ソースコードは、154氏(赤星氏)が作成したものを利用させていただきました。
The Middle of Nowhere / 辺境の憩い カーネルモジュール
(cpufreq_smartass2どこを参照したのか分からなくなったので、あとで調べます)
とりあえずできたものとソース。使用に際しては自己責任にて。
(余計なものもあるかも…)