OS: Android - Build Untuk Motorola

From mUTU
Jump to: navigation, search

HOWTO: Build and Flash Motorola's kernel from source

   I'm not responsible for any damages done to your phone. Please read carefully, and also please, please do a nandroid backup.
   If any of the following fails, don't continue. And post your errors on this thread.

   Prepare your system
   $ sudo apt-get install git-core gnupg sun-java5-jdk flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev
   Get the Kernel sources for your device from https://opensource.motorola.com/sf/g...s.cliqdext/frs
   Be sure to download the one for your CLIQ/DEXT, if you compile other than the one intended for your device you will be left in 1969!! (DISCO!).
   Note: The latest for TMO, is split in 3 files, download all of them.
   Once you have downloaded all your files
   $ mkdir ~/motorola-source
   $ gunzip morrison-customer-tmo-1_4-release-1_4_8-framework.tar.gz
   $ tar xvf morrison-customer-tmo-1_4-release-1_4_8-framework.tar -C ~/motorola-source
   $ gunzip morrison-customer-tmo-1_4-release-1_4_8-external.tar.gz
   $ tar xvf morrison-customer-tmo-1_4-release-1_4_8-external.tar -C ~/motorola-source
   $ gunzip morrison-customer-tmo-1_4-release-1_4_8-kernel.tar.gz
   $ tar xvf morrison-customer-tmo-1_4-release-1_4_8-kernel.tar -C ~/motorola-source
   This should leave a directory structure like this under ~/motorola-source
   $ ls ~/motorola-source
   base  bionic  bootable  build  dalvik  external  frameworks  kernel  libhardware  libhardware_legacy  Makefile  msm7k  out  prebuilt  README.txt  system  unpack.pl  vendor
   Now lets get the prerequisites stated at ~/motorola-source/README.txt

   Once you have downloaded all of previous requirements you will need to download several things from android to do this:
   $ mkdir ~/moto-prerquisites
   $ cd ~/moto-prerquisites
   $ git clone git://android.git.kernel.org/platform/frameworks/base.git
   $ git clone git://android.git.kernel.org/platform/hardware/libhardware.git
   $ git clone git://android.git.kernel.org/platform/hardware/libhardware_legacy.git
   $ git clone git://android.git.kernel.org/platform/hardware/msm7k.git
   $ git clone git://android.git.kernel.org/platform/prebuilt.git
   Get ready to wait a while because de prebuilt repository is quite big
   Once all of the above have finished lets set the prerequisites to the TAGS specified in the README.txt
   $ cd ~/moto-prerquisites/base 
   $ git checkout android-1.5r3
   $ cd ~/moto-prerquisites/libhardware
   $ git checkout android-1.5r3
   $ cd ~/moto-prerquisites/libhardware_legacy
   $ git checkout android-1.5r3
   $ cd ~/moto-prerquisites/msm7k
   $ git checkout android-1.6_r1
   $ cd ~/moto-prerquisites/prebuilt
   $ git checkout android-1.5r3
   Once you've done this copy all the directories to ~/motorola-source
   $ cp -r base libhardware libhardware_legacy msm7k prebuilt ~/motorola-source
   Now we have to unpack what comes in the sources from motorola
   $ cd ~/motorola-source
   $ chmod +x unpack.pl
   $ ./unpack.pl
   Now you have everything that's needed to compile your kernel
   You have to set some variables first
   $ export PLATFORM_DIR=~/motorola/source
   $ export ARCH=arm
   $ export CROSS_COMPILE=arm-eabi-
   $ export PATH=/prebuilt/linux-x86/toolchain/arm-eabi-4.2.1/bin:
   Now lets build
   cd /kernel 
   $ make msm_mot_defconfig
   This line will build the kernel and output a zImage
   This will build the wireless driver module dhd.ko
   $ make -C /system/wlan/bcm/osrc/open-src/src/dhd/linux ANDROID_BUILD_TOP=
   Now you have build your kernel!
   results should be
   In order to flash this to your system you will need
   A nandroid backup and unpack-bootimg.pl and repack-bootimg.pl get them from here http://android-dls.com/wiki/index.ph...ck_Boot_Images
   $ mkdir ~/bin
   $ unzip unpack-bootimg.zip -d ~/bin
   $ unzip repack-bootimg.zip -d ~/bin
   $ export PATH=:~/bin
   With your nandroid backup search for your boot.img and copy it somewhere easy to find
   $ mkdir ~/mymoto
   $ cd ~/mymoto
   $ cp /path/to/my/nandroid/boot.img .
   Extract the boot image
   $ unpack-bootimg.pl boot.img
   this will leave you with
   $ ls ~/mymoto
   boot.img  boot.img-kernel.gz  boot.img-ramdisk  boot.img-ramdisk.cpio.gz
   Now lets repack that boot image with our new kernel
   $ cd ~/mymoto
   $ repack-bootimg.pl ~/motorola-source/kernel/arch/arm/boot/zImage boot.img-ramdisk my-boot.img

   //You'll need android-sdk installed to use adb search the forums on how to install android-sdk
   Now push your image and wireless driver to your phone
   $ adb push my-boot.img /sdcard/
   $ adb push ~/motorola-source/system/wlan/bcm/osrc/open-src/src/dhd/linux/dhd.ko /system/lib/
   $ adb shell

   Now let's see where we should flash our image
   # cat /proc/mtd
   dev:    size   erasesize  name
   mtd0: 00300000 00020000 "boot"
   mtd1: 08ac0000 00020000 "system"
   mtd2: 0df80000 00020000 "userdata"
   mtd3: 00040000 00020000 "misc"
   mtd4: 00500000 00020000 "recovery"
   mtd5: 06000000 00020000 "cache"
   mtd6: 00080000 00020000 "splash"
   As we can see mtd0 is where our boot image is stored, be sure to checkout wich one corresponds to your phone but it should be the same for all
   now erase /dev/mtd/mtd0
   # cat /dev/zero > /dev/mtd/mtd0
   write: No space left on device [this is ok, you can ignore]
   # flash_image boot /sdcard/my-boot.img
   # reboot
   That's it now you have built and flashed your newly built kernel! 

- See more at: http://modmymobile.com/forums/403-motorola-cliq-development/531359-howto-build-flash-motorolas-kernel-source.html#sthash.tKEZTUpR.dpuf