Samsung Galaxy SII カーネルソースについて

投稿者: | 2011年6月23日

国内版が発売されたので書いておきます。

samsungの端末は以下でカーネルソースなどを公開しています。
Samsung Open Source Release Center
から、カーネルソースとBTやブラウザ等の一部のプラットフォーム部分のコードがDL可能です。

def(EUR版)とntt(SC-02C同等?)のdefconfig差分

#
# General setup
#
CONFIG_KERNEL_GZIP=y
# CONFIG_KERNEL_LZO is not set

#
# RCU Subsystem
#
CONFIG_RD_GZIP=y
# CONFIG_RD_LZO is not set

#
# Power Domain
#
CONFIG_TARGET_LOCALE_EUR=y
# CONFIG_TARGET_LOCALE_KOR is not set
# CONFIG_TARGET_LOCALE_NTT is not set

#
# Networking options
#
CONFIG_IPV6_MULTIPLE_TABLES=y
# CONFIG_IPV6_SUBTREES is not set

#
# EEPROM support
#
CONFIG_PN544=y (NFC chip)

#
# Video improvement chips
#
# CONFIG_VIDEO_TSI is not set
> ntt版
> CONFIG_VIDEO_TSI=y
> # CONFIG_VIDEO_TSI_DEBUG is not set
> # CONFIG_TSI_LIST_DEBUG is not set

#
# Reserved memory configurations
#
# CONFIG_ISDBT_FC8100 is not set

#
# MMC/SD/SDIO Card Drivers
#
# CONFIG_MMC_CPRM is not set

#
# Texas Instruments shared transport line discipline
#
CONFIG_FM_SI4709=m

地域による主な違い

EUR版(c1_rev02_defconfig)
・NFCあり
・FMあり
・TVなし

日本版だと思われる(c1_rev02_jpn_ntt_defconfig)
・NFCなし
・FMなし
・TVあり

韓国版だと思われる(c1_rev02_kor_skt_defconfig)
・NFCあり
・FMなし
・TVあり

ビルド手順

0.ソースを取得
Samsung Open Source Release Center
から”GT-i9100″で検索

1.config設定
kernel/arch/arm/configs
から

c1_rev02_defconfig
c1_rev02_jpn_ntt_defconfig
c1_rev02_kor_skt_defconfig

のどれかを.configとしてコピー、
.config書き換え。
initramfsを指定する。
initramfsは本体から取り出したりXDAを見るなりしてどうにかして用意。

カーネルコンフィグをいじりたければ普通に

$make menuconfig

などでいじるのも可能。
しかし特に触るところは無いかと。むしろソースをチューニング。

2.toolchainの変更
Makefileのクロスコンパイラを変更。

#CROSS_COMPILE  ?= /opt/toolchains/arm-2009q3/bin/arm-none-linux-gnueabi-
CROSS_COMPILE ?= ../toolchain/arm-eabi-4.4.3/bin/arm-eabi-

AOSPソースに入っている
prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/
を持ってきて、利用するように Makefileを書き換えるのが楽かと思います。
これを使うためにはAOSP版ソースの取得が必要です。

3.make

$make

kernel/arch/arm/boot/zImage
が完成。

4.書き込み
“VolumeDown + HOME + 電源”でダウンロードモードにして

$heimdall flash --kernel zImage

または

$tar cvf GT-I9100_Kernel_Gingerbread.tar zImage

としてOdinを使う。

#2chあたりですでにrootが取れてるとか見かけた気がするので、カーネルは自分でビルドすると良いかと。
しかしnttのdefconfigはビルドが通らないという話も。(未確認)
通りませんでした。エラーをちゃんと見て対応すればいけるのかな? うちはntt版ソースが出るまで待ち。
と思いましたが、lzopパッケージをインストールしたらzImageまで作成できました。
まぁrootとるだけなら書き換えだけでビルドはいらないかもしれませんが…

コメントを残す

メールアドレスが公開されることはありません。