Friday, January 31, 2014

Cara Menyusun Suatu Kernel Untuk Android ICS Via Linux

Anmoin on Cara Menyusun Suatu Kernel Untuk Android ICS Mungkin ini agak ribet tapi karena saya mencoba dan pernah gagal sekali. Di sini akan di jelaskan bagaimana Cara Untuk Menyusun Sebuah Kernel pada HH android agan dengan menggunakan Xperia S sebagai contoh percobaanya [Stock ICS FW 6.1.A.2.55] .

Beberapa amunisi yang harus di siapkan :
- Linux PC [32 bit]
- Sony source in Here.
- Stock Kernel.sin dengan FW yang sama.
- DoomLorD's prebuild toolchain.
- Android Kernel Kitchen (Optional).
- Waktu dan Kesabaran.

Jika amunisi telah disiapkan secara keseluruhan, lanjut ke eksekusi.

Langkah - Langkah :
1. Download dulu Source code dari link di atas.
2. Kemudian jalankan command - mkdir android
3. Lalu copy tar.bz2 file ke android folder dan jalankan command ini,

Code:
cd android
tar -xjvf *.*
Setelah langkah ini akan dimulai dengan mengekstract file dari kernel.

4. Sekarang, kita harus download untuk toolchain kemudian jalankan command ini :-

Code
 https://github.com/DooMLoRD/android_prebuilt_toolchains.git
Dalam proses download toolchain akan memakan waktu beberapa saat.

5. Setelah download selesai, buka file terminal windows dan eksekusi dengan menggunakan command :-

Xperia NX SO-02D => fuji_nozomi_dcm_defconfig
Xperia S=> fuji_nozomi_defconfig
Xperia acro HD SO-03D=> fuji_hikari_row_defconfig
Xperia acro HD IS12S => fuji_hayate_deconfig
Xperia SL => fuji_nozomi2_defconfig

Code:
cd android
cd kernel
ROSS_COMPILE=~/android_prebuilt_toolchains/arm-eabi-4.4.3/bin/arm-eabi- make fuji_nozomi_defconfig make ARCH
ARCH=arm
C=arm CROSS_COMPILE=~/android_prebuilt_toolchains/arm-eabi-4.4.3/bin/arm-eabi- menuconfig
Sekarang anda mempunyai pilihan untuk menjalankan beberapa macam tweaks. Setelah selesai semua, save and exit menu config file. Sekarang kita akan membangun zImage. Jalankan Command -

Code:
ARCH=arm CROSS_COMPILE=~/android_prebuilt_toolchains/arm-eabi-4.4.3/bin/arm-eabi- make
Pada Step ini anda akan membutuhkan beberapa saat sampai proses compile selesai.

6. Minimize terminal window yang sedang beroperasi meng-compile kernel. Sekarang, buka Flashtool dan Click Tools---> SIN Editor dan kemudian pilih Kernel.sin. Lalu tekan/klik on Dump data dan anda akan mendapatkan output berupa kernel.elf. Sekarang setelah selesai anda jalanka ekstrak button. Sekarang tekan Tools ---> Extractors--->ELF Extractors dan pilih kernel.elf file. Kemudian tekan extract button. Sekarang seluruh dari file akan ter extract. Kita membutuhkan 2 Files diantaranya kernel.elf.ramidsk.gz dan kernel.elf.rpm.bin.

7. Jalankan Command ini -

Code:
mkdir compile


dan copy file diatas ke directory dan rename file yang 2 tadi :-
kernel.elf.ramdisk.gz---> ramdisk.img
kernel.elf.rpm.bin ---> RPM.bin [Caps Sensitif]
Kemudian download file ini : Sonny Kernel Source.
Extract zip file dan copy file mkelf.py ke "compile" folder.

8. Sekarang, coba balik lagi ke saat sedang compiling dan cek kernel telah ter compile apa belum. Cek di terminal window jika itu berhenti, maka proses compile bisa dikatakan gagal. Jika tidak ditemukan eror bisa dikatakan kernel telah tercompile. Anda cek ke android/kernel/arch/arm/boot dan anda akan melihat sebuah file bernama zImage disana. Copy zImage ke "compile" folder di root directory.

9. Saat ini di compile folder yang sudah ada di directory seharusnya sudah ada beberapa file diantaranya:
 - ramdisk.img
 - zImage
 - RPM.bin
 - mkelf.py

Sekarang kita tinggalkan semuanya, dan fokus ke kernel.elf. Di step ini, anda mempunyai 2 pilihan. Jika anda ingin mengubah ramdisknya saja. silahkan langsung ke step 12.

10. Run this command in terminal -

Code:
 git clone  https://github.com/championswimmer/kernel-tools.git

Lalu copy ramdisk.img ke /kernel-tools/input dan kemudian double click di "menu". Lalu pilih run di terminal dan pilih option nomor 4 di main menu. Pilih extract ramdisk dan ikuti instruksi selanjutnya.


11. Kemudian Jika anda ingin membuat beberapa perubahan, copy the ramdisk-contents folder lalu kembali ke input folder dan sekarang pilih lagi option 4 di main menu pilih ramdisk. Ikuti Instruksi selanjutnya. Lalu copy the ramdisk.cpio.gz dari output directory ke "compile" folder dan rename file tersebut menjadi ramdisk.img.

12. Sekarang Buka Terminal dan jalankan cd ke "compile" directory dan jalankan command selanjutnya.


Beberapa Compiling file untuk JB, jalankan step ini:

Code:

python mkelf.py -o kernel.elf zImage@0x40208000 ramdisk.img@0x41300000,ramdisk RPM.bin@0x20000,rpm
Dan untuk ICS :
python mkelf.py -o kernel.elf zImage@0x40208000 ramdisk.img@0x41500000,ramdisk RPM.bin@0x20000,rpm
Untuk GB :

python mkelf.py -o kernel.elf zImage@0x40208000 ramdisk.img@0x41200000,ramdisk RPM.bin@0x20000,rpm
13. Lalu sebuah kernel.elf file akan tercipta yang dimana sudah siap untuk di flash ke HH android anda!

fastboot -i 0x0fce flash boot kernel.elf

Sekian Tutorial Menyusun Suatu Kernel Untuk Android ICS Dengan OS Linux
Semoga berhasil ya dan semoga bermanfaat!

0 comments:

Post a Comment

 
Copyright © . Android Mobile Information - Posts · Comments
Theme Template by Yudistira Jaya Permana · Powered by Cat Lovers Cirebon