There are two ways you can create ROMs for LG Optimus Me. One way is to download sources and then compile the ROM (something which I don’t know right now :P). If you wish to create a Gingerbread ROM, you may need to download sources from source.android.com/source where Google has clearly explained the methods to set up your machine on Linux or Mac OSX and download sources.
Another way is to port ROMs from other devices which have similar hardware. LG Optimus One and LG Optimus Me do not differ much in their hardware and in this tutorial I will tell you how to port ROMs from P500 to P350. Porting means that you are making a P500 ROM compatible and usable on P350. To do this, you need to alter some files and a few codes in build.prop which will be explained in a detailed way in this tutorial. If you face any issues, feel free to comment below.
I have not created this guide but I am sharing this on the request of the loyal readers of my blogs. Thanks to Keyur for this guide. If you feel that my guide is helpful, kindly do not mind linking back to this guide after creating a successful ROM. This will boost my morale and will also educate other people who wish to become Android developers.
The credit to teach me about porting goes to Anton Ramirez who has been yet another faithful readers of my blog and the one who demonstrated the whole process in front of me using TeamViewer.
Guide to Port ROMs to LG P350
As I already mentioned, porting means making a ROM compatible and usable on your device. This means that you need to change (or) replace files in ROM that you wish to port.
In this guide, I will consider that you are porting the ROM from LG P500, but you can also port ROMs from any other device that has similar hardware as that of P350.
The terminology that I will use in this guide would be as follows:
Port – The ROM that you wish to port to our device is known as “Port”. You need to download P500 ROM which will be the Port. The Port is modified using files from Base.
Base ROM – A perfectly working ROM for LG P350, preferable CyanogenMod ROM. You can find some working ROMs for P350 at Hack My Android Forums.
I have made a video of this on the second page.
How To Choose the Base ROM
There are various sources of ROMs like CyanogenMod, AOSP, AOKP, etc. If the Port is an AOSP ROM, the base ROM you choose must also be AOSP. You can not choose CyanogenMod as the based if you are porting an AOSP ROM. So make sure you choose the right base ROM which is fully working. If your base ROM has a bug, the ROM that results from this whole process will have the same bug.
- Windows or Linux or Mac, any of these can be used.
- Winrar for Windows and a similar software to extract .zip files in Linux and Mac.
- Notepad++ for editing build.prop You can use any text eidtor but Notepad++ is what I prefer.
Download the Port ROM and the Base ROM in a separate folder in your Computer. Extract the files of both the ROMs in the same folder. Rename the folder of the base ROM as “Base” and the port ROM’s folder as “Port”. So now you have 2 zip files and 2 folders.
If you are on Windows, you do not need to extract as your can easily drag and drop files from one Zip file to the other using Winrar, however, extracting is preferable if this is your first time. But if you can do it within Winrar, you need not use Kitchen to sign zip files.
Open the Base folder and Port folder in two separate folders.
Replace boot.img from the base folder to port folder. If you do not do this, it will result in kernel panic.
Please note that all the files in this tutorial will be copied from a folder in base to another folder in port which has the same name. For example, files from bin folder in base should be pasted into bin folder of port and NOT within any other folder.
Open system/bin in base folder and port folder. Copy the following files from the /system/bin base folder to /system/bin port folder. When you copy files in this way, you will be asked to either “overwrite” /“replace” the files in port folder or just skip copying. Make sure you replace or overwrite.
Now open /system/etc folder in base and port folder. Delete the following folders in /system/etc in port and then copy the same folders from base and paste it into etc folder of the port.
Copy the following files from etc folder of base to etc folder of port
Now open /system/lib folder in base and port. Delete the following folder from port and copy the same folders from base to port.
After you are done with the folders, replace the following files in /system/lib port folder with the same files from the /system/lib base folder.
Open /system/usr folder in both base and port. Delete the following folders in port and copy the same folders from usr folder of base to usr folder of port.
Up next, you need to open /system/xbin folder in base and port and replace the following files in port folder with the same files from the base folder:
You are now done with the copy paste work. The only thing which remains is the build.prop modification. build.prop is a file that is located in system folder of the ROM. This files defines your ROM. Changing the values in this file will change the name of the ROM and device.
Open build.prop of both base and port and replace the following values in port with that from base.
You must be knowing that LG Optimus One has a bigger screen than Optimus Me. So it is necessary that you change the LCD Density of the Port ROM. The change can be understood from the following two images:
Add the following two lines in the build.prop of the port folder at the end or anywhere else. You can get the exact position from the base build.prop:
Save build.prop of port folder.
So now your ROM is ready to be used. You need to sign the zip file which can be done using Kitchen. To setup kitchen and use it, check this or use an online kitchen. If you do not understand any of these, drop a comment below and based on the feedback I receive, I will release a video tutorial to set up Kitchen on Windows.
If your ROM does not work, try to replace the whole lib folder from base to port.
If you face any issues, feel free to comment below or head over to the original thread for an intensive discussion.
Watch the video in 720p for better details