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 :P 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 propertiesQ)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 finishesUpdater 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 ROM1)Adding Tweaks1.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

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\wallpap erpicker\wallpapers
Then Add your Wallpapers4) Modifying the Themes
system\vendor\overlay\framework
Themes are found here
In newer XPERIA Devices Themes are found in /app

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

Anytime
@DanielFlorin did the dRz ROM
there is no need for doomsday in XE Development
you can consider dRz as an initial release for Doomsday for XE
and im always with contact with him about porting some stuff from doomsday to dRz

Anytime
@DanielFlorin did the dRz ROM
there is no need for doomsday in XE Development
you can consider dRz as an initial release for Doomsday for XE
and im always with contact with him about porting some stuff from doomsday to dRz

XDA Developers was founded by developers, for developers. It is now a valuable resource for people who want to make the most of their mobile devices, from customizing the look and feel to adding new functionality.Are you a developer?