Hey Guys,
My name is Braa, I’am just a new developer here in the XDA and today I’am going to show you a complete guide on how to make your own “XPERIA” Stock Based ROM.
First of all you have to get the Stock XPERIA Firmware of your device
Let’s get started to build our ROM:
First Step: (Getting the STOCK FTF File of your Device)
1) Get the latest stock FTF Firmware of your device
2) Open it using 7-ZIP
3) Now we will be focusing on the most important file “system.sin” Just Extract it to your desktop
4)Now go to the XPERIA Flashtool Tools Sin Editor Choose the system.sin file you have just extracted to your desktop Extract Data
5)Now you will have a file called “system.ext4”
6)Get a tool called “EXT4 Unpacker” then select that file Extract all the files into a folder
Congrlatiouns you have got your stock device firmware but not in the form of “FTF” instead in the form of “ZIP”
But this was not everything we will now move into more advanced part but don’t panic everything will be explained easily with screenshots so, Let’s GO !
Understanding the System folder you have just extracted
System Folder Contains the Majority of ROM Files, now we have to explain the SYSTEM Folder structure
1. app : contain all the system's app and the odex file of system app
2. bin : contain the command and bin files for the rom
3. vendor: specified vendor system. you have your specific vendor's app, libs, and config files here also contains the Themes (XPERIA 2011-2012 Devices)
4. etc : additional setting and files for the ROM.
5. font : It’s Clear it contains the fonts
6. framework : system's framework files and the odex file for framework
7. lib : drivers, modules, kernel related files for the rom
8. media: media files-ringtones, notification, bootanimation.
10. usr : files needed for keyboard, bluetooth, etc.
11. xbin : additional command and bin files (busybox is usually installed here)
12. build.prop file : Contains your Device default properties
Q)DEODEX VS ODEX
A)Most of custom rom available is deodexed rom while our stock rom is half deodexed rom. I'll try to explain it in most simple way. First of all, we should understand that mostly every app in android consist of three part, *apk files, *dex/odex files, and lib files.
ODEXED rom means that *dex file needed to run the app is extracted from the apk file and placed in same folder with the apk files (/system/app). the positive side, it consume less internal memory and a execute faster. the negative side, it makes the app uncostumizable (cannot apply custom themes) and need more space in system partition.
DEODEXED rom means that *dex file needed to run the app is extracted from the apk file and placed in /data/dalvik-cache. the positive side, the app can be themed (full customizable) and consume less system partition. we could put more app in /system/app in deodexed rom. the negative side, it consume a lot of internal memory. please be cautious with the internal memory space if you use deodexed rom. (NOTE: if you start from stock rom, you may use Kitchen to convert odexed to deodexed rom).
Now if you want a really looking good Ui ROM u will stick into DeOdexing your ROM
Note: What was explained above in the part of ODEX VS DEODEX doesn’t mean that DeOdexing ROM will decrease it’s Performance
Q)How to DeOdex My ROM ?
A)Bro, This could be done using many tools like (Universal DeOdexer or DsiXda Kitchen)
Now I will explain the Dsixda kitchen method
Tools Needed:
Cygwin
JDK
Android Kitchen
Steps:
1)Extract Cygwin.zip Run Setup.exe Next Install from local directory Set the root directory as it Set the local package directory as cygwin_packages Select that reload icon and install all
2)Now Click on Cygwin icon on desktop you will see that commands appear automaticly
3)Now Extract the kitchen Android-Kitchen-0.224.zip then rename it to “kitchen” (without the quotations)
4)Then copy that folder into c:/Cygwin home your username folder
5)Open the cygwin and write these commnds
6)Cd kitchen ./menu
7) Just compress the system folder we have just extracted from the ext4 unpacker into ZIP File
8)Now copy that file to C:\cygwin\home\Your username\kitchen\original_update
9)Open the cygwin then write the kitchen commands I’ve mentioned above
10)Select “Set up working folder of your ROM” Press Enter Select the zip you compressed It will ask you to add a null boot.img agree to this
11)Select the “Advanced Options” Select De-Odex files in your ROM Select “b” DeOdex both folders (Recommended) wait till the process finishes
Updater Script ! (Nightmare to a lot of noobs)
Sorry Guys I can’t help you with this part even my updater-script in my ROM I forgot how I did it here is it you can base your updater-script on it
Just download it !
WE’VE Done this part !
Modifying your ROM
1)Adding Tweaks
1.1)Adding init.d Support
Adding init.d support means that you can run your favorite scripts and tweaks on your Stock Based ROM
Download the file “enable_init.d.zip” and put all its files inside system folder into your ROM System Folder
1.2)Modifying Build.Prop for more stability
Here’s a lot of Build.prop Tweaks
1. Force launcher into memory
ro.HOME_APP_ADJ=1
2. Raise JPG quality to 100%
ro.media.enc.jpeg.quality=100
3. VM Heapsize; higher RAM, higher hp can be
dalvik.vm.heapsize=48m
4. Render UI with GPU
debug.sf.hw=1
5. Decrease dialing out delay
ro.telephony.call_ring.delay=0
6. Helps scrolling responsiveness
windowsmgr.max_events_per_sec=150
7. Save battery
wifi.supplicant_scan_interval=180
pm.sleep_mode=1
ro.ril.disable.power.collapse=0
8. Disable debugging notify icon on statusbar
persist.adb.notify=0
9. Increase overall touch responsiveness
debug.performance.tuning=1
video.accelerate.hw=1
10. Raise photo and video recording quality
ro.media.dec.jpeg.memcap=8000000
ro.media.enc.hprof.vid.bps=8000000
11. Signal (3G) tweaks
ro.ril.hsxpa=2
ro.ril.gprsclass=10
ro.ril.hep=1
ro.ril.enable.dtm=1
ro.ril.hsdpa.category=10
ro.ril.enable.a53=1
ro.ril.enable.3g.prefix=1
ro.ril.htcmaskw1.bitmask=4294967295
ro.ril.htcmaskw1=14449
ro.ril.hsupa.category=5
12. Net speed tweaks
net.tcp.buffersize.default=4096,87380,256960,4096,16384,256960
net.tcp.buffersize.wifi=4096,87380,256960,4096,16384,256960
net.tcp.buffersize.umts=4096,87380,256960,4096,16384,256960
net.tcp.buffersize.gprs=4096,87380,256960,4096,16384,256960
net.tcp.buffersize.edge=4096,87380,256960,4096,16384,256960
13. Disable blackscreen issue after a call
ro.lge.proximity.delay=25
mot.proximity.delay=25
14. Fix some application issues
ro.kernel.android.checkjni=0
15. Phone will not wake up from hitting volume rocker
ro.config.hwfeature_wakeupkey=0
16. Force button lights on when screen is on
ro.mot.buttonlight.timeout=0
17. Disable boot animation for faster boot
debug.sf.nobootanimation=1
18. Miscellaneous flags
ro.config.hw_menu_unlockscreen=false
persist.sys.use_di ring=0
persist.sys.purgeable_assets=1
dalvik.vm.dexopt-flags=m=y
ro.mot.eri.losalert.delay=1000
Q)How can I add these lines to my build.prop
A)I will tell you
Download a tool called “Notepad++”
Extract the build.prop file from your ROM then right click on it then edit with notepad++
Go to Last line:
Then add
# Tweak Name
Tweak Properties
#
Done
Here’s my build.prop I used in my ROM: its just a sample copy what you want from it
2)Bravia Engine 2 with X-Reality
Download the file of BE-2 then paste it in your ROM then add these lines to build.prop
# X-Reality Engine
ro.service.swiqi2.supported = true
persist.service.swiqi2.enable = 1
#
ro.service.swiqi3.supported = true
persist.service.swiqi3.enable = 1
#
3) Modifying the wallpapers of the ROM
Go to etc\customization\content\com\sonyericsson\wallpaperpicker\wallpapers
Then Add your Wallpapers
4) Modifying the Themes
system\vendor\overlay\framework
Themes are found here
In newer XPERIA Devices Themes are found in /app
5) Adding Supercharger intiries
Just add these lines to your build.prop
# V6 SuperCharger, OOM Grouping & Priority Fixes created by zeppelinrox.
# DO NOT DELETE COMMENTS. DELETING COMMENTS WILL BREAK UNINSTALL ROUTINE!
# BEGIN OOM_MEM_Settings
ro.FOREGROUND_APP_MEM=1536
ro.VISIBLE_APP_MEM=3072
ro.PERCEPTIBLE_APP_MEM=4096
ro.HEAVY_WEIGHT_APP_MEM=20480
ro.SECONDARY_SERVER_MEM=8192
ro.BACKUP_APP_MEM=14080
ro.HOME_APP_MEM=1024
ro.HIDDEN_APP_MEM=10240
ro.EMPTY_APP_MEM=15360
# END OOM_MEM_Settings
# BEGIN OOM_ADJ_Settings
ro.FOREGROUND_APP_ADJ=0
ro.VISIBLE_APP_ADJ=3
ro.PERCEPTIBLE_APP_ADJ=3
ro.HEAVY_WEIGHT_APP_ADJ=5
ro.SECONDARY_SERVER_ADJ=7
ro.BACKUP_APP_ADJ=6
ro.HOME_APP_ADJ=1
ro.HIDDEN_APP_MIN_ADJ=12
ro.EMPTY_APP_ADJ=15
# END OOM_ADJ_Settings
# End of V6 SuperCharged Entries
6) Making your Apptray Transparent
Just Replace the apptray_pane_bg.9.png I provided to your Home.apk in store mode
7) Changing the bootanimation (HDPI)
XPERIA Z1
XPERIA Z2
8) Media not scanned or No pictures found here’s the solution
Download Rescan media root and put it in data folder of your ROM
Nice Tip:CFQ Scheduler Makes the Media scanning process slow, Just Stick into SIO or deadline
If you are on 4.1.2 and HDPI Device (Maybe works on XHDPI or MDPI)
So my ROM “Doomsday” is open source for you, it contains full XPERIA Z2 Ui just take the download link from my signature then download it and take what you need from it but don’t forget to give me the proper credits and press thanks for me
Thread will be updated soon :laugh:[/FONT]
My name is Braa, I’am just a new developer here in the XDA and today I’am going to show you a complete guide on how to make your own “XPERIA” Stock Based ROM.
First of all you have to get the Stock XPERIA Firmware of your device
Let’s get started to build our ROM:
First Step: (Getting the STOCK FTF File of your Device)
1) Get the latest stock FTF Firmware of your device
2) Open it using 7-ZIP
3) Now we will be focusing on the most important file “system.sin” Just Extract it to your desktop
4)Now go to the XPERIA Flashtool Tools Sin Editor Choose the system.sin file you have just extracted to your desktop Extract Data
5)Now you will have a file called “system.ext4”
6)Get a tool called “EXT4 Unpacker” then select that file Extract all the files into a folder
Congrlatiouns you have got your stock device firmware but not in the form of “FTF” instead in the form of “ZIP”
But this was not everything we will now move into more advanced part but don’t panic everything will be explained easily with screenshots so, Let’s GO !
Understanding the System folder you have just extracted
System Folder Contains the Majority of ROM Files, now we have to explain the SYSTEM Folder structure
1. app : contain all the system's app and the odex file of system app
2. bin : contain the command and bin files for the rom
3. vendor: specified vendor system. you have your specific vendor's app, libs, and config files here also contains the Themes (XPERIA 2011-2012 Devices)
4. etc : additional setting and files for the ROM.
5. font : It’s Clear it contains the fonts
6. framework : system's framework files and the odex file for framework
7. lib : drivers, modules, kernel related files for the rom
8. media: media files-ringtones, notification, bootanimation.
10. usr : files needed for keyboard, bluetooth, etc.
11. xbin : additional command and bin files (busybox is usually installed here)
12. build.prop file : Contains your Device default properties
Q)DEODEX VS ODEX
A)Most of custom rom available is deodexed rom while our stock rom is half deodexed rom. I'll try to explain it in most simple way. First of all, we should understand that mostly every app in android consist of three part, *apk files, *dex/odex files, and lib files.
ODEXED rom means that *dex file needed to run the app is extracted from the apk file and placed in same folder with the apk files (/system/app). the positive side, it consume less internal memory and a execute faster. the negative side, it makes the app uncostumizable (cannot apply custom themes) and need more space in system partition.
DEODEXED rom means that *dex file needed to run the app is extracted from the apk file and placed in /data/dalvik-cache. the positive side, the app can be themed (full customizable) and consume less system partition. we could put more app in /system/app in deodexed rom. the negative side, it consume a lot of internal memory. please be cautious with the internal memory space if you use deodexed rom. (NOTE: if you start from stock rom, you may use Kitchen to convert odexed to deodexed rom).
Now if you want a really looking good Ui ROM u will stick into DeOdexing your ROM
Note: What was explained above in the part of ODEX VS DEODEX doesn’t mean that DeOdexing ROM will decrease it’s Performance
Q)How to DeOdex My ROM ?
A)Bro, This could be done using many tools like (Universal DeOdexer or DsiXda Kitchen)
Now I will explain the Dsixda kitchen method
Tools Needed:
Cygwin
JDK
Android Kitchen
Steps:
1)Extract Cygwin.zip Run Setup.exe Next Install from local directory Set the root directory as it Set the local package directory as cygwin_packages Select that reload icon and install all
2)Now Click on Cygwin icon on desktop you will see that commands appear automaticly
3)Now Extract the kitchen Android-Kitchen-0.224.zip then rename it to “kitchen” (without the quotations)
4)Then copy that folder into c:/Cygwin home your username folder
5)Open the cygwin and write these commnds
6)Cd kitchen ./menu
7) Just compress the system folder we have just extracted from the ext4 unpacker into ZIP File
8)Now copy that file to C:\cygwin\home\Your username\kitchen\original_update
9)Open the cygwin then write the kitchen commands I’ve mentioned above
10)Select “Set up working folder of your ROM” Press Enter Select the zip you compressed It will ask you to add a null boot.img agree to this
11)Select the “Advanced Options” Select De-Odex files in your ROM Select “b” DeOdex both folders (Recommended) wait till the process finishes
Updater Script ! (Nightmare to a lot of noobs)
Sorry Guys I can’t help you with this part even my updater-script in my ROM I forgot how I did it here is it you can base your updater-script on it
Just download it !
WE’VE Done this part !
Modifying your ROM
1)Adding Tweaks
1.1)Adding init.d Support
Adding init.d support means that you can run your favorite scripts and tweaks on your Stock Based ROM
Download the file “enable_init.d.zip” and put all its files inside system folder into your ROM System Folder
1.2)Modifying Build.Prop for more stability
Here’s a lot of Build.prop Tweaks
1. Force launcher into memory
ro.HOME_APP_ADJ=1
2. Raise JPG quality to 100%
ro.media.enc.jpeg.quality=100
3. VM Heapsize; higher RAM, higher hp can be
dalvik.vm.heapsize=48m
4. Render UI with GPU
debug.sf.hw=1
5. Decrease dialing out delay
ro.telephony.call_ring.delay=0
6. Helps scrolling responsiveness
windowsmgr.max_events_per_sec=150
7. Save battery
wifi.supplicant_scan_interval=180
pm.sleep_mode=1
ro.ril.disable.power.collapse=0
8. Disable debugging notify icon on statusbar
persist.adb.notify=0
9. Increase overall touch responsiveness
debug.performance.tuning=1
video.accelerate.hw=1
10. Raise photo and video recording quality
ro.media.dec.jpeg.memcap=8000000
ro.media.enc.hprof.vid.bps=8000000
11. Signal (3G) tweaks
ro.ril.hsxpa=2
ro.ril.gprsclass=10
ro.ril.hep=1
ro.ril.enable.dtm=1
ro.ril.hsdpa.category=10
ro.ril.enable.a53=1
ro.ril.enable.3g.prefix=1
ro.ril.htcmaskw1.bitmask=4294967295
ro.ril.htcmaskw1=14449
ro.ril.hsupa.category=5
12. Net speed tweaks
net.tcp.buffersize.default=4096,87380,256960,4096,16384,256960
net.tcp.buffersize.wifi=4096,87380,256960,4096,16384,256960
net.tcp.buffersize.umts=4096,87380,256960,4096,16384,256960
net.tcp.buffersize.gprs=4096,87380,256960,4096,16384,256960
net.tcp.buffersize.edge=4096,87380,256960,4096,16384,256960
13. Disable blackscreen issue after a call
ro.lge.proximity.delay=25
mot.proximity.delay=25
14. Fix some application issues
ro.kernel.android.checkjni=0
15. Phone will not wake up from hitting volume rocker
ro.config.hwfeature_wakeupkey=0
16. Force button lights on when screen is on
ro.mot.buttonlight.timeout=0
17. Disable boot animation for faster boot
debug.sf.nobootanimation=1
18. Miscellaneous flags
ro.config.hw_menu_unlockscreen=false
persist.sys.use_di ring=0
persist.sys.purgeable_assets=1
dalvik.vm.dexopt-flags=m=y
ro.mot.eri.losalert.delay=1000
Q)How can I add these lines to my build.prop
A)I will tell you
Download a tool called “Notepad++”
Extract the build.prop file from your ROM then right click on it then edit with notepad++
Go to Last line:
Then add
# Tweak Name
Tweak Properties
#
Done
Here’s my build.prop I used in my ROM: its just a sample copy what you want from it
2)Bravia Engine 2 with X-Reality
Download the file of BE-2 then paste it in your ROM then add these lines to build.prop
# X-Reality Engine
ro.service.swiqi2.supported = true
persist.service.swiqi2.enable = 1
#
ro.service.swiqi3.supported = true
persist.service.swiqi3.enable = 1
#
3) Modifying the wallpapers of the ROM
Go to etc\customization\content\com\sonyericsson\wallpaperpicker\wallpapers
Then Add your Wallpapers
4) Modifying the Themes
system\vendor\overlay\framework
Themes are found here
In newer XPERIA Devices Themes are found in /app
5) Adding Supercharger intiries
Just add these lines to your build.prop
# V6 SuperCharger, OOM Grouping & Priority Fixes created by zeppelinrox.
# DO NOT DELETE COMMENTS. DELETING COMMENTS WILL BREAK UNINSTALL ROUTINE!
# BEGIN OOM_MEM_Settings
ro.FOREGROUND_APP_MEM=1536
ro.VISIBLE_APP_MEM=3072
ro.PERCEPTIBLE_APP_MEM=4096
ro.HEAVY_WEIGHT_APP_MEM=20480
ro.SECONDARY_SERVER_MEM=8192
ro.BACKUP_APP_MEM=14080
ro.HOME_APP_MEM=1024
ro.HIDDEN_APP_MEM=10240
ro.EMPTY_APP_MEM=15360
# END OOM_MEM_Settings
# BEGIN OOM_ADJ_Settings
ro.FOREGROUND_APP_ADJ=0
ro.VISIBLE_APP_ADJ=3
ro.PERCEPTIBLE_APP_ADJ=3
ro.HEAVY_WEIGHT_APP_ADJ=5
ro.SECONDARY_SERVER_ADJ=7
ro.BACKUP_APP_ADJ=6
ro.HOME_APP_ADJ=1
ro.HIDDEN_APP_MIN_ADJ=12
ro.EMPTY_APP_ADJ=15
# END OOM_ADJ_Settings
# End of V6 SuperCharged Entries
6) Making your Apptray Transparent
Just Replace the apptray_pane_bg.9.png I provided to your Home.apk in store mode
7) Changing the bootanimation (HDPI)
XPERIA Z1
XPERIA Z2
8) Media not scanned or No pictures found here’s the solution
Download Rescan media root and put it in data folder of your ROM
Nice Tip:CFQ Scheduler Makes the Media scanning process slow, Just Stick into SIO or deadline
If you are on 4.1.2 and HDPI Device (Maybe works on XHDPI or MDPI)
So my ROM “Doomsday” is open source for you, it contains full XPERIA Z2 Ui just take the download link from my signature then download it and take what you need from it but don’t forget to give me the proper credits and press thanks for me
Thread will be updated soon :laugh:[/FONT]
Last edited: