Saturday, January 18, 2014

UNOFFICIAL NIGTHLIES FOR LIQUID SMOOTH ROM 4.4.2 KitKat for Nexus 4/Mako

I have been compiling this Liquid Smooth ROM for several nights.



Use TWRP to flash it. May work with CWM too. Please reply here.

I am enjoy compiling this ROM. Many new things learnt.

However due to the cost of repo sync and uptime and Amazon.. and no one donate me money to further continue the compiling job, I halted this project today. But a friend willing to continue my job. Keep update with the ROM updates in XDA

Thursday, January 9, 2014

Compile ROM daripada source

Kalau nak compile ROM daripada source.. boleh tengok sini. Berikut adalah sumber Github ROM yang saya minat:


Sunday, January 5, 2014

Masalah SU lepas flash Franco Kernel pada CyanogenMod

Franco kernel ni setahu saya ada buat perubahan pada RAMDISK.. dan menyebabkan anda perlu flash SUPERSU zip file selepas anda flash kernel berkenaan.

Cara untuk enable superuser semula.

Pergi ke SuperSU app, dan cari bahagian settings, cari


"Respect Supersuser CM"


dan kemudian untick pada bahagian tu.


Selesai.

Wednesday, January 1, 2014

Cara compile kernel Android (draf, akan dikemaskini dari masa ke semasa)

Beberapa teman meminta saya mengajar cara untuk compile kernel Android. Di sini saya perturunkan beberapa jutsu yang saya kutip dari laman-laman yang berlainan, disebabkan beberapa isu yang unik pada laman sesawang masing-masing.

Secara ringkas, ilmu pengaturcaraan tidak diperlukan sama sekali untuk compile kernel Android. Tetapi, ia sangat membantu jika anda menghadapi masalah ketika proses compilation.

Berikut beberapa kemahiran yang perlu anda tahu:

1- Cara guna git.
2- Cara kernel Android berfungsi
3- Cara guna Linux menggunakan command line.

Disebabkan kernel Android berasal dari Linux, dengan beberapa keunikan seperti Bionic libraries, maka sekiranya anda pernah compile kernel Linux, maka caranya tidak jauh berbeza dengan kernel Android.

Cuma, disebabkan anda kena compile kernel Android ni dari komputer desktop/laptop anda, anda perlu melakukan proses "cross compiling" kerana ia melibatkan senibina pemprosesan yang berlainan, yakni dari hos x86/x_64 kepada ARM.

Untuk compilation kernel Android, penggunaan sistem operasi Linux dari distro Ubuntu 64 bit sahaja digalakkan. 32bit distro, mengikut pembacaan saya tidak boleh digunakan.

Proses muat turun kod sumber Android (source code)
Ada beberapa kod sumber yang boleh anda guna untuk proses kompilasi.. tetapi yang paling asasi ialah kod sumber dari git Android.

Untuk tutorial ini saya menggunakan contoh LG Nexus 4 (nama kod "mako")

Gunakan git;

git clone https://android.googlesource.com/kernel/msm.git

Satu direktori bernama "msm" akan dibentuk. Kalau anda mahu  gunakan nama sendiri untuk direktori/folder itu, gunakan

git clone https://android.googlesource.com/kernel/msm.git  nama-yg-anda-nak

Toolchain
Kemudian, anda perlukan toolchain (compiler silang platform) yang digunakan untuk compile kod sumber yang anda muat turun sebentar tadi ke di atas Intel x64 (64 bit) kepada ARM

Gunakan git lagi;
git clone https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7
Di sini anda perlu gunakan command "export" untuk mengemaskini kedudukan PATH yang anda ingin;

cd msm
export ARCH=arm
export SUBARCH=arm
najmi@vostro:~$ pwd
/home/najmi/msm
najmi@vostro:~$ export CROSS_COMPILE=$PWD/arm-linux-androideabi-4.7/bin/arm-linux-androideabi-
najmi@vostro:~$ echo $CROSS_COMPILE
/home/najmi/arm-linux-androideabi-4.7/bin/arm-linux-androideabi-
Kemudian dalam direktori "msm" tadi; laksanakan arahan ini, sekiranya Nexus 4, defconfig nya adalah mako, sekiranya Nexus 5, "hammerhead":

make mako_defconfig
Kemudian, berasaskan "core" CPU host komputer anda, gunakan arahan "make" . Nilai "-j" disertakan dengan jumlah "core" yang anda ada.

make -j4
 Kernel: arch/arm/boot/Image is ready
  AS      arch/arm/boot/compressed/head.o
  CC      arch/arm/boot/compressed/misc.o
  CC      arch/arm/boot/compressed/decompress.o
  GZIP    arch/arm/boot/compressed/piggy.gzip
  CC      arch/arm/boot/compressed/string.o
  SHIPPED arch/arm/boot/compressed/lib1funcs.S
  SHIPPED arch/arm/boot/compressed/ashldi3.S
  AS      arch/arm/boot/compressed/lib1funcs.o
  AS      arch/arm/boot/compressed/ashldi3.o
  AS      arch/arm/boot/compressed/piggy.gzip.o
  LD      arch/arm/boot/compressed/vmlinux
  OBJCOPY arch/arm/boot/zImage
  Kernel: arch/arm/boot/zImage is ready
Sekiranya proses compilation tidak mengalami masalah, anda akan dapat satu file yang diperlukan, iaitu zImage.