2011年8月24日水曜日

[INFO] Galaxy S2 Update2ソースコード配布開始とUpdate2 kernelのビルド

自分的にはネタ切れですw。BLNもさらなる省電力追求しなくても現状でかなり実用的なので。。GT-I9100_OpenSource_Update2がopensource.samsungにリリースされています。早速c1_rev02_jpn_ntt_defconfigをdiffってみると。NFCのドライバはデフォルトではずされTUN/TAPがenableになってます。これは元の日本版に近いですね。あと気になるのは、CONFIG_FB_EARLYSUSPENDですかね。このあたりはバッテリに効いてくるところかもしれないですね。なにはともあれ、一旦素のUpdate2でビルドして動かしてみます。

4c4
< # Tue Jun 14 18:00:06 2011
---
> # Fri Mar 25 22:53:48 2011
302d301
< # CONFIG_S3C_DEV_I2C17_EMUL is not set
365d363
< CONFIG_DEV_THERMAL=y
377,379d374
< # CONFIG_MACH_C1_NA_SPR_REV02 is not set
< # CONFIG_MACH_C1_NA_SPR_REV05 is not set
< # CONFIG_MACH_C1_NA_SPR_EPIC2_REV00 is not set
383,384d3
< # CONFIG_TARGET_LOCALE_NA is not set
< # CONFIG_TARGET_LOCALE_NAATT is not set
425d417
< CONFIG_S5PV310_WATCHDOG_RESET=y
439,443d430
< # CPUFreq step up sequence selection: 2 step or 3 step
< #
< CONFIG_FREQ_STEP_UP_L2_L0=y
<
< #
497,501d483
< # Samsung Kernel Debug Features
< #
< # CONFIG_KERNEL_DEBUG_SEC is not set
<
< #
625c607
< CONFIG_FB_EARLYSUSPEND=y
---
> # CONFIG_FB_EARLYSUSPEND is not set
920c902
< # CONFIG_RFKILL_INPUT is not set
---
> CONFIG_RFKILL_INPUT=y
984d965
< # CONFIG_WIMAX_CMC is not set
987d967
< # CONFIG_USBHUB_USB3803 is not set
999c979
< # CONFIG_PN544 is not set
---
> CONFIG_PN544=y
1064c1044
< CONFIG_TUN=y
---
> # CONFIG_TUN is not set
1385c1365
< CONFIG_THERMAL=y
---
> # CONFIG_S5P_THERMAL is not set
2201,2206d2180
< # CONFIG_WESTBRIDGE is not set
< CONFIG_WESTBRIDGE_HAL_SELECTED=y
< # CONFIG_MACH_OMAP3_WESTBRIDGE_AST_PNAND_HAL is not set
< # CONFIG_MACH_OMAP3_WESTBRIDGE_AST_CRAM_HAL is not set
< CONFIG_MACH_C110_WESTBRIDGE_AST_PNAND_HAL=y
< # CONFIG_MACH_NO_WESTBRIDGE is not set
2215c2189,2193
< # CONFIG_SAMSUNG_PHONE_TTY is not set
---
>
> #
> # LinuStoreIII Flash Devices (FSR)
> #
> # CONFIG_RFS_FSR is not set
2288a2267,2275
>
> #
> # RFS Filesystem
> #
> # CONFIG_RFS_FS is not set
>
> #
> # RFS Core Filesystems
> #
2558c2545
< CONFIG_CRYPTO_SHA256=y
---
> # CONFIG_CRYPTO_SHA256 is not set

基本的には以前からの方法でやりますが、initramfsのドライバ類はちゃんと入れ替えを忘れないようにしましょう。一回ビルドして*.koをつくってから、initramfsにコピーし、その後もう一回makeしてzImageを作成します。ビルド方法等は以前のエントリをチェックしてみてください。

適当なディレクトリに展開。
unzip GT-I9100_OpenSource_Update2.zip
mkdir kernel
cd kernel
tar xvfz ../GT-I9100_Kernel.tar.gz
コンパイルの準備
make c1_rev02_jpn_ntt_defconfig
make menuconfig
- ここで、initramfsや、version番号等を設定します。

chmod 666 Makefile
vi Makefile
- CROSS_COMPILEの値を自分のcompilerインストールディレクトリへのパスに置き換えて

make -j2
いつものようにheimdallでzImageを書き込みます。
で、動かしてみると、まぁガンマはUpdate1と変わらないですね。自分の個体では暗すぎです。消費電力とかの評価はまだわからないですがちょこちょこ変わってるようなので、一気にコードのマージをします。自分のkernelの場合、
1.最低動作周波数200Mhz -> 100Mhzへの変更
2.CPUにかかる電圧の調整(850/900)
3.カスタムブートロゴw
4.BLN
で、以上なので楽っす。いじるファイルは下記のようなもの。
/drivers/video/samsung/ld9040.c
/drivers/video/samsung/s3cfb_ops.c
/drivers/input/keyboard/cypress/cypress-touchkey.c
/arch/arm/mach-s5pv310/cpufreq.c
ちなみに
CONFIG_TARGET_LOCALE_NA
CONFIG_TARGET_LOCALE_NAATT
このあたりが追加になってますのでBLNのソースはここいらをちゃんと対応した感じでマージしないとダメっすね。
なくても動きそうですが。

cypress-touchkey.cはmergeが終わってテストでき次第githubにupします。

Update:
https://github.com/creams/SGS2-BLN-cypress-touchkey

UPしました。branch はUpdate2です。

0 コメント:

コメントを投稿