Hi, this is just a brief guide on how to create your own custom firmware.
The basic principle underlying the creation is very simple - Split, Replace, Pack, Flash.
So for starters, lets learn how to just replace images and ringtones.
First download EZXCodec by Rocket, its in the firmware development section.
The next step is to set up a working directory, through this program. Call it "test", without the quotes.
Next, select a firmware. Its good to have a few lying on your hard disk. I have around 1.2 GB worth of firmware for the E6

. Make sure you have at least one generic and one modded firmware.
Now, lets do the first in the list - Split.
Open ezxcodec. The very first tab is for SBF, which is the extension for a firmware. If your firmware is compressed into a zip/rar archive, now is the best time to unpack it :P
Just below is the area where you select your firmware you want to modify. Click on the three dots to bring up a box that allows you to browse your PC for the firmware. Select it and click OK. then click the Open tab in the program, and then click Extract.
Now go to the working directory you selected earlier - test
In there will be a set of 6 folders, and 5 .idx files. We will not be playing with the .idx files now.
The folders you see are as below with a line on what each contains (thanks to imahottguy):
cramfs-root-CG34 - Preloaded stuff like wallpaper, ringtones and java apps
cramfs-root-CG37 - Security certificates
cramfs-root-CG41 - Contains the LP
cramfs-root-CG42 - Contains config files
cramfs-root-CG43 - File structure, and pretty much everything important
smg - all the smgs that make up the firmware, of which it is not recommended for a n00b to mess with, with exception for the above.
Right now, we only touch this folder when we finish our modifications.
Now, for the second part - Replace:
Open up the folder called cramfs-root-CG34. In there are a bunch of other folders, all that you should explore. Go to the folder called pictures, and replace the images there with those of your own. For now, since for many this is going to be the first step, keep the name of each replaced image the same as that of the original. Do the same for the files in the ringtone folder.
Feel free to also play around with the folder called skin, thats where your themes lie. However, DO NOT mess around with the folder called icon. This folder has the default iconres.ezx, which accounts for any icon that a theme lacks.
Step 3 - Compile
After you've had your share of fun, lets pack this cg now.
Click on the CramFS tab of the ezxcodec program. Over there, the Working directory radio button should be selected. Click on the smallbox for selection of the cg, and select CG34 there. Click Open. DO NOT click extract. Now we create a new cramfs file. Click on the 3 dots again, and then use the name that the program suggests, which should be something like CG34_new.smg. Save it in the same directory as the other smgs, namely in the "smg" folder. Now click Compile. This command starts packing the contents of the cramfs-root-CG34 folder into the CG34_new.smg file. If there are any files, that were not initially present, you may see a small warning. Ignore it.
Now in explorer, go to the smg folder, and delete CG34.smg. Rename the CG34_new.smg to CG34.smg.
Go back to the program, and go to the SBF tab. In there, you have to work with the New SBF file section. Click on the 3 dots and choose the place you want to save your firmware to. Name it anything you like, with the .sbf extension. Then simply click Compile, and in a few seconds you should be ready with your brand new custom firmware!
Step 4 - Test
This one is fairly simple. Use step one to split your firmware and check if your replaced files are intact.
Step 5 - Flash.
For final confirmation and for realizing the value of your time spent. Flash the firmware onto your phone. Details on how to flash are in the stickies.
----------------------------------------------------------------------------------------------------------------
For advanced modders, lets learn how to add startup scripts.
Follow all steps above, except that we'll be working with CG43 now. Split a modded pack, and extract a file called S80autoon from /etc/rc.d/rc2.d
Now, in the generic pack that does not support startup scripts, place this files in the same directory namely, /etc/rc.d/rc2.d
Simply repack the firmware, test it by splitting after compiling, and flash your phone.
Now to test if your startup script is working, use a common mount bind command in there, something that changes your font or the multitheme hack.
This is just simple modding, for seeing what other great modders that innovate and create marvellous packs, download their packs and study them!!! This will help you understand what goes into making a good firmware.
DISCLAIMER: Use this guide only if you are truly interested in this topic. If you care for warranty and other such things, this guide is not for you.
Always back up your data, and keep it on your computer at all times, in case you need to flash again.
Motorolafans.com cannot be held responsible for any damage that occurs from following this guide. Edit: Oops, just saw that an attachment has been posted. Hope you find both the attachment and this guide informative!!!