Ultimate Tutorial to Create Your Own Firmware
Terminologies
FW: Firmware
OFW: Original Firmware
CFW: Customized/Cooked Firmware
MCU: Its the core part of the fw. Most of the stuffs are included in it if the fw files are not repartitioned. But most of the CFWs r repartitioned. Repartitioning gives us more free space to put our stuffs in the section we can modify more easily.
PPM: The rofs files. These can be modified without causing much damage to the phone.
APE: The UDA file of the fw. It is the C: drive (phone memory) of our phone. So it will be better to leave it untouched if u want to get more free space in your C: drive.
Cooking: Customizing.
MODS: Modifications. Any readymade file in the fw which is modified to bear much impact in the phone. For example a speed mod will increase the speed of the phone. Actually modders have already modified some files and provided them to us which are known as mods. We only need to add them to our rofs. Mods will replace the unmodified files & will tweak the performance in phone in a better way.
Firmware Tools
Before going to create your CFW you need to have all these tools.
1. Navifirm: Needed to download the OFW
2. Nokia Cooker: To edit the fw files like core, rofs2, rofs3 etc.
3. Nokia Firmware Editor: Used to edit or customize rofs2.
4. Nokia FW Cleaner: Used to delete the built in apps in rofs2.
5. Sis Contents: To extract sis files.
6. RSCEditor: To edit resource (.rsc) files.
7. SISXplorer: SISXplorer allows you to Inspect and Extract all the files contained inside the 3rd Edition installation packages. Using SISXplorer you can extract all the images from 3rd Edition Themes, deeply Inspect the content of each file using the Integrated Hexadecimal Viewer. And Much More.
8. Petran GUI: Used to edit and compress .dll and .exe files so that we can get more free space in the rofs2 to put more stuffs.
9. MBM Converter
10. SVGB to SVG Converter
11. SVG to SVGT Converter
12. MIF maker: Amobile application used to convert .jpg, .jpeg, .png, .gif images to .mif
13. Mediabar Editor: Used to edit the mediabar.
14. Nokia qwerty keyboard editor
15. Hex Editor: used to edit binaries
16. Theme Icon Switcher: Used to switch the icons between two themes.
17. SIS Ware
18. ResEdit: Used to edit the resource (.rsc) files.
19. SymbianRSC: Used to edit the strings present in .rsc files.
20. JAF: The most important tool. This is needed to flash your phone. U may need to flash your phone minimum 100 times to test your CFW in every step.
Basics
First of all, modifying the Core file is extremely dangerous. The core undergoes a hash check which will fail if we modify it. Ofcourse there are new tools to modify core too, but I prefer modifying ROFS. Safest way. Now, ROFS is of two types. ROFS2 and ROFS3. The core file contains another type - the ROFS1. In some older phones, you might find ROFX too.
When we deal with CFWs, we mostly prefer repartitioned ones. The reason was explained above. In repartitioned CFWs, there exists no ROFS3. Instead, the ROFS3 is put into Core. To repartition, we needed to modify core. Then hash check would fail, so we added an unmodified ROFS3 which has a valid hash, into Core. The ROFS1 in the repartitioned files in in ROFS2 itself.
So, we'll we talking basically about editing ROFS2, and UDA.
Whatever we edit in the ROFS2 goes to drive Z: of your phone. This is a hidden drive that is Read-Only. You can't change it from the phone itself. To modify it, you have to modify the files in ROFS2 and then reflash your phone.
Changes in UDA go to C: (Phone Memory). Hard resetting might wipe away all your C: files. But, if you want that they shouldn't, add all the files you don't want to be wiped off to 100059c9/exludelist.txt in the UDA.
The ROFS2 of the OFW has a maximum size of ~ 33 MB. The repartitioned one has a maximum size (partition size of Z: ) of ~110 MB. But then, even it's contents are more. By default you have some 10 MB free on the repartitioned ROFS2. The size if exceeds the partition size, will brick your phone. Thus we have tools like Nokia Firmware Cleaner to remove off the junk.
All the files in the .C00 (core) are first flashed to Z: drive. Don’t try to edit it. You may end up bricking your phone. Then ROFS2 is also flashed to Z: drive but no files except for some bookmarks and some other txt files are overwritten. If anything is overwritten, it results in a brick. So, we do not add mods to Core so that our files do not clash. ROFS3 does the same but is not used in repartitioned files (including C6 and N97 ports). The reason has been explained above. The default theme in OFW is in ROFS3. Since, it has become a part of core, it can not be removed, though hidden.
I personally use Nokia Firmware Editor (NFE 0.3) for editing ROFS2. So I’ll be explaining how to use it in this tutorial.
Having a base for your CFW
A stable codebase is extremely important. So I recommend that you decide whether you want your CFW to be based on OFW, C6, or N97. Each has its advantages and disadvantages. The OFW has the best RAM management. C6 has widgetized homescreen with new features like smart dialer and many more. N97 has widgetized homescreen. Some say it's better than C6 in RAM management. Not my opinion, though.
If you want it to be based on C6 or N97 port, download your files from here first. If you want to base it on OFW, then download the OFW files from NaviFirm. At some places, repartitioned OFW files are also available. It's recommended to use those.
Symbian Directory Structure
Data: Contains all applications data related files such as maps for GPS applications.
Images: When u edit any picture or take any picture using camera, the pictures will be saved to this directory and the sub-directories like backgrounds, camera, pictures, presence etc present in this directory. Files under the Camera sub-directory will be sorted in sub-directories acording to the date and time the pictures were taken.
Music: Just like the Image directory, this directory contains all the music related files.
Others: This directory contains mostly private data like contacts.
Private: This directory is the one for which we all came in for. This actually contains all the configuration files in XML and TXT formats (Although as INI formats) to control and change any preferance u'll ever need or think of.
Resource: This directory contains all the graphics related stuffs. Means it contain all the images/icons/rsc files that the phone theme consists of.If u ever want to add any theme or to change any graphics related issue, this is the place to look for.
Sys: This directory is also the most important one. This directory contains all the OS binaries. That means all executive (exe) & dll files are located under this directory. The sub-directories under the Sys directory are bin (which actually contains the binary OS files) and the Install ,Uninstall directories. The Install/Uninstall directories are like registry mechanism. The install and uninstall informations are in these directories respectively.
System: This directory contains the sub-directories like Apps, data, dmgr, temp. The Apps directory holds applications related data. The data directory contain OS related data such as BlueTooth/headset/speakers parameters. The dmgr stands for data manager which handle downloads. And the Temp sub-directory holds temporary OS files.
No comments:
Post a Comment