2011年6月24日金曜日

Samsung Galaxy S II SC-02Cのカーネルビルドメモ

SC-02Cのroot取るのにカーネルごにょごにょする必要あるのでそれのメモ

モジュールを差し替えないとWiFiエラーで起動しなかったりするよ…


カーネルソースの入手


https://opensource.samsung.com/
SamsungのサイトからGT-I9100のカーネルソースをDLしてくる。
SEARCHの所にGT-I9100って入れて検索すれば出てきます。

クロスコンパイラの準備


安藤恐竜さんのサイト参考に

$ wget http://www.codesourcery.com/public/gnu_toolchain/arm-none-linux-gnueabi/arm-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
$ sudo tar jxvf arm-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 -C /opt


initramfs用意


面倒くさいので省略

カーネルソース修正


とりあえず展開して

$tar xf GT-I9100_Kernel_Gingerbread.tar.gz


c1_rev02_jpn_ntt_defconfigのCONFIG_INITRAMFS_SOURCE=""にinitramfsのパス書く

initramのdefault.propをこんな感じに編集

ro.secure=0
ro.allow.mock.location=0
ro.debuggable=0
persist.service.adb.enable=1

adb shellとかするとイキナリ#な感じになりまsu

ビルドする



$export PATH=/opt/arm-2009q3/bin:$PATH
$export ARCH=arm
$export CROSS_COMPILE=arm-none-linux-gnueabi-
$make c1_rev02_jpn_ntt_defconfig
$make -j4

lzopパッケージ入れておく必要あります。

arch/arm/boot/にzImage出来るのでHeimdallで焼くか

$tar cvf SC02C_kernel.tar zImage

てな感じにtarっておでんで焼く

ざっとこんな感じ…まだ実機入手出来てないので動作は未確認