Pages

Friday, April 26, 2013

Create your own custom ROM


This guide will work with any Android device
BUT A FEW EXTRA FOR PRE-suggested links GALAXY ACE PLUS USERS.
(from XDA)

 
 
 
Tools Required : (Update them manually and report me dead links please)
Step one: Installing the JAVA JDK, Cygwin and Setting up the Kitchen.
*Before you do anything install the java jdk*


Try this Dsixda Kitchen Install Picture Tutor(recommended)  OR   watch this video tutorial by gitagaire for how to setup cygwin and kitchen(recommended)

INSTRUCTIONS
  • Download and extract the cygwin_packages.zip
  • Run the set up(make sure there is no previous cygwin installation)

    NOTE: INSTALL CYGWIN IN ROOT DISK LIKE C:\
    Follow the kitchen read me txt!!!
    local package directory *must* be the path to the cygwin_packages folder that you just extracted
  • when it shows all the package names, go to the top and select “all default” until it changes to “all install” (you must click on the arrows)
  •  
     
    Download the kitchen from above. Then, extract the kitchen’s .zip file to a folder under your home account. Rename the dsixda-android-kitchen-*** folder to just “kitchen”. In Cygwin, this folder would depend on what was set for your Cygwin install directory, e.g. C:\cygwin\home\socrate\kitchen
    NOTE!! If your user folder contains spaces (e.g. C:\cygwin\home\socrate needrom\kitchen), then the kitchen will not function properly. Instead, copy it under C:\cygwin\home\kitchen.
     
  • Now your ready to run the kitchen type:
    those who have their kitchen like this C:\cygwin\home\socrate\kitchen use these commands given below.

    cd kitchen(enter)
    ./menu(enter)
    those who have their kitchen like this C:\cygwin\home\kitchen use these commands given below.
    cd ../kitchen(enter)
    ./menu(enter)
     
    If you did things right you should see this:

    congratulations!!
     
     
    Step Two: Setting up a working folder
    THERE ARE TOW METHODS FOR THIS.
    1. WHEN YOU HAVE BASE ROM AVAILABLE.
    2. WHEN YOU DON’T HAVE BASE ROM.
    FIRST METHOD -
    • First our folder structure should look like this:
       
      Code:
      cygwin folder/home/your user name/kitchen

       
    • Inside the kitchen it should look like this:
       








    • Now we need a rom to work on, for GALAXY ACE PLUS[s7500] users but you can use any rom.
    • Just Place the original rom zip in the original_update folder inside the kitchen.
    • run the cygwin.exe again type:
    • Code:
      cd kitchen(enter)
      ./menu(enter)
       
    • now enter option 1, enter again. You should see your rom listed, choose and enter
      you will be asked about changing the working folders name, at this point it makes no difference so just continue.
    • congratulations you have a working folder!!!









    SECOND METHOD - this method is by neroyoung
    FIRST MAKE A WORKING FOLDER IN CYGWIN FOLDER
    Quote:
    IT SHOULD LOOK LIKE THIS
    cygwin folder/home/your user name/kitchen/WORKING_(your rom name)
    NOTE: FOR THIS MEETHOD WE NEED 3 FILES AND FOLDERS TO BE PLACED IN WORKING FOLDER.
    1. META-INF FOLDER – GET THIS FROM DOWNLOAD FILES LIST IN FIRST POST
    2. SYSTEM FOLDER – TUTORIAL BELOW
    3. BOOT.IMG – TUTORIAL BELOW

    2. getting system folder
    (NOTE – YOU MUST BE ROOTED FOR THIS MEDHOD)
    • This is universal method and can be done easily using terminal emulator.
      For this simply download Terminal Emulator from Android Market.
      we need freshly flashed device here. OTHERWISE YOU WILL HAVE LOT OF JUNK FILES.
    • Open it and type:
       
      su
      tar -c system/* >> sdcard/system.tar
      This will copy all your /system folder to your SDcard with name System.tar
      This will take some time to finish so be patient.
    • After it’s done you should have a tar file in your /sdcard named system.tar
      You can extract it using Winrar or 7zip software. But yes this will have huge size , as it has other useless folders so you will have to delete them. After extracting this system.tar file you will get following folders (Similar one)
       
      • /etc
      • /fonts
      • /framework
      • /lib
      • /lost-found
      • /media
      • /sd
      • /semc
      • /usr
      • /xbin
      • build.prop
      • And some other files and folders like “”autorooted,kernel files” etc
      Now simply delete the folders marked in red color and its done.Don’t worry if you don’t have folders with red colors above,we don’t need them.
    • And the final files that we will have in our system folders will be
       
      • /app
      • /bin
      • /etc
      • /fonts
      • /framework
      • /lib
      • /media
      • /semc
      • /usr
      • /xbin
      • build.prop
      If it dont have semc folder no need to worry.
      NOTE: YOU CAN ALSO GET THIS SYSTEM FOLDER BY USING ANY ROOT BROWSER. JUST FIND THIS FOLDER AND COPY/EXTRACT TO SDCARD
    • NOW COPY THIS system FOLDER TO WORKING FOLDER
    3. getting boot.img
    Here we have 2 options
    1. stock boot.img from stock rom – simple kernel which we get in brand new mobile.
    2. custom boot.img from custom kernel – kernel which are modified for overclock or other features

    Quote:
    1. getting stock boot.img from stock rom.
    extract your stock rom with winrar or 7zip. you will see boot.img there. copy it to working folder2. getting custom boot.img from custom kernel.

    • download any custom kernel which is only for your device. [galaxy ace plus [s7500] users get from here or here]
    • extract it with winrar or 7zip and copy boot.img to working folder

     
     
    Step Three :change/modify/update romYOU CAN MODIFY YOUR ROM IN TWO STEPS:

    1. MODIFY USING ANDROID KITCHEN – for basic modification.
    2. MODIFY MANUALLY. – for advanced modification.
    1. MODIFYING USING ANDROID KITCHEN
     
    watch this amazing tutorial by neroyoung on how to editing rom with kitchen
    NOTE: DON’T FORGET TO DEODEX YOUR ROM
    2. MODIFYING MANUALLY.
    • Adding/removing applications
      1. Go to the working folder where you extracted your rom, inside you will find:
      OR
      2. Then go to “system/app” inside this folder you will find all the rom applications(apks) you may also find some in the data folder if your rom has this folder.
      3. Copy, replace, and change any app(apk) be carefull if you dont know what the apk is do not delete!!
      LIST OF APPS YOU CAN DELETE – HERE OR HERE
    • Adding new boot animation
      android kitchen doesn’t works for this in Samsung phones. So we need a different method.
      1) Download and extract the bootanimation and samsungani file from Custom Booting.zip attached in first post.
      2) Put them in the /system/bin folder and replace the existing files there
      3) Now download any boot animation, and rename the bootanimation to “sanim.zip”.
      4) Now, navigate to /system/media and replace the “ODEanim” with “sanim.zip”
      You are done with the bootanimation change
    • customizing the theme
      1. replace stock launcher with launchers like nova launcher
      2. theming using uot kitchen (fonts, status bar, batery and other icons etc

       

      watch this amazing toutorial by jdlogan151
    • Edit the gps script for your country/location
      1. In the workingfolder/system/etc/ you will find a file named gps.conf, you can
      edit this file with notepad++ or even word.
      2. using the right gps script in this file can speed up gps lock, you can
      find some from angeldeath, download extract and replace the gps.conf.
    • Adding ringtones :
      • Take your ringtone file…it should be in .ogg format..If not then convert it to .ogg..
      • Locate to the folder system>media>audio>ringtones>
      • Copy and paste your .ogg files here in ringtones folder..
      • You can also change notifications, alarm and UI tones like this..
    • Changing the Fonts :
      • Take your desired font.ttf file and rename it as DroidSans.ttf..
      • Locate to the folder system>fonts>
      • Now, replace the file DroidSans.ttf with your desired DoridSans.ttf…
      • To change the lock screen clock font…replace the Clocktopia.ttf with your desired one..(rename first)..
    • build.prop tweaks!!
      check this or this or this post for build.prop
      NOTE: EDIT BUILD.PROP WITH NOTEPAD++. SIMPLE NOTEPAD WILL CORRUPT THE FILE.
    • adding mods and scripts…
      download mods and scripts from links below and copy past all files in same folder as your rom… like for init.d scripts add them to system/etc/init.d/here and all permissions in updater script to your updater script…(dont forget to give them credit for it…)
      links:-
    MORE ADVANCE MODIFICATION (not advised for beginners)
    • editing .apk files
      THERE ARE TWO BEST TOOLS FOR EDITING .APK FILES
       
      1. APKTOOLS
      This video by neroyoung teaches you how to setup APKTOOL folder as well as teaches you how to edit .apk files.
      2. APK Manager
      this video by adgoosuc teaches you How to unpack,repack and sign an APK File with APK Manager
    • Editing .JAR Files
       
      In this video by neroyoung you will get information on how to edit .jar files like services.jar using APKTOOL.
    • THEMEING .apk FILE
       
      HERE IS A AWESOME TUTORIAL BY Andrewtst FOR THEMEING ANY .apk FILE.for porting themes:
      1. download and extract theme you want to port.
      2. open both apk(base and port) in 7zip/winrar
      3. drag and replace png files with same name
      this works with only png files not with xml and others
      FOR THEMING YOUR ROM YOU CAN EDIT framework-res.apk AND GET MANY COOL THINGS
      LIKE you can change smiles, default wallpaper, default lockscreen wallpaper, add 14 toggle mod and many cool things…
      for that use Framework Flasher or apktools or any other tool and do changes manually.
      CHECK THIS GUIDE BY dully79 TO KNOW WHICH FILES YOU CAN MODIFY AND HOW.
      HERE ARE FEW MORE COOL GUIDES -
      ICS Style ‘Settings.apk’ BY balamu96m
      Implement Swipe to Remove Notification BY hansip87
      add customizable 14 statusbar toggle buttons for samsung ROM BY lidroid

      FOR MORE SEARCH MORE…
    Step Four: repackage the rom
    • AFTER YOU HAVE DONE ALL CHANGE/MODIFICATION YOU WANTED OPEN CYGWIN AGAIN AND TYPE
       
      cd kitchen(enter)
      ./menu(enter)
      now convert update script to updater script(in option 23)
    • now lets edit updater script(optional)
       
      Thanks to user langthang for a great updater-script guide.
      Download it HERE
      the updater-script basically tells CWM what steps to take during the installation(flashing rom).
      If you don’t have any experience please don’t edit anything other than what is in this simple tutorial.

      TO EDIT UPDATER SCRIPT -
      1.Go to META-INF/com/google/android
      2.Open the updater-scrip file with Notepad++
      3.Any text that would appear during the CWM install should be in this format :
      Code:
      ui_print("Put your text in HERE");
       
      Add your text start at top and save,
      then replace with new updater-scrip

      IF YOU GET ANY ERROR YOU CAN COMPARE YOUR UPDATER SCRIPT WITH MINE (attached in 1st post)
      NOTE: DO NOT COPY WHOLE UPDATER SCRIPT JUST EDIT PART WHERE YOU GET ANY ERROR

      most common errors will be in mount, remount part in starting and end and boot.img installing part… so replace only those lines….
      AND AT LAST
    • Now that you have made some changes it’s time to pack the rom and test!!
      1. Run the cygwin and type
         
        cd kitchen(enter)
        ./menu(enter)
      1. enter option 99 – “biuld rom from working folder”
      2. Choose your build option and few more enters
        I recommend that you go with all default options until you get more experience with the kitchen.
      3. When rom is packed and signed it will ask to change rom zip name (type name of your rom)
      4. When its all done you will find a folder inside “cygwin/home/yousername/kitchen” called output_zip
      5. Inside the folder is your new rom ready to be flashed and tested!!!
      congratulations you have build your own rom
    • TROUBLESHOOTING
      • If you get problems in installing a rom then compare your updater-script in META-INF folder with one attached in first post.
      • If you have a rom without kernel then remove these lines:
        Code:
        assert(package_extract_file("boot.img", "/tmp/boot.img"),
               write_raw_image("/tmp/boot.img", "boot"),
               delete("/tmp/boot.img"));
         
      • If there is a package error then extract the files of the rom and repack them using any compression software.
      • If rom installed correctly but stuck onto logo screen?? Then remove try removing kernel and flashing rom again.
      • If rom installed correctly but got onto bootloop then there could be many possibilities which could lead to this. If you want accurate cause of it then do a logcat.
      • If there are some apk’s which are not working then check if you correctly modded them.
    NOTE: Most of the problems occur because of updater-script problems so before trying any of the troubleshooting try the first tip.
    Source: XDA

No comments:

Post a Comment