スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

SC-02B用 android 4.4 (KitKat) カーネルをビルドする

自分用の覚書です。didhiyさんのソースを利用してビルドします。2013/03/19 GPS対応するため修正。

必要なもの

①開発マシン:Ubuntu 12.04 (x86)
カーネルをビルドするだけなので、32bit版 Linux でOK

②クロスコンパイラ: gcc-eabi-4.8 (カーネルのMakefileに4.8と記述されている))
ダウンロード先:https://releases.linaro.org/latest/components/toolchain/binaries/
ダウンロードファイル:gcc-linaro-armeb-linux-gnueabihf-4.8-2014.01_linux.tar.bz2

③カーネルソース:didhiyさんはブランチが沢山ある、要注意
ダウンロード先:https://github.com/didhiy/android_kernel_samsung_aries/tree/kk-notest
ダウンロードファイル:android_kernel_samsung_aries-kk-notest.zip

④cm11のramdisk-disk
ダウンロード先:https://github.com/didhiy/ramdisk-aries
ダウンロードファイル:ramdisk-aries-aries-cm-11.0.zip

⑤ビルドに必要なディレクトリ
ダウンロード先:https://github.com/didhiy/ramdisk-sc02b
ダウンロードファイル:ramdisk-sc02b-master.zip

⑥mkbootfsとmkboot.imgのバイナリ
ダウンロード先:http://forum.xda-developers.com/showthread.php?t=562318
ダウンロードファイル:mkboot.zip

ディレクトリ構造)

ビルドシェルスクリプト:build-sc02b.sh
このスクリプトをみると、以下の記述がある。

KERNEL_DIR=`pwd`
OUTPUT_DIR=../output
CWM_DIR=../ramdisk-sc02b/stock/
MODULES_DIR=../ramdisk-sc02b/stock/system/lib/modules/


落とした各種zipファイルは、解凍し以下のフォルダ名にしておく。

解凍後にmvコマンドでディレクトリ名を変更しておく
# mv ramdisk-sc02b-master ramdisk-sc02b

また、インストール用zipでの必要なフォルダも作っておく
# mkdir /home/sc02/ramdisk-sc02b/stock/system
# mkdir /home/sc02/ramdisk-sc02b/stock/system/lib
# mkdir /home/sc02/ramdisk-sc02b/stock/system/lib/modules

mkbootfs と mkbootimg は /home/sc02b/bin におく、PATH通しておく

ビルド手順

★コンパイルの設定
# export PATH=/home/sc02b/gcc-linaro-armeb-linux-gnueabihf-4.8-2014.01_linux/bin:/home/sc02b/bin:$PATH
# export PATH=/home/sc02b/ramdisk-aries-aries-cm-11.0/bin:$PATH
# export ARCH=arm
# export CROSS_COMPILE=/home/sc02b/gcc-linaro-armeb-linux-gnueabihf-4.8-2014.01_linux/bin/armeb-linux-gnueabihf-

★Makefileの修正
# cd /home/sc02/android_kernel_samsung_aries-kk-notes
# cp Makefile Makefile.org
# emacs Makefile

★まずは、RAMDISKのfstab.ariesの修正
最初から入っている ramdisk.img を解凍して、中身を修正する。

# mkdir work
# cp android_kernel_samsung_aries-kk-notest/source/usr/galaxysmtd_initramfs_files/ramdisk.img work

WORKディレクトリで解凍して、作りかえる
# cd work
# minigzip -d < ramdisk.img > ramdisk.cpio
# mkdir ramdisk
# cd ramdisk
# cpio -idv < ../ramdisk.cpio

# cp fstab.aries fstab.aries.org …オリジナルのバックアップ
# emacs fstab.aries … mmcの箇所を逆にする

★mmcの2行で2と0をひっくり返しておく

# cd ..
# mkdir org
# mv ramdisk.img ramdisk.cpio org … オリジナルのバックアップ
# mkbootfs ramdisk > ramdisk.cpio
# minigzip < ramdisk.cpio > ramdisk.img

修正を加えたramdisk.img を元のディレクトリへ戻す
# mv ramdisk.img ../android_kernel_samsung_aries-kk-notest/source/usr/galaxysmtd_initramfs_files/

★ビルド実行

2,3時間すると、リカバリモードでインストールできるzipファイルが出来る

上記のように、notest-kk44-sc02b-20140319-twrp.zip というようにビルド日でzipが作られる。

なお、zipの中のupdater-scriptには機種判定用のasert()が入っているから削除した方がよい。

スポンサーサイト

コメントの投稿

非公開コメント

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。