Bionic Geeks

Electronics turned up side down

    [HOW TO] Turn an RUU into a "custom" de-odexed ROM


    Posts : 74
    Points : 219
    Reputation : 0
    Join date : 2012-09-22
    Age : 25

    [HOW TO] Turn an RUU into a "custom" de-odexed ROM

    Post  Admin on Sat Sep 22, 2012 10:48 pm

    [HOW TO] Turn an RUU into a "custom" de-odexed ROM
    by Jirv311

    1. A Windows installation
    2. VirtualBox installed in Windows
    3. Ubuntu 10.04 (at least) installed in VirtualBox
    4. dsixda’s Android Kitchen set up properly in Ubuntu
    5. Java JDK installed in Ubuntu (Search openjdk in Synaptic Package Manager)
    6. No fear of taking your time with this

    First things first, you need to have Ubuntu up and running inside VirtualBox and you’ll need to get the Android Kitchen set up properly. To do this, extract the Android Kitchen zip file you downloaded. Rename the extracted folder to just “kitchen”. Copy that folder into your Ubuntu “home” directory. The final path will be “/home/username/kitchen”. You can test this by opening Terminal and typing:

    cd kitchen


    If the Android Kitchen starts, then you’re good to go. It’s that easy

    Now, going back to your Windows installation, download the RUU you want to build from. Once downloaded, you’ll need to double-click the RUU to run it. You’ll get a window that opens to allow you to continue installing the RUU. You need to not click anything there. Leaving that window open, open a Windows Explorer window. In the address bar type:


    and hit enter. This will take you into your Temp directory where the is extracted. You can now do a search for Once found, copy the to another directory (ie. Desktop). You can now close out of the RUU installer.

    You’ll need to now copy your to your Ubuntu virtual machine. How you do that is up to you. The easiest way is to set up Shared Folders in VirtualBox and copy it from within Ubuntu.

    Once you have this file in Ubuntu, for simplicity, copy it to your desktop. Next, you’ll need to extract it. Simply right-click the and select “Extract Here”.

    If you now open you extracted folder, you should see a bunch of .img files. The 2 we are looking for are system.img and boot-signed.img. For now, create a new folder on your desktop, we’ll call it “custom”, and copy the boot-signed.img into that folder (I usually rename boot-signed.img to boot.img). Also create a folder called “system” in the same directory. Next we need to mount the system.img so we can extract the contents into the “system” folder you just created. Back in Terminal, type:

    sudo mkdir -p /mnt/temp

    sudo mount -o loop ~/Desktop/rom/system.img /mnt/temp

    and then

    sudo cp -r /mnt/temp/* ~/Desktop/custom/system

    After several minutes, you should have a folder called “custom” on your desktop and inside of that should be “boot.img” and a “system” folder with a bunch of files and folders in it. You now need to change permissions on the folder so you can zip it up and copy it all. Back in Terminal type:

    sudo chown -R username ~/Desktop/custom

    Next step is to zip it all up so we can get it into the kitchen. Highlight both the “boot.img” and “system” folders, right-click them, and select “Compress”. Change the extension to .zip and click OK. Once zipped, drag (or copy) that folder into /home/username/kitchen/original_update.

    Open Terminal and type:

    cd ~/kitchen


    Once the kitchen starts, you’ll need to set up a Working Folder, so select option “1″. If you only have 1 ROM zip in there you can just hit Enter. Follow through the prompts to rename your working folder if you want. I’m not going to guarantee that it will always work but it has worked for me in the past to select option “2″ from the main menu to “Add root permissions”. Moving on to de-odexing, select option “0 – ADVANCED OPTIONS”. Next, select option “11 – Deodex files in your ROM”. I usually do this by deodexing framework first and then system. If you’re de-odexing the ATT ROM, “PirateGhost” from xda clued me in that you need to temporarily remove the “com.att.vmm.sharedlib.jar” from /system/framework otherwise de-odexing will fail. When you get into the de-odexing option it will have you set your API level. The default is 10 which is Android 2.3.4 however, ICS can be 14 or 15. If on the latest 4.0.3, it’s API Level 15. Google can also help you here. If you’ve done everything right it will de-odex for 20 minutes or so depening on your hardware and should say “0 .odex files remain”. If you have any that remain, you can do them manually or not at all. Up to you on how you do it.

    Since that’s basically all we’re discussing for right now on creating this ROM, we’ll continue on to building a flashable zip. Back at the main menu, select option “99 – Build ROM from working folder”. I recommend using the default “Interactive Mode”. Select yes to optimizing/zip-aligning all apks. When asked to add Updater-script to ROM, select yes. Here’s the thing with the updater-script that it builds. It’s only partially right. You need to fix the partition format section for the Vivid (or for whatever phone you’re building for). It’s best to look at some other’s scripts to see how it’s done. When asked by the wizard to sign your ROM, don’t do it. It’s not necessary. Feel free to rename it to whatever you want. After you’ve fixed the updater-script and I do mean AFTER, you can try flashing the ROM. And don’t forget to flash the boot.img as well.

    There you have it. You now have a base ROM for you to work from. Obviously, this is just scratching the surface of what can be done but it’s a start. This is just how I do it. There are other ways to accomplish the same thing but this method has worked for me. Attached is a sample updater-script that I pulled from my AT&T stock ICS ROM. Use it only as a template and modify it to fit your needs and obviously, remove the txt extension.

    Updater script

    Main website:

      Current date/time is Fri Mar 22, 2019 11:12 am