[GUIDE] How to make a custom android rom with DragonFace. - Android Q&A, Help & Troubleshooting

Whats sup guys?I been using dragonface to make custom roms for my android device.So i decided to make a guide showing you how to make your own.Enjoy.Make sure to thank me! alright lets get started
Basic Requirements: - Dragonface V2.2.0 V2.2.3 (download here in this Forum)
- Dragonface Tutorial, and knowledge of the basic functions (download here in this tut)
- Windows Explorer
- Notepad++ (http://notepad-plus-plus.org/download/v6.6.9.html)
- ROM you want to modify
- Phoiexcard
If additional tools are requiered, they are mentioned in the regarding Instruction.
Common Steps for all modifications: STEP 1: extract your ROM (*.img) with Dragonface
STEP 2: change to Windows Explorer
ATTENTION: don't shut down DragonFace or copy the needed directories and
files some where else if you want to work "offline" (Directories: CPFOP, fsop -
Files: sysconfig.lhs), because DragonFace erases everything while shuting
down
STEP 3: Save the modified ROM with Dragonface
ATTENTION: If you worked "offline", do first Step 1, and then replace the
created Directories/Files with your modified
STEP 4: Flash your ROM (.img) with the Onda Suite
So let`s start.
PS.: If you try your own modification, it would be good to make only one after the other, and test between two modification. This makes it easier to solve problems when it´s not working like you except it, because you know what causes the problem.
HowTo - Increase the available space for your Apps (Firmware V1.0.0 - V2.1.3 all Versions)
1. You have done Step 1&2 in the first post
2. Now navigate to the following directory with the Windows Explorer ( must be set to show hidden Files/Directories!)
c:/User/..your Username../AppData/Local/Temp
3. Find the file sysconfig.lhs
4. Open it with Notepad++
5. Navigate to the following:
;------------------------------>mmcblk0p8/nande
[partition]
name = data
size = 4194304
user_type = 0x8000
6. Now change the value of size to the space you want
The current value of 4194304 stands for 2GB, that means you have to multiply 2097152 by the amount of GB you want to have for your Apps
for example: 6GB = 12582912
7. Save sysconfig.lhs
8. Save .img in Dragonface
9. Flash your ROM - Done!
Her is a link to a video tutorial (in chinese): http://v.youku.com/v_show/id_XODEzODEwNzQ4.html&usg=ALkJrhhE_ACHQznY8ibrYYK7wMCYzcWCJg
Since the test version of Android 5, there is no seperat app partition in the firmware anymore.
HowTo - PreRoot your ROM (Firmware V1.0.0 - V2.0.2 all Versions)
1. You have done Step 1&2 in the first post
2. Now navigate to the following directory with the Windows Explorer
.../Dragonface_2.2.0/CPFOP/bootfs/skel
3. Find the file init.rc
4. Open it with Notepad++
5. Insert after Line 293:
su root
chown root root /system/app/superuser.apk
chown root root /system/xbin/su
chown root root /system/xbin/daemonsu
chown root root /system/bin/.ext/.su
chown root root /system/etc/.installed_su_daemon
chown root root /system/etc/install-recovery.sh
chown root root /system/etc/init.d/99SuperSUDaemon
chmod 6755 /system/xbin/su
chmod 6755 /system/xbin/daemonsu
chmod 0777 /system/bin/.ext
chmod 6755 /system/bin/.ext/.su
chmod 0644 /system/etc/.installed_su_daemon
chmod 0755 /system/etc/install-recovery.sh
chmod 0755 /system/etc/init.d
chmod 0755 /system/etc/init.d/99SuperSUDaemon
chmod 0644 /system/app/superuser.apk
chmod 0755 /system/xbin/busybox
6. Save init.rc
7. Now navigate to the following directory with the Windows Explorer
.../Dragonface_2.2.0/fsop/system
8. create the directories and place or replace the needed files if not already present (check filesize, paths and files see
Step 5)
Download needed files here: https://mega.co.nz/#!XU5EFaBK!9ZFnDrzJnlGWoMOISkzQ-dczBKUB6cM8O3aswEjI2IY
Attention: Windows Explorer is not able to create the directory /system/bin/.ext, because it doesn't like the
leading dot.
So open "Command Prompt" and type mkdir .ext to create the directory (navigate before to ..system/bin)
9. Save .img in Dragonface
10. Flash your ROM - Done!
HowTo - PreRoot your ROM (Firmware V2.1.0 - V2.1.3 all Versions)
Step 1 - 10 are the same, only change:
Step 5:
chmod 0755 /sbin/busybox (Instead of: chmod 0755 /xbin/busybox)
Important: If you reopen a prerooted ROM with Dragonface, you have to recreate the .ext folder again and place .su again in it. During the extracting the .ext folder disappears due the restrictions of Windows. Saving without recreating breaks the prerooting!
HowTo - Theming your system:
The following instructions are made for the new V2.1 Firmware and should work with all Versions.
Indroduction: now we start modifying existing APPs. In the first step there are HowTo´s which can be easy done without using any app tools. The simple reason for that is, as long as we don´t take away or add graphics inside an app, and only modify them, for Android everything is fine. When we start to add or remove files inside the app or we want to change the behaviour of an app or add Features, for example in the Settings menu, we will need to de- and recompile and sign the app, ortherwise it won´t work. But this will come later.
Change the default Wallpaper:
additional needed programs: WinRAR
1. First find a Wallpaper you like with a Resolution of 2048*2048 and .jpg format, and save it to your computer
2. Rename the Wallpaper to default_wallpaper.jpg
3. Do the steps 1&2 in the first Post
4. Navigate to fsop/system/framework and find: framework-res.apk
5. Open it with WinRar and navigate to the folder drawable-nodpi
6. Now insert your Wallpaper with drag´n drop
Attention: There is now a Window popping up and asks you what to do. Choose under "COMPRESSION
METHOD" on the left side the option "SAVE".
When you look on WinRar you see that the pictures aren´t compressed, so just leave them
uncompressed.
7. Close WinRAR and you are done!
8. Save .img in Dragonface
9. Flash your ROM - Done!
Change the Wallpaper on the LockScreen (Firmware V2.1.0 - V2.1.3 all Versions)
additional needed programs: WinRAR
1. First find a Wallpaper you like with a Resolution of 2048*2048 and .jpg format, and save it to your computer
2. Rename the Wallpaper to wallpaper_03.jpg
3. Do the steps 1&2 in the first Post
4. Navigate to fsop/system/priv-app and find: JuiKeyguard.apk
Alternativ, on a running system, copy JuiKeyguard.apk to your PC, make the changes descriped in the next
steps and copy the modified apk back to the tablet. Don't forget to set the right permissions for the apk.
5. Open it with WinRar and navigate to the folder drawable-nodpi
6. Now insert your Wallpaper with drag´n drop
Attention: There is now a Window popping up and asks you what to do. Choose under "COMPRESSION
METHOD" on the left side the option "SAVE".
When you look on WinRar you see that the pictures aren´t compressed, so just leave them
uncompressed.
7. Close WinRAR and you are done!
8. Save .img in Dragonface
9. Flash your ROM - Done!
When you chance the Lockscreen Wallpaper direct on the tablet (already running system), wipe the Dalvik Cache, otherwise the Wallpaper won't change.
Change the icons in the Statusbar
additional needed programs: WinRAR
Paint.net (optional)
1. Do the steps 1&2 in the first Post
2. Navigate to fsop/system/priv-app and find: JuiSystemUI.apk
3. Open it with WinRar and navigate to the folder drawable-xhdpi
4. Look for the icons you want to change and notice the resolution
Optional: you can edit the icons by using Paint.net
5. Replace the icons you want with drag´n drop or replace the icon with an already existing in the folder (make a duplicate and rename the duplicate to the correct filename)
THEY SHOULD HAVE THE SAME RESOLUTION AND MUST BE IN .PNG FORMAT!
DON`T ADD OR REMOVE ICONS, ONLY REPLACE THEM USING THE CORRCT FILENAME - OTHERWISE YOU
CORRUPT THE APP
IF YOU WANT TO ADD OR DELETE ICONS OR ADD NEW FEATURES YOU HAVE TO DE- AND RECOMPILE IT
Attention: There is now a Window popping up and asks you what to do. Choose under "COMPRESSION
METHOD" on the left side the option "SAVE".
When you look on WinRar you see that the pictures aren´t compressed, so just leave them
uncompressed.
6. Close WinRAR and you are done!
7. Save .img in Dragonface
8. Flash your ROM - Done!
Enjoys and press Thanks!!!!!!!!!!!!!!!!!

Dragonface software
Hello,
Are there any guides/tutorials for the Dragonface software in english anywhere please? I have googled but they are in Chinese or some other other language. Something for Dragonface v2.2.5 would be appreciated.
Thank you.
trustytrev.

Sir this is tutorial for dragonface in english

more space for apps in V989 v1
Hello,
firmware
989 Air Core8 v1.0.6_v2.img
onda v989 v1
I use dragonface to add space for apps. then i use phoenixsuite to apply img file modified... but it no works!
i need to back 989 Air Core8 v1.0.6_v2.img
this table have 2Gb for apps 2gb RAM and 32Gb more...
heeelp please

Devmountsu77 said:
Sir this is tutorial for dragonface in english
Click to expand...
Click to collapse
Hello,
Sorry I was meaning how to video tutorials of using the dragonface software in english.
I have now found something that was suitable for me as a complete novice.
Thank you.
trustytrev.

A83T
I have tried using Dragon Face for A83T image file. But looks like I am stuck.
The Software does unpacking properly. But during packing image, I am not sure what goes wrong, the initial Green Progress bar of Flashing Firmware also does not show up in the device.
I have in fact tried - unpacking stock firmware and packing the firmware without making any changes to the Image.
It fails!
Any help will be greatly appreciated.

bumping this old thread trying to root this POS irulu tablet I got the firmware image rooted and resaved
flash it but it hangs at the pre-boot splash
edit: I am pretty sure its either a int.rc or su binary problem, if I flash just the stock boot/env it boots
so there is something in the init.rc it doesn't like
here is my init rc
https://pastebin.com/NwZ9ntEB

after hours of monkeying about with it I am pretty sure its a issue with dragonface
any attempt to modify int scripts results in it hanging on splash, possibly some form of boot image checking
I can modify system all day long but I can't touch the boot partition
I don't have the capability to build a generic twrp image for the A33 so I can't even get to a decent recovery

Bringing this thread back to life, is there a way to set the default launcher through file manipulation (as with the above tutorial) rather than with ADB or in the Android Settings app? I've been searching, but haven't found any good information.
Edit: Nevermind, it was an issue with the default launcher and possibly pheonixcard. Got it resolved

Related

How to: Create Clockwork Recovery flash files

I have a shutdown sequence and some sounds I would like to turn in to a flashable .zip file. I checked out the CW forums, but that was more painful than informative. I have taken a look at some of the zip files I have found so far, but am not 100% sure about what I'm doing. Can anyone point me to a how-to or even in the general direction of some information to get me started?
Thanks guys!
Edit: Those interested can find all the information needed in the3dman's post and here:
http://www.londatiga.net/it/how-to-create-android-update-zip-package/
http://www.londatiga.net/general/how-to-sign-apk-zip-files/
I'd copy this guy
http://forum.xda-developers.com/showthread.php?t=795459
Thanks for the link. I had actually started there, and it's a great template if I just want to throw in my own files, but I was really looking for a how to so that I had more options for customizing, rather than being stuck with only the shutdown / startup sequence.
Sent from my SGH-T959 using XDA App
First you have to have your folder structure like this in the zip:
Main .zip
{
META-INF { com -> google -> android -> update-script } ( <- these are folders inside the META-INF except update-script this is a script file)
app (if the file you want to flash is an app it goes in this folder)
framework (if the file you want to flash is a framework file it goes in this folder)
system (if the file you want to flash is a system file (start up animations) it goes in this folder also make sure you put the correct subfolder inside this folder ie: if your file goes in system -> media make sure you put the file you wish to flash in a correctly named subfolder other wise it will flash into just the system folder and not into the correct folder within the system folder on your phone.)
}
After your folder structure is set up you must tell clockwork which folder or folders in the zip to flash. To do this open the update-script from the zip with a text editor and modify or add these lines with the correct folders.
copy_dir PACKAGE:framework SYSTEM:framework (use this for the framework folder)
copy_dir PACKAGE:app SYSTEM:app (use this for the app folder)
copy_dir PACKAGE:system SYSTEM:system (use this for the system folder)
Then sign your zip and flash.
Below is a picture of an example folder structure so show what I mean. Also I attached a zip with an example update-script in it.
the3dman said:
First you have to have your folder structure like this in the zip:
Main .zip
{
META-INF { com -> google -> android -> update-script } ( <- these are folders inside the META-INF except update-script this is a script file)
app (if the file you want to flash is an app it goes in this folder)
framework (if the file you want to flash is a framework file it goes in this folder)
system (if the file you want to flash is a system file (start up animations) it goes in this folder also make sure you put the correct subfolder inside this folder ie: if your file goes in system -> media make sure you put the file you wish to flash in a correctly named subfolder other wise it will flash into just the system folder and not into the correct folder within the system folder on your phone.)
}
After your folder structure is set up you must tell clockwork which folder or folders in the zip to flash. To do this open the update-script from the zip with a text editor and modify or add these lines with the correct folders.
copy_dir PACKAGE:framework SYSTEM:framework (use this for the framework folder)
copy_dir PACKAGE:app SYSTEM:app (use this for the app folder)
copy_dir PACKAGE:system SYSTEM:system (use this for the system folder)
Then sign your zip and flash.
Below is a picture of an example folder structure so show what I mean. Also I attached a zip with an example update-script in it.
Click to expand...
Click to collapse
Thank you very much! This was PERFECT for getting me started! This lead me to the following sites for more information on how-to's and even all the available syntax. For anyone looking to get into this (it's not difficult), check out these pages:
http://www.londatiga.net/general/how-to-sign-apk-zip-files/
http://www.londatiga.net/it/how-to-create-android-update-zip-package/

[Q] Some General Questions Regarding the editing of android.policy.jar

hello everyone
I have updated to kennethpenn's 4.5.91 Gingerbread Beta 4 (must say, it is truly a phenomally put together build !)
I have also noticed that many of the mods that i had applied to 1.8.3 have not been updated for 4.5.91, so i decided to make the changes myself.
Now, I have a pretty decent knowledge of Unix-based operating systems ( I have used Red Hat Linux, Ubuntu, SUSe Linux, OpenBSD, FreeBSD, Solaris, and now OS X) however, I would like to expand my knowledge to include Android.
The first one I attempted to do myself was the Wake on Volume Keys mod.
This is a very simple change to the android.policy.jar file, as you all well know.
For this, I used Windows XP, simply for the fact that I have 7zip and PeaZip installed on it. However, I can do all of this on OS X as well. The file archiver applications I have on OS X are:
1. The Unarchiver
2. Keka
I am going to list my method of applying this edit, and i would ask that someone with solid knowledge on this subject give me their feedback and guidance.
---------------------------------------------------------
My Method of editing android.policy.jar
---------------------------------------------------------
1. Using Root Explorer, I made a copy of /system/framework on my External SD Card
2. Mounting the Phone for USB Mass Storage on Windows XP that I have running in VirtualBox on my Macbook Pro, I moved the copy of the /system/framework directory to my Desktop
3. I downloaded smali-1.2.6.jar and baksmali-1.2.6.jar from code.google.com/p/smali/
4. I placed both of these .jar files in the copy of the framework-edited directory that I created on my Desktop
5. I renamed smali-1.2.6.jar to smali.jar and baksmali-1.2.6.jar to baksmali.jar for simplicity's sake
6. I moved the android.policy.jar file to /framework-edited directory on my Desktop
7. Using 7zip (I also have PeaZip, but for this, I used 7zip, if you think I should use PeaZip, please tell me) I extracted the files from android.policy.jar to end up with classes.dex and META-INF. I then moved classes.dex to /framework-edited so it is in the same directory as smali.jar and baksmali.jar
8. In Command Prompt, I entered:
Code:
cd C:\Documents and Settings\Owner\Desktop\framework-edited
in order to be working from the proper location where my files are located
9. Now, having Command Prompt working in the proper location, I entered the following commands:
Code:
java -jar baksmali.jar -o classout/ classes.dex
to create a new directory within /framework-edited called /framework-edited/classout
10. I then opened the /classout directory, and navigated to /classout/com/android/internal/policy/impl/ and opened the file KeyguardViewMediator.smali with Notepad
11. I used [Ctrl] + [F] to locate the line:
private isWakeKeyWhenKeyguardShowing(I)Z​
12. I then looked at the lines DIRECTLY below the above line, and following the Original Post on how to manually apply this modification, I removed lines:
0x18
0x19​
13. Upon removing these lines, I simply did a File -> Save As -> KeyguardViewMediator.smali and saved the file to my desktop
14. I [Cut] + [Pasted] the edited KeyguardViewMediator.smali file back to /classout/com/android/internal/policy/impl/ and replaced the original KeyguardViewMediator.smali file
15. With the edited KeyguardViewMediator.smali file in place, I went back to Command Prompt and entered the following commands:
Code:
java -Xmx512M -jar smali.jar classout/ -o new-classes.dex
To create a new file called new-classes.dex
16. Changing the name of new-classes.dex to classes.dex, I took the original META-INF file, and my newly created classes.dex files, and, using 7zip, created a new android.policy.zip archive
17. I renamed my newly created android.policy.zip to android.policy.jar, and transferred it to my External SD Card
18. Using Root Explorer, I navigated to /system/framework on my phone, and renamed android.policy.jar to 1122android.policy.jar.bac and [Copy] + [Pasted] my edited android.policy.jar to /system/framework
19. I then immediately powered off my phone, and rebooted into CWM Recovery, and cleared my Dalvik Cache, then rebooted the phone normally through CWM Recovery.
At this point, to my knowledge, I had successfully edited my android.policy.jar file and had manually added the Wake on Volume Keys modification, however, once the phone was fully booted and showing my lockscreen, I unlocked the phone as normal by sliding the slider to the right. As soon as the phone unlocked, I saw pop-ups for processes that had failed and were terminated. I'm not sure what the exact message the pop-ups had, but it was the normal pop-up message you get when a process force-closes. My only option was to click "Ok" so I clicked it, only to have another force-close pop-up.
Apparently, every single process on the phone had force-closed, BUT, the phone was waking when I press a volume key while the screen was off. I had no choice but to pull the battery out.
I decided to reboot into CWM Recovery and "install .zip from SD Card", Nottach's 1% Battery Mod / No Carrier Mod Uninstall Script
I installed Nottach's uninstall script because I hoped that it had an unmodified copy of android.policy.zip in it.
After installing the uninstall script, and rebooting the phone once again, I got to the lock screen, unlocked the phone, and found everything to be in perfect working order, just as before I edited anything,
But the Wake on Volume Keys mod was still applied!
So now, my questions / requests to all of you are:
1. Explain to me what I missed or did wrong that resulted in the force-closure of every single process on the phone prior to installing Nottach's Uninstall script
and
2. Educate me on the proper process that you developers use to apply small modifications such as this one to the android.policy.jar file, or any other related file on the phone for that matter.
My plan is now to change the color of the text on my lock screen (Clock, Date, and possibly Carrier) following this [Guide]
Any and all feedback is welcomed and greatly appreciated, as you will be helping me learn the beginnings of modding and developing
bump . . . . .
Perhaps this may help
http://forum.xda-developers.com/showthread.php?p=18226553

[Q] Android Stock 2.3.3 with CRT animation enabled

Can anyone guide me how to enable CRT animation for stock android 2.3.3 on galaxy ace?
codestudent said:
Can anyone guide me how to enable CRT animation for stock android 2.3.3 on galaxy ace?
Click to expand...
Click to collapse
I think you should have posted this in themes and apps section but nevertheless this is your answer-
You will need-
a)APK Manager from here http://forum.xda-developers.com/showthread.php?t=695701
b) .zip manager (I suggest 7-zip or winrar for windows and archive manager for linux)
c) text editor ( Notepad++ in windows or gedit/write in linux )
d) framework-res.apk from /system/framework that you want to modify and build.prop from /system.
e)Root explorer/Fileexpert or adb to pull framework-res.apk and build.prop
First thing using root explorer or adb pull the above files to your computer.Then do the following..
1) Once you extract APKManager you should have a folder called "APKManager," somewhere.
2) Within that folder there's another folder called "place-apk-here-for-modding". Place you desired framework-res.apk into that folder.
3) Navigate back to the root of "APKManager", and double-click "Script.bat"in windows or "Script.sh" in linux
4) Press option 9 to decompile the apk. (It may take some time)
5) Once finished, navigate to "APKManager\projects\framework-res.apk\res\values".
6) Inside look for a file called "bool.xml". Open it using your notepad++ or gedit
and find and change the
"<bool name="config_animateScreenLights">true</bool>" to "<bool name="config_animateScreenLights">false</bool>"
7) Remember to save! Not "save as," but save.
8) Doubl-click "Script.bat" or "Script.sh"again, and choose option 11 to sign the apk
9) Say "y" to first option.
10) When that is done, a new folder called "keep" will be created. Open that folder, and delete resource.arsc.
11) Say "y" to the last option.
12) It will ask you to press any key, do that, and it will finish.
13) Navigate to the "place-apk-here-for-modding" folder, and you'll see a new file called, "unsignedframework-res.apk" open it with a .zip manager, and take the resource.arsc file from it, and transfer it to your original framework-res.apk (Which should be in the same folder)
14) Now push the modified original framework-res.apk(with new resource.arsc) onto your phone /system/framework using adb or copy by root explorer/fileexpert, and set permissions using root explorer to -rw -r -r or use chmod 644 framework-res.apk using adb. There wil be force-closes using root explorer when copying..just ignore that and set permissions and reboot.
15) Now pull build.prop from /system to your computer
16) Open build.prop and modify the line.
'debug.sf.hw=1' is the line in the file. Replace it by '#debug.sf.hw=1'. Indirectly you are just changing the line into a comment by adding a #
17) Now take this file and replace your original build.prop. You can do this by using adb or root explorer and set permssions similarly as in above.
18)Reboot and go to settings>>display>>animations and choose all animations. Enjoy your crt screenoff animation.
Added the guide in themes section http://forum.xda-developers.com/showthread.php?p=15976400
did as told but no luck. I'm using S5830XEKPH 2.3.4 firmware (Booted)
I have just noted that root explorer is not replacing framework file with the new one.

[HOW-TO][TUTORIAL][WIP]DEODEX, BUILD KERNEL, BUILD CUSTOM ROM and MORE

Hi all,
In this thread, I will try to share the knowledge I have on deodexing, making custom ROMs, modifying initramfs, building kernel and much more.
Please check the below posts for each of these tutorials.
Hope this opens doors to many new ROM and Kernel developers.
NOTE: THESE TUTORIALS ARE WRITTEN FOR GT-I9100. WILL NOT WORK ON OTHER DEVICES. I DON'T TAKE ANY RESPONSIBILITY IF YOU MESS UP AND BRICK YOUR DEVICE OR ANYTHING ELSE. USE AT YOUR OWN RISK.
Deodexing Stock Rom
For GINGERBREAD ROMS:
What you need to have:
xUltimate v2.3.3 - you can download it HERE (Thanks and Credits to Xeudoxus for this awesome app)
Rooted kernel with busybox
JDK installed on your Windows system
If adb is not available in your windows PC, in xUltimate folder open "jar" folder. You'll find adb there.
Extract stock app & framework folders and Deodex:
Connect your device to computer.
Start xUltimate (double-click on Main.exe)
Select option 1. (Pull /system/app)
Once option is done, select option 2. (Pull /system/framework)
In the same folder, now you'll see two new folders (origi_app, origi_frame)
Select option 3 in Main menu (Deodex /system/app)
Once its done, select option 4 in Main menu (Deodex /system/framework)
DONE!!
NOTE: If any apk/odex gives issues while deodexing, remove that corresponding apk and odex from origi_app folder and deodex again. (Mostly the apps which can be downloaded from play store might give errors.. ex: Maps, Voice search etc.)
Now you'll see two new folders done_app and done_frame.
Push deodexed app and framework to device:
Connect your device to PC in USB debugging mode.
Copy done_app and done_frame folders to root of sdcard (/sdcard).
Open Windows command prompt and type the below commands.
Code:
[LIST]
[*]adb shell
[*]su
[*]stop
[*]mount -o remount,rw /dev/block/mmcblk0p9 /system
[*]rm /system/app/*.odex
[*]rm /system/framework/*.odex
[*]busybox cp /sdcard/done_app/* /system/app/
[*]busybox cp /sdcard/done_frame/* /system/framework/
[*]chmod 644 /system/app/*
[*]chmod 644 /system/framework/*
[*]mount -o remount,ro /dev/block/mmcblk0p9 /system
[*]sync
[*]reboot recovery
[/LIST]
In Recovery, Wipe Cache and Wipe Data/Factory reset.
Reboot.
Now you've deodexed app and framework.
For ICS ROMS:
For ICS Roms, the process is quite easy. (Thanks and Credits to jaydvn.)
Download the attached zip file.
Extract it on your windows PC.
Copy your /system/app to _app folder
Copy your /system/framework to _framework folder.
Run AutoDEOToolMain.bat
Follow the instructions.
deodexed jars and apks will be found in deodexed_APK and deodexed_JAR.
Push deodexed app and framework to device:
Connect your device to PC in USB debugging mode.
Copy deodexed_APK and deodexed_JAR folders to root of sdcard (/sdcard).
Open Windows command prompt and type the below commands.
Code:
[LIST]
[*]adb shell
[*]su
[*]stop
[*]mount -o remount,rw /dev/block/mmcblk0p9 /system
[*]rm /system/app/*.odex
[*]rm /system/framework/*.odex
[*]busybox cp /sdcard/deodexed_APK/* /system/app/
[*]busybox cp /sdcard/deodexed_JAR/* /system/framework/
[*]chmod 644 /system/app/*
[*]chmod 644 /system/framework/*
[*]mount -o remount,ro /dev/block/mmcblk0p9 /system
[*]sync
[*]reboot recovery
[/LIST]
In Recovery, Wipe Cache and Wipe Data/Factory reset.
Reboot.
Done.
Enjoy.
Building kernel
Okay. Let's learn how to build kernel for GT-I9100. There are many ways to build. I am just presenting here the way I build and make kernel.
NOTE 1: Follow the instructions exactly.
NOTE 2: Kernel is opensource. If you make any changes to it, you're expected to share your source. (Usually people share it over github )
NOTE 3: FLASHING KERNEL IS RISKY AND DANGEROUS. BE CAREFUL. BUILD AND FLASH ON YOUR OWN RISK.
What you need to have:
Ubuntu 10.04 and above (I use 10.04 )
ARM tool chain (Download HERE. Click on IA32 GNU/Linux TAR under Advanced Packages)
Samsung's opensource kernel for GT-I9100 (Download HERE. Go to Mobile->Mobile Phone-> Select I9100 (update 3 for Gingerbread and update 4 for ICS) and download the zip)
Setting up toolchain:
Extract the tar you downloaded(Suggestion: Extract to one folder where you can have everything. In my case /home/superatmos/build_kernel).
After extracting, you'll see a folder named arm-2010q1. Inside there will be many folders (ex. bin, lib and so on.)
Folder structure will be: /home/<your_name>/build_kernel/arm-2010q1
Setting up kernel:
Extract the zip you've downloaded from samsung's opensource.
You'll find two zips.
Extract GT-I9100_Kernel.tar.gz to /home/<your_name>/build_kernel/
Folder structure: /home/<your_name>/build_kernel/GT-I9100_Kernel
Setting up initramfs:
Samsung's zImage is divided into two parts: Opensource kernel (which you downloaded from samsung's website) and initramfs (which is root file system to boot up the device).
You can extract initramfs from your zImage using the below mentioned links (Credits and Thanks to Chenglu) Original Thread: HERE
To extract initramfs from Gingerbread zImage: HERE
To extract initramfs from ICS zImage: HERE
Folder structure: /home/<your_name>/build_kernel/initramfs
Now the entire setup is ready. Let's start modifying kernel configuration.
Setting up kernel config:
For Gingerbread:
Go to /home/<your_name>/build_kernel/GT-I9100_Kernel/arch/arm/configs folder.
Copy c1_rev02_defconfig file and paste it in kernel root folder (/home/<your_name>/build_kernel/GT-I9100_Kernel/).
Rename c1_rev02_defconfig to .config in kernel root folder.
Now open Makefile which is in your kernel root folder(/home/<your_name>/build_kernel/GT-I9100_Kernel/).
Modify the below lines (I guess line 195 and 196).
For ICS:
Go to /home/<your_name>/build_kernel/GT-I9100_Kernel/arch/arm/configs folder.
Copy u1_defconfig file and paste it in kernel root folder (/home/<your_name>/build_kernel/GT-I9100_Kernel/).
Rename u1_defconfig to .config in kernel root folder.
Now open Makefile which is in your kernel root folder(/home/<your_name>/build_kernel/GT-I9100_Kernel/).
Modify the below lines (I guess line 195 and 196).
Code:
ARCH ?= arm
CROSS_COMPILE ?= /home/<your_name>/build_kernel/arm-2010q1/bin/arm-none-linux-gnueabi-
Save and close.
Modifying kernel configuration:
Now open .config file(which you renamed). If its not seen, it might be hidden. Go to View->Show hidden files and there you go.
Do the below things:
Adding local version:
Change CONFIG_LOCALVERSION=" " to anything you like. I add this way:
CONFIG_LOCALVERSION="-I9100-superatmos"
Adding initramfs path:
You need to let kernel know the path from which it needs to take initramfs.
Change CONFIG_INITRAMFS_SOURCE=" " to ../initramfs (In this tutorial it's the path. If you had copied anywhere else, give the path properly).
Enough for now. Once you get experience, you can modify many configurations as per your liking and save. This configuration can be changed by GUI too with the command make menuconfig.
The Important part: Building the kernel:
For Gingerbread:
Open terminal.
Go to path /home/<your_name>/build_kernel/GT-I9100_Kernel/
Type make.
For ICS:
Open terminal.
Go to path /home/<your_name>/build_kernel/GT-I9100_Kernel/
Type export USE_SEC_FIPS_MODE=true
Type make.
THAT'S ALL. YOUR zImage is ready and is available in /home/<your_name>/build_kernel/GT-I9100_Kernel/arch/arm/boot/zImage.
Install the zImage on the device:
Go to the path where zImage is present and type the below line in command line.
Code:
tar cvf I9100_kernel.tar zImage
Flash the tar using odin.
DONE. CONGRATULATIONS. NOW YOU'VE YOUR OWN KERNEL.
Give me your feedback so that I can improve this tutorial. And post here about how your build went. All the best.
Making custom ROM
Let's move on to make a custom ROM.
Inputs/Feedback/Suggestions are more than welcome. Lets improve this tutorial together for the betterment of the android community.
Steps involved in making a custom ROM:
Getting the system dump from the device.
Deodexing app and framework folders.
Creating various mods by modifying framework and system files.
Modifying build.prop and adding tweaks.
Making META-INF folder and writing an updater-script (edify scripting).
Signing the ROM and making a flashable zip.
Folder Structure:
Before going forward, let's follow the below structure folder to make the tutorial more understandable.
Let our ROM name be CustomROM. The folder structure will be C:\Users\<your name>\CustomROM.
Let's move step by step. Are you ready??
Getting the system dump from the device
Click to expand...
Click to collapse
Make sure USB debugging is ON and connect your device to the PC.
Open command prompt on your windows PC and go to CustomROM folder path.
Type adb devices. You should be able to see the device detected. (If not check environmental variables whether adb is in system path or not. If not present, add the adb path.)
Type the below command to get the dump of system folder.
Code:
adb pull /system system/
Now inside the folder CustomROM, you should be able to see system folder with many folders like app, etc, framework etc inside.
Done with first step.
Deodexing app and framework folders
Click to expand...
Click to collapse
Look HERE how to deodex app and framework folders. Copy the app and framework folders to xUltimate folder, rename them to origi_app and origi_frame and follow the given link to deodex.
NOTE: After deodexing, merge origi_app folder with app folder under C:\Users\<your name>\CustomROM\system\app and origi_frame with framework folder under C:\Users\<your name>\CustomROM\system\framework.
Creating various mods by modifying framework and system files
Click to expand...
Click to collapse
Okay. This the section where your hardwork, innovation and talent comes in. You can use the mods available already, create your own mods, port various mods from other devices and so on.
Below is a list of various mods which can be ported on to GT-I9100. All the credits go these respective thread owners. Thanks to them.
Lidroid 14 toggle mod
Extended power menu with/without header
CRT Off Animation & SIP Over LTE/HSPA
Swipe to remove notifications
NOTE: Let me know more mods with links so that I can add here.
Modifying build.prop and adding tweaks
Click to expand...
Click to collapse
Okay. This is one of those files where you name your ROM(to be visible in settings. ) and add many tweaks.
To name your ROM (to be visible in settings), change the below code.
Code:
ro.build.display.id=CustomROM v1.0
Check the below links for many other tweaks. All credits go to respective thread owners. Thanks to them.
build.prop tweaks by TheFrankenstain
build.prop tweaks by dhlalit11
Making META-INF folder and writing an updater-script (edify scripting)
Click to expand...
Click to collapse
Once you're done with all the modifications, mods and additions, its time to create META-INF folder and make the updater script. Once the user flashes the ROM zip, this is the script that runs and does everything written inside the script. PLEASE BE CAREFUL WITH THIS. TAKE REFERENCE FROM OTHER (SAME DEVICE) ROMS' UPDATER-SCRIPT. (In this case, take reference from other GT-I9100 roms.)
Check the below links for tutorial and how-to on writing edify script and making updater script. All credits go to respective owners of the threads. Thanks to them.
Edify Scripting, Making Flashable ZIPs, ZIP Signing & Key Creation
Edify Scripting Notes
How to Write an Updater-Script with Edify Code
Edify Installation Script Syntax's
NOTE: system folders path, boot/kernel partition path, modem partition path and so on are COMPLETELY DIFFERENT for DIFFERENT DEVICES. Check the partitions for your device properly, carefully and then work on updater-script. TAKE HELP OR REFERENCE FROM OTHER ROM DEVELOPERS FOR YOUR DEVICE.
Lets move on to last step. Making a signing and making a flashable zip.
Signing the ROM and making a flashable zip
Click to expand...
Click to collapse
Make sure, now you should be able to find two folders (META-INF and system) inside C:\Users\<your name>\CustomROM.
Check in THIS thread for test signing your ROM. It WORKS with GT-I9100.
or Check THIS thread to create your own signing key and certificate.
Now you're done with making a custom ROM. Hope to see more custom ROMs from many users.
Give me your feedback so that I can improve this tutorial. And post here about how your custom ROM making went. All the best.
last one
i don't see any tutorials just links to a diff thread and a rom that won't work on i9100
buster041284 said:
i don't see any tutorials just links to a diff thread and a rom that won't work on i9100
Click to expand...
Click to collapse
You're quite fast Updated Deodexing and Building kernel section..
Great thread Superatmos. I'll definately have a go at this.
Quick question ? Am i right in assuming that although your tutorial says to connect your device this line from xUltimate seperceeds that ?
"Alright xUltimate has been updated to v2 What this means is that you do not need your phone connect to your computer to deodex. So you can just manually place the .odex files in (\origi_frame\) and (\origi_app\) and it will deodex. You can also transfer the .odex files from your phone like the last version."
where do I get the zImage to extract the initramfs from? I can't seem to find the zImage on my phone or in the source anywhere.
Great
Very useful.. Added to my favorite.
Thank's man, i'll read that
puccini said:
Great thread Superatmos. I'll definately have a go at this.
Quick question ? Am i right in assuming that although your tutorial says to connect your device this line from xUltimate seperceeds that ?
"Alright xUltimate has been updated to v2 What this means is that you do not need your phone connect to your computer to deodex. So you can just manually place the .odex files in (\origi_frame\) and (\origi_app\) and it will deodex. You can also transfer the .odex files from your phone like the last version."
Click to expand...
Click to collapse
Connect your device to the PC and double click Main.exe inside xUltimate folder. Follow the instructions you see from then. Its quite self explanatory.
If you already have origi_app and origi_frame folders, then just double click on Main Skip.bat.
dmp450 said:
where do I get the zImage to extract the initramfs from? I can't seem to find the zImage on my phone or in the source anywhere.
Click to expand...
Click to collapse
Use ktool (available on market.. compatible with I9100) and click on Dump current kernel. You'll find it on sdcard.
One more way is when you download firmware from sammobile.com, just extract the file and you'll find zImage inside it.
Nice thread,
I m waiting from long time.
Thanks for your work.
Sent from my GT-I9100 using XDA
Making custom ROM section updated
Hi all,
Please find updated custom rom section HERE.
Feedback and suggestions welcome.
Thanks for the kernel part, will come in handy
Enviado desde mi GT-I9100 usando Tapatalk 2
Good tutorial, thanks.
How do you guys sign the rom if you are on Linux (ubuntu for me)
hi superatmos
thanks for this handy thread...may i ask your for a help here?why in my every deodexing always gives error result?
I attach the screenshots.
Many thanks in advance
tks mate will try to pack my own kernel following this method
Sent from my GT-I9100 using Tapatalk 2

[GUIDE] [LINUX/UBUNTU] Extract/Modify/Rebuild Lollipop ROMs !

Extracting:
1. Download this package: https://tusfiles.net/oaiw9ze20tbl
2. Extract to a folder and chmod 777 -r /path/to/the/folder
3. cd (change directory) to that folder
4. Run prereq.sh
5. Place system.transfer.list and system.new.dat into the folder
6. Open extractor.sh using a text edit program
7. Find the line containing chown command, replace yash:yash with yourusername:yourusername
8. Run extractor.sh
9. Modify contents found in output folder​
Rebuilding:
1. Do above first and then run compress.sh
2. Find the rebuilt system.new.dat and system.transfer.list in sdat folder​
Making it into a ROM:
1. Do above first
2. Find a zip ROM for OnePlus 2 that contains system.transfer.list and system.new.dat
3. Replace it with your rebuilt ones from above mentioned steps
4. Voila! ROM ready!​
NOTE:
The package contains OxygenOS SELinux file contexts in progs subfolder...
So, to modify CM ROMs you need to get file_contexts file from the zip of the ROM and replace the one found in progs subfolder
Credits:
@xpirt
Please mention​
Two questions; Is this a rom kitchen like tool for OxygenOS? Are there any libs or binaries or other dependencies?
I'm a bit busy, but I'll take it for a spin when I can.
Oh one last thing, is there a repo for this?
Ta,
ALQI
Sent from me mobile.
Nice guide
alquimista said:
Two questions; Is this a rom kitchen like tool for OxygenOS? Are there any libs or binaries or other dependencies?
I'm a bit busy, but I'll take it for a spin when I can.
Oh one last thing, is there a repo for this?
Ta,
ALQI
Sent from me mobile.
Click to expand...
Click to collapse
The dsixda kitchen had much more functions then this but you may cknsidet it as a temporary lollipop kitchen with not much extra functionality..
This was like a automation script for me and was a quick one so repo wasn't needed
I have used this script on Ubuntu 64bit and the only extra dependency apart from those included in package are installed by prereq.sh
Btw this is not just for oxygen os it can also be used for any cm or cm based rom here but.do read the note then
Yash98 said:
Extracting:
1. Download this package: https://tusfiles.net/oaiw9ze20tbl
2. Extract to a folder and chmod 777 -r /path/to/the/folder
3. cd (change directory) to that folder
4. Run prereq.sh
5. Place system.transfer.list and system.new.dat into the folder
6. Open extractor.sh using a text edit program
7. Find the line containing chown command, replace yash:yash with yourusername:yourusername
8. Run extractor.sh
9. Modify contents found in output folder​
Rebuilding:
1. Do above first and then run compress.sh
2. Find the rebuilt system.new.dat and system.transfer.list in sdat folder​
Making it into a ROM:
1. Do above first
2. Find a zip ROM for OnePlus 2 that contains system.transfer.list and system.new.dat
3. Replace it with your rebuilt ones from above mentioned steps
4. Voila! ROM ready!​
Click to expand...
Click to collapse
So does this allow you to make ROM's for the OP2 from ROM's based on other devices, or what? Sorry if I'm sort of a noob, I just don't understand what is being done.
Thanks!
Me1256 said:
So does this allow you to make ROM's for the OP2 from ROM's based on other devices, or what? Sorry if I'm sort of a noob, I just don't understand what is being done.
Thanks!
Click to expand...
Click to collapse
You can make ROMs from prebuilt ROMs like OxygenOS or any other built ROM like Exodus, CM12, etc.
Basically modify ROMs without rebuilding from source (which takes a lot of time!)
Sir I downloaded your tool and followed ur guide....But after I run extract.sh there is no files/folders in output folder.Plz reply thankz in advancw
Thank you. I really wanted to extract .dat file..
Sent from my ONE A2003 using Tapatalk
This is a great tool but I wanted to know how to edit the system folder in ubuntu. Like using chmod and chown to pre-root and uninstall some other apps. Can somebody please direct me in that direction.
I go test...

Categories

Resources