Cara build Kernel Any Android Device






Apa itu Kernel..?


Sebagai pengguna komputer, kadang kita pernah mengalami hal-hal yang membingungkan seperti komputer hank atau tidak berfungsi dengan baik, sebagai contohnya adalah ketika menggunakan OS Windows, ketika terjadi hank kadang-kadang mulcul layar biru atau di kenal dengan Blue Screen,dan biasanya ada informasi atau kata-kata KERNEL bla .. bla .. bla … sejauh ini sebagai orang awam maka jika terjadi hal tersebut maka pasti akan membooting ulang komputernya tanpa mengetahui apa yang sebenarnya terjadi. Nah berlandaskan hal tersebut maka ada artikel yang menarik menyangkut istilah KERNEL .. selamat membaca.
Dalam sains komputer, kernel merupakan inti dari sistem pengoperasian yang mengatur penggunaan ingatan/memori, peranti masukan dan keluaran, proses-proses, penggunaan fail pada sistem fail dan lain-lain. Kernel juga menyediakan sekumpulan layanan yang digunakan untuk mengakses kernel yang disebut system call. System call ini digunakan untuk mengimplementasikan berbagai layanan yang diberikan oleh sistem pengoperasian. Program sistem dan semua program-program lainnya yang dijalankan di atas kernel disebut user mode. Kernel Linux terdiri dari beberapa bagian penting, seperti: pengurusan proses, pengurusan ingatan, pemacu perkakasan, pemacu sistem fail, pengurusan jaringan dan lain-lain. Namun bahagian yang terpenting ialah pengurusan proses dan pengurusan ingatan. Pengurusan ingatan meliputi penggunaan ingatan, kawasan pertukaran, bahagian-bahagian kernel dan untuk cache penimbal (buffer cache). Pengurusan proses menangani penggunaan proses-proses dan penjadualan proses. Pada bahagian dasar kernel terdapat pemacu perkakasan untuk setiap jenis perkakasan komputer yang disokong. Fungsi-fungsi kernel

1. Pengurusan proses
Tugas utama sebuah system pengoperasian kernel ialah membenarkan aplikasi yang lain untuk berjalan dan menyokong mereka dengan ciri-ciri tambahan, seperti pengabstrakan perkakasan, untuk menjalan proses, kernel mesti memuat turun failnya kepada ingatan, menyediakan stack untuk program dan pergi ke lokasi yang diberikan di dalam program, ini memulakan perjalanan sesebuah program, cara ini dipanggil scheduling. Dalam sistem berbilang kerja, kernel secara asasnya akan memberikan setiap program sedikit masa dan menukarkan dari proses ke proses dengan cepat dengan itu ia akan muncul kepada pengguna jika proses ini dijalankan secara terus menerus. Kernel mesti juga menyediakan proses ini untuk berkomunikasi, ini dikenali sebagai inter-process communication. Ini kemungkinan ada multipemprosesan yang menyokong kernel tersebut.

2. Pengurusan ingatan
Kernel mempunyai akses penuh dalam ingatan sistem dan menyediakan cara-cara untuk membenarkan userland program untuk mengakses memori ini dengan selamat. Cara pertama untuk mengurus ingatan ialah virtual addressing, biasanya arkib dengan mukasurat atau segmentation.Virtual addressing membenarkan kernel untuk memberikan alamat fizikal yang muncul sebagai alamat yang lain iaitu virtual address, ini membenarkan setiap program mempercayai ia hanya satu program (sebahagian daripada kernel) yang berjalan, dan ini mengelakkan aplikasi daripada berlanggar antara satu sama lain.

3. Pengurusan peranti
Dalam arahan untuk melakukan sesuatu tugas, kernel perlu untuk mengakses perbagai peranti yang bersambungan di dalam komputer, sebagai contoh, dalam arahan untuk memaparkan pengguna apa-apa sahaja, pemacu monitor perlu untuk muncul, peranti ini boleh dikawal melalui pemacu, di mana ia mesti dibuat oleh pembangun dan/atau disediakan oleh pengilang sesuatu peranti tersebut.
Pengurus peranti pertamanya akan melakukan semakan keatas bas perkakasan yang berbeza (seperti USB, PCI), dalam arahan unruk mengesan semua peranti yang telah dipasang dan kemudiannya mencari pemacu yang bersesuaian, selepas ini, semuanya bergantung kepada jenis kernel dan rekaan kernel.

4. Sistem panggilan
Dalam arahan untuk menyediakan kerja yang berguna, program userland mesti mempunyai akses kepada semua perkhidmatan yang disediakan oleh kernel. Ini dilaksanakan secaar berbeza-beza oleh kernel yang berlainan, tetapi mesti disediakan oleh C library, dimana ia menukarkan kelemahan kesemua system panggilan, sama ada diberikan atau melalui memori yang dikongsi.

5. Shell
Shell adalah perisian atau aplikasi yang menjadi alat untuk perhubungan antara pangguna untuk berhubung dengan sistem operasi, shella akan membaca apa sahaja yang dimasukkan oleh pengguna dan memahaminya sebagai arahan untuk menjalankan perisian lain, memanipulasi fail, dan memberikan output. Shell juga turut dikenali sebagai command line interface
Terdapat pelbagai shell untuk Unix/Linux. Korn shell atau POSIX shell adalah shell yang biasa di kebanyakkan jenis unix atau linux.

Kedudukan kernel dalam sistem komputer
Kedudukkan kernel pada sistem komputer adalah pada root directory yang mengandungi kedua-dua boot program dan fail yang mengandungi kernel untuk sistem. Kernel biasanya menpunyai pelbagai nama, berbeza dari pengilang mesin antara satu sama lain, tetapi kebiasannya ia mempunyai perkataan nix supaya pengguna dapat mencarinya dengan wildcard characters.
Sebagai contoh:
ls /*nix*
-rwxr—– 1 root 1558734 Sep 24 1992 /vmunix
Kesimpulan
Kernel adalah inti OS (Operating System)

Persiapan :


 Linux 32/64 bit with OS Ubuntu 10.10, 10.04, ,11.04 ,12.04(Recommended) - HH Android yang mau dibikin Kernelnya - Inet Kenceng buat clone Git Devnya yang mau dijadiin base kernel - SDK - Java - ToolChain - GCC - Basic Knowledge About C/C++ - dll. untuk ubuntu dan turunan
Code:
sudo apt-get install -y build-essential kernel-package libncurses5-dev bzip2 git
untuk toolchain (32-bit sama 64-bit beda) ini untuk 32-bit - ane make Linaro
Code:
Toolchain

Step by step :


Inget ya kudu di Linux Distro oke :v wkwkkwk
pertama yang ente lakukan adalah membuat WORKING AREA atau tempat dimana kita eksekusi KERNEL :D

masuk terminal CRTL + T

ketikan :

mkdir /android
cd /android
mkdir /kernel
cd kernel

nah disini ente siapin akses internet minimal 500 mb buat download source kernel nya contoh disini ane make source ane sendiri :p

masih tetep di terminal ketik :

git clone https://github.com/SatrioDwiPrabowo/Intuisy-Kernel-3.0.45.git

nah tunggu dulu aja om bentaran tergantung face & koneksi internet ente ingat ini berlaku untuk semua device ente jadi ente tinggal cari source kernel ente sendiri yaa

ceritanya udah nih ya :D

tetep diterminal ketikan sudo /bin/bash ( ini untuk akses SuperUser )
masih inget kan toolchain yang tadi di sonlot ?? pasti file nya ada di /home/username/Downloads pindahin toolchain nya ke /home/username/android/kernel

Oke kita lanjutkan perjuangan :v ketik :

export ARCH=arm
export CROSS_COMPILE=/home/username/android/kernel/toolcahin/versi toolchain/bin/arm-eabi- ( kudu bener ya direktori nya )

contoh ini di lepi ane :

export ARCH=arm
export CROSS_COMPILE=
/home/prabowo78/android/kernel/toolchain/arm-eabi-linaro-4.6.2/bin/arm-eabi-

lalu ketik lagi make project_device ente_defconfig ( ini bisa kita lihat di arch/arm/configs

contoh source kernel ane

make intuisy_JLO_defconfig

kalo udah ketik lagi make menuconfig
nanti disini muncul jendela menu untuk konfigurasi kernel ente :v
disini hampir selesai om semangat jangan menyerah :v wkwkwkk

ketika ente udah mengkonfigurasi kernel ente ketik :

make -j2 ( ingat disini -j2 adalah nomer CORE CPU ente disni CPU ane dual-core jadi -j2 )
tunggu dah sampe selesai :v
oke rebes dah tutorial ane :v wkwkwk

NOTE :

* JAVA HARUS TERINSTALL
* JANGAN NYALAHIN TS KALO HAPE ente mokad :v

Best Regard SatrioDwiPrabowo@xperiasoul.net

Comments
0 Comments

0 komentar: