[HOW TO][4.2.2+] Port Custom Roms From Other OMAP 4 Devices (REVAMPED!)

Search This thread

Aceofzeroz

Senior Member
Introduction
Greetings Atrix 2 community!:cool: I'm here to guide you the best I can to being able to port custom (not stock) roms that aren't available for the Atrix 2 from other Mototrola OMAP 4 devices, such as the Droid RAZR, Droid 4, etc. It may not be limited to only Motorola phones, but rule #1 of porting is that the CPU HAS TO BE THE SAME OR VERY SIMILAR! Rule #2 is that you can ONLY port from the same android custom rom version, e.g. 4.2.2 - 4.2.2, not 4.3 to 4.2.2, etc. due to major file differences in most cases. (More rules are mentioned within the linked guides) Rule #3 is that they have to either be GSM band or be able to completely convert from CDMA to GSM though patch.

Wait a sec, what do you mean by "porting roms"??? This link will help you get started on knowing what you'll be learning to do here. The top benefit to all of this is to provide yourself with roms from other compatible devices as well as learn what happens behind the scenes in a custom rom.:) I recommend that you try porting GSM Droid Razr/UMTS_Spyder roms to get yourself into it before attempting any other device.

Now that's out of the way, in this tutorial/guide, I'll be making a lot of reference links to save some time explaining certain steps since that's where I learned how to do this. I take no credit for each OP's guide and all credit goes to them and others who assisted, I'm just sharing. :D If you want to see a successfully ported example, go to page 2 of this thread.
;)



"ENOUGH TALK, LET'S DO THIS!!!" ...is what all will be saying while reading my boring intro, but the next section is something you need to read, don't say I didn't warn you!


Disclaimer and Precautions​
>This is a risk YOU are taking, you will be possibly voiding YOUR warranty and may even brick YOUR phone due to lack of instruction following
>I am not a developer, just a normal user who wants to share something useful.
>I am not responsible for whatever happens during your port projects, nor are any of the other guide OPs and so on. MAKE BACKUPS!!!
>This is a choice, your choice, I'm not forcing anyone to do this so please use your head when you want to blame.
>USE BOOT MENU MANAGER (by Team Lens from the play store), NOT ATRIX 2 BOOTSTRAP PLEASE!!!!!!!!!!!
:mad:
>After installing and setting up BMM, MAKE SYSTEM PARTITIONS (3-6) AND USE ONLY THEM FOR FLASHING WHILE TESTING, i.e. DO NOT FLASH ON SYSTEM 1 (in case of bootloop or worse).
>Do not flash with JBX kernel until you are able to get your ported kexec rom at least 95% functional. You may test it afterwards.
>Ported roms will have the same bugs as they had for their corresponding device and they won't fix any of our bugs (maybe).
>Some roms require more specific actions to successfully port them with everything working (MIUI, PA, etc.) and from other devices outiside your own.




Porting Tools Needed
1. A Brain with an open mind (CRUCIAL)
2. Time and patience for trial and error (VERY CRUCIAL, so if you don't have enough, try again when you do)
3. A Good amount of disk space, so if you have less than 1gb available, DELETE SOME OF THAT PORN!!!:laugh:
4. A file comparison tool; use WinMerge for Windows or Meld for Ubuntu
5. A compression tool such as WinRar, 7zip, or any other that can make .zip files (typical rom extension)
6. Notepad++ (for editing file scripts)
7. A rooted Atrix 2 that is on at least 4.04 ICS stock kernel, NOT GB!
8. Boot Menu Manager Recovery with an unused System set up for testing your port



NOW we're ready to begin Porting!:p
There are many ways to port roms, however there are 2 main categories of porting methods:

The Basic Porting Method - Using the Base (Previously known as Method 1)

Basically follow all the instructions in this thread for using the working base rom. I highly recommend using the port rom's corresponding base (CM, AOKP, PA, etc), unless you're porting a rom that we already have but want to update it. This is another good guide that has similar instructions.

*NOTE*: This method rarely ever works for our OMAP devices, but other device users might benefit from it.:good:



The Actually Working Porting Methods - Using the Port itself (Previously known as Method 2)

This style of porting has proven to work for all the roms the A2EPT has ported thus far for all Moto OMAP4 android versions. However, for the sake of organization I will outline furter devisions in the methods used for general and specific cases. These methods will be called the Motorola Porting Methods (MPM), but can be useful to any other device based on recent feedback.



Motorola Porting Method 1 (MPM1) - This will outline the surefire steps that will usually port roms from our Moto OMAP cousins with everything functional!:good::cool:


These steps below involve a lot of copy and paste using your comparison tool of choice: ('unique'=files on either left or right alone)

>Start off with the updater script, compare the ones for your base and port and copy only the single line differences from base to port.

>After you copy everything except those consecutive lines to the port's updater_script, now go to system/etc and copy apns_config, mkshrc, firmware folder and all unique items from base to port.

>Next, head on over bin and copy over all unique unique bin files over to your port, then copy rild.bin over as well and that's all.

>Next victim is the most influential one; LIB FOLDER! Starting off with the hw folder, copy all the edison.so files over to you port rom.

>Afterwards, replace the entire modules folder and copied over all unique lib*.so from base to port.

>Locate all libs with ril in their names and replace the ones in your port

>Now head onto the xbin folder, and copy over all unique files from base to port.

>That should do it for xbin, so now head on back to /sysem and copy the entire vendor folder, then do the same for usr.

>Finally, build.prop is your last stop and to make it simple for everyone, download and use this sample build.prop as a guide for what lines you should always replace: Sample build.prop




Motorola Porting Method 2 (MPM2) - This is specifically for all Moto OMAP 4.3/4.3.1/4.4+ roms and others that need to replace the storage_list.xml such as the Droid 4 and Droid Bionic (previously called Method 2.5 behind the scenes :p):

>Perform all the steps in MPM1 on the desired 4.3 or whatever rom that needs the replacement.

>In a working 4.3/4.3.1/etc. rom for the A2, open system/framework/framework-res.apk with winrar or any other file compression tool.

>Look for the storage_list.xml file in /res/xml and extract it to your Desktop (or wherever you want)

>Now open your corresponding 4.3+/etc. port rom and navigate all the way to the /xml folder in framework-res.apk

>Take your extracted storage_list file and replace the one in the port with it, AND THAT'S IT!!:cool:

>Test to see if it is actually booting and as long as you can get to the setup screen without bootlooping, you are home-free!;)



!NEW UPDATE VIDEO!: I received a suggestion to actually show how to do the above Moto porting methods, now that I got the time, I have done just that for all those who were having a hard time with following my steps!:D:cool: Here it is for all who are interested:Turorial Video, it's 27 minutes of hearing my boring voice so prepare yourselves!:laugh::p



Common Challenges with Porting (experiences may vary)

This sorta depends on which method you used to port you rom, but I'll list all the typical expected problems I at least faced and (possible) solutions:

Issues Faced with Both Methods:
1. The rom doesn't boot past the boot animation - this may be due to the updater script's permissions and/or build.prop mistakes, so make sure everything is in place according to the instructions.

2. It boots to the setup screen but there are numerous crashes, then it bootloops - this is a system/app, /lib or /etc problem and you may have to try replacing the android_server.so and media_jni.so from the ported rom, but a logcat may be needed.

3. "YIPPEE, IT BOOTED PAST SETUP, but where is my signal?" - Baseband issues *sigh*, its very tricky to get this part so you may either need to move signal and modem-related files from your base to your port and check build.prop

4. "My SD card won't mount?! D:" - This can be fixed by going into your ported rom and opening system/framework/framework-res.apk with WinRar/7zip then go to res/xml/storage_list.xml and open it. Then go to vold.fstab in system/etc and make sure that the 'sdcard' numbers are the same, e.g. sdcard0, sdcard1, etc.

5. "WTF, I'm not rooted/ o_O" - LOL, I experienced this in porting the kitkat rom below using the 1st Method. xD If that's the case, you need to copy these files from /lib in port to base: libandroid_runtime.so, libcutils.so, libbinder.so, libutils.so, libsqlite.so and libsqlite_jni.so.

6. "Ok, I have signal and most things working but x always FCs"- at this point, you're a bit better off and that can be solvable if you specify what it is in this thread. :)

All other problems may need logcat, but before posting them here, search in this thread yet again to see if they were solved.



Credits are Needed!!! :D


  • Credits go to the OP's of these guide threads
  • XDA and Google search for when I was lost as a lamb xD
  • qkdxorjs1002 for his Carbon Rom 4.4.1 kitkat (below)
  • alteredlikeness, Ravikirancg, deveshmanish, dtrail1, all Motorola OMAP 4 developers and rom maintainers/porters.
  • Respective custom rom developers; CM, PA, PACMan, AOKP, Carbon Rom, Liquid Smooth, etc.
  • My curiosity and stubbornness (LOL, kidding).
  • And last but not least, the Atrix 2 community for providing a noob like me with the best first android experiences I never expected!:D
 
Last edited:

Aceofzeroz

Senior Member
Proof!!!

Screenshots
Screenshot_2013-12-10-21-33-59.jpgScreenshot_2013-12-09-15-01-39.jpgScreenshot_2013-12-09-15-17-14.pngScreenshot_2013-12-09-15-17-26.png

Examples
Currently I could only upload this due to slow bandwidth, but I will upload the Non-kexec Liquid Smooth another time (I can re-kexec it on request).:good::D

Carbon 4.4.1 Using the Atrix 2 CM 11 as a Base rom (Update on trying this out - it works ok enough but has some issues if you reboot it sometimes so don't use it as a daily driver, just a reference point!)

~UPDATE~: Alrighty, I managed to upload the ported 4.2.2 Liquid Smooth v2.9 that I made using the 2nd Method. It's my current daily driver as it's really stable for the most part, it has new transition animations and it's non-kexec so it has very good battery life! :D:good: (Note: Do not flash JBX kernel with this, it won't work!)

Liquid Smooth v2.9 using the 2nd Conversion Method, grab it and enjoy!


[Small Backstory]Just last week, I became curious in wanting to know how to port a rom after learning how to de-kexec them thanks to our own alteredlikeness and Ravikirancg. So most of last week I went about trying to port the last 4.2.2 version of Liquid Smooth v2.9 rom since our original porter, deveshmanish, can no longer do so. So since we had LS v2.8, I felt it wouldn't hurt to try, but it was much more challenging than I thought!:eek: But I continued to persevere and eventually I successfully ported it which will be shared in this tutorial.;) [/Small Backstory]
 
Last edited:

Aceofzeroz

Senior Member
Samsung Galxay Roms Incoming!

Reserved for anything else I need to add!:laugh: ~New Update, now I have something to add~;)

Samsung Galaxy OMAP 4 Porting (Galaxy S2-I9100G and the Galaxy Nexus - all variants!)

In this post, I'll be Introducing the porting methods me and my team have made for porting roms from these two S. Galaxy phone series. The methods are basically the ones used for the Moto OMAP phones as well but with additional steps that are needed for full/almost full functionality.:good::cool: (NB:eek:nly rom versions up to 4.3.1 can be ported with methods 2 and 3, 4.4+ roms cannot be ported at this time).

Notes about Samsung Galaxy ROMS:
  1. Porting from these two phones has a higher difficulty than Moto phones in some cases, so patience is NEEDED!
  2. On startup they will have all sound options enabled
  3. The Galaxy Nexus-based roms will have the Nav bar on startup
  4. Their battery charging lights are always enabled (should be able to turn that off in Settings)
  5. Samsung-unique features don't work on our phone (duh):p
  6. On some roms, the lcd density will be high (large screen items) but they have dpi settings so don't panic lol
  7. Only a few roms still don't have the 1% battery hack, so if you don't mind that then great! :)

Samsung Galaxy Porting Method 1 (SGPM1) - The "Preview Method".:cyclops:
I'll write this and the other methods in more detail when I revamp my thread in the coming month. But basically this can be done by doing the same steps in the 2nd Porting Method along with the additional steps I stated for getting 4.3/4.3.1 roms to boot (replacing the storage list). It is HIGHLY recommended that you use bases from our phone that are most compatible with the rom you want to port based on their sources.

Why is it called the "Preview Method"? Simple, because you won't be able to use the rom with some of our components working like audio, camera and wifi. However, if you want to get wifi working then replace these additional files after you've replaced the ones above:
  • In /system/bin, replace the two wpa binaries
  • In /system/etc, replace the entire wifi folder
  • And in /system/lib, replace lbhardware_legacy.so and libwpa_client.so

This method is applicable for all android versions based on our tests, but not all roms will boot even with this method, so keep that in mind. My personal advice is to test your port first without gapps to see if it boots and see what it has since gapps are pointless without wifi and audio. :p


Samsung Galaxy Porting Method 2 (SGPM2)- The "Lucky Porter".:fingers-crossed:

In this method for SG roms, the same steps for SGPM1 are involved except for further replacements that fully ports your SG rom with whatever is working in your base. This works for some roms but not all, so if it doesn't work for you then refer to SGPM3 below.



+Start off with modifying the updater script and build prop based these examples:

+After performing all the steps of SGPM1, go inside your system folder and replace the entire bin folder

+Afterwards, go inside the lib folder and replace everything except libandroid runtime, libandroid servers and libmedia jni.

+Make sure that the build.prop and updater script have everything in place, then you can zip the META_INF and system folders into a new rom zip and test away!

+If you're lucky enough to have it boot and the charging LED changes colour then you're at least very close to fully porting it if it didn't already do so!
:good:;)


Samsung Galaxy Porting Method 3 (SGPM3) - The "Advanced Porter".:eek:

This advanced method is for porting SG roms that would otherwise not works as desired with SGPM2 by either bootlooping, booting with endless FCs, etc.

#Alrighty, go to the app folder where the only thing you copy over is OMAP 4 parts.apk from your your base (and any other app you wish to add).

#Now onto the bin folder, in there you will copy over all unique files from the your base and these specific ones; adb, app process, atrace, dalvikvm, dbus-daemon (if present), mediaserver, rild, sensorservice, tfdaemon and the two wpa binaries.

#Next in the etc folder, you will copy over all unique files and folders except the entire permission folder, dhcpcd, security, updatecmds and ppp. Then go and copy the unique files inside the permissions and in init.d folders. Also if there's a paranoid folder present, use one of our pacman roms to replace it in there so that there are no dpi issues.

#Back in system folder, replace the entire usr and vendor folder, then go to framework to replace the storage list.xml in framework-res.apk/res/xml with the one in your base.

#Finally in the lib folder, replace all of the folders inside lib, then libaudio ext, libaudioflinger, libaudioeffect jni, libaudioutils, libbinder, libc, libcamera client, libcutils, libdl, libdomx, libexif, libhardware and hardware legacy, libjpeg, liblog, libmedia, libmm osal, all of the libOMX files, libril files, libsensorservice, libstagefrighthw, libutils, libwpa client and libz. For making non-kexec 4.2.2 roms, delete libedid.so and libselinux.so as well.

#Make sure that the build.prop and updater script have everything in place, then you can zip the META_INF and system folders into a new rom zip and test away!

#If it boots, has wifi and camera working but still no audio, then go back to your port folder, open system/lib and replace everything except libandroid runtime, libandroid servers and libmedia jni.




That's all for now, stay tuned for more from the A2EPT!:cool::D
 
Last edited:

Uzayr

Senior Member
Mar 3, 2013
403
494
Chennai
i had been working on porting for a while,
thanks ace, this guide really helped me a lot. and pointed out where i went wrong.

I have successfully ported ROM "X" i shall not name it yet ;), i'll keep it a suspense until i get the devs permission.
it's just a start for many things, right now i'm working on a few bugs.

thanks again ace for taking your time to share us your knowledge.
 

Aceofzeroz

Senior Member
i had been working on porting for a while,
thanks ace, this guide really helped me a lot. and pointed out where i went wrong.

I have successfully ported ROM "X" i shall not name it yet ;), i'll keep it a suspense until i get the devs permission.
it's just a start for many things, right now i'm working on a few bugs.

thanks again ace for taking your time to share us your knowledge.

You're welcome Uza :) and I'm very happy to hear that! Looking forward to what it is and I'll continue to help where this is concerned. :cool::thumbup:

Sent from the Ace's MB865 using xda-developers app
 

Uzayr

Senior Member
Mar 3, 2013
403
494
Chennai
i got baseband issues. could you point out where exactly are the baseband related files located?



Sent from my Edison powered by Magical Unicorn bytes
 

Uzayr

Senior Member
Mar 3, 2013
403
494
Chennai
i ported a KK rom using slimkat as base. everything works fine and perfect. just rrying to figure out the baseband issue.

i used the second method btw.



Sent from my Edison powered by Magical Unicorn bytes
 

Aceofzeroz

Senior Member
i ported a KK rom using slimkat as base. everything works fine and perfect. just rrying to figure out the baseband issue.

i used the second method btw.



Sent from my Edison powered by Magical Unicorn bytes
Ahh, well that's the thing about method 2; it can usually get almost everything working except baseband, which I could never get with Carbon KK :/. I highly recommend trying method 1 as well to see what works/doesn't work, but if Method 2 is really that good reread the Step 4 and 5 to make sure you got everything including what's in the build.prop. Good luck and report back whenever possible!:good:
 
Last edited:
  • Like
Reactions: spunxhoe

Uzayr

Senior Member
Mar 3, 2013
403
494
Chennai
method 1 gives bootloops, everytime. i tried it with the one im working and my previous projects.

if i found out a way past the bootloops that would be a progress
 

minhajlk

Senior Member
Apr 14, 2011
783
307
Colombo
Motorola Atrix 2
Google Nexus 5
Updated the OP and uploaded my first ported Liquid Smooth v2.9 (found on page 2 under Examples)! :cool:

Thank you so much Ace for the non-kexec Liquid Smooth ROM, it was my favorite ROM until SlimROM 4.3 showed up :). I am downloading now and hopefully use it as my daily as the battery life on these non-kexec are way too cool. Just a request Ace, any chance of you doing a non-kexec on SlimROM 4.3?

Keep up the good work and thanks for the Porting guide.:good:
 
  • Like
Reactions: Aceofzeroz

Aceofzeroz

Senior Member
Thank you so much Ace for the non-kexec Liquid Smooth ROM, it was my favorite ROM until SlimROM 4.3 showed up :). I am downloading now and hopefully use it as my daily as the battery life on these non-kexec are way too cool. Just a request Ace, any chance of you doing a non-kexec on SlimROM 4.3?

Keep up the good work and thanks for the Porting guide.:good:

You're welcome minh!;) I'd love to de-kexec 4.3 roms and above, but I'm afraid I can only do 4.2.2 since I use other non-kexec roms to do it and they all stopped at that version. :(

I'm not entirely sure since altered taught me, but it's because 4.3+ would probably use more updated file structures. Don't fret, I'll still give it a shot and let everyone know if it's doable. :D

Sent from the Ace's MB865 using xda-developers app
 

minhajlk

Senior Member
Apr 14, 2011
783
307
Colombo
Motorola Atrix 2
Google Nexus 5
You're welcome minh!;) I'd love to de-kexec 4.3 roms and above, but I'm afraid I can only do 4.2.2 since I use other non-kexec roms to do it and they all stopped at that version. :(

I'm not entirely sure since altered taught me, but it's because 4.3+ would probably use more updated file structures. Don't fret, I'll still give it a shot and let everyone know if it's doable. :D

Sent from the Ace's MB865 using xda-developers app

Thanks Ace. I am running no-kexec LiquidRom on system 4, the only problem I encountered so for is I can't install XDA Developer's app. I think it is something to do with external memory, other than that its great :). I'll run it for a couple of days and see for battery performance, usually no-kexec gives pretty good battery performance. I get about 2 days with moderate to heavy use, on Alt-CM10.1. :good:
 
  • Like
Reactions: Aceofzeroz

Top Liked Posts

  • There are no posts matching your filters.
  • 29
    Introduction
    Greetings Atrix 2 community!:cool: I'm here to guide you the best I can to being able to port custom (not stock) roms that aren't available for the Atrix 2 from other Mototrola OMAP 4 devices, such as the Droid RAZR, Droid 4, etc. It may not be limited to only Motorola phones, but rule #1 of porting is that the CPU HAS TO BE THE SAME OR VERY SIMILAR! Rule #2 is that you can ONLY port from the same android custom rom version, e.g. 4.2.2 - 4.2.2, not 4.3 to 4.2.2, etc. due to major file differences in most cases. (More rules are mentioned within the linked guides) Rule #3 is that they have to either be GSM band or be able to completely convert from CDMA to GSM though patch.

    Wait a sec, what do you mean by "porting roms"??? This link will help you get started on knowing what you'll be learning to do here. The top benefit to all of this is to provide yourself with roms from other compatible devices as well as learn what happens behind the scenes in a custom rom.:) I recommend that you try porting GSM Droid Razr/UMTS_Spyder roms to get yourself into it before attempting any other device.

    Now that's out of the way, in this tutorial/guide, I'll be making a lot of reference links to save some time explaining certain steps since that's where I learned how to do this. I take no credit for each OP's guide and all credit goes to them and others who assisted, I'm just sharing. :D If you want to see a successfully ported example, go to page 2 of this thread.
    ;)



    "ENOUGH TALK, LET'S DO THIS!!!" ...is what all will be saying while reading my boring intro, but the next section is something you need to read, don't say I didn't warn you!


    Disclaimer and Precautions​
    >This is a risk YOU are taking, you will be possibly voiding YOUR warranty and may even brick YOUR phone due to lack of instruction following
    >I am not a developer, just a normal user who wants to share something useful.
    >I am not responsible for whatever happens during your port projects, nor are any of the other guide OPs and so on. MAKE BACKUPS!!!
    >This is a choice, your choice, I'm not forcing anyone to do this so please use your head when you want to blame.
    >USE BOOT MENU MANAGER (by Team Lens from the play store), NOT ATRIX 2 BOOTSTRAP PLEASE!!!!!!!!!!!
    :mad:
    >After installing and setting up BMM, MAKE SYSTEM PARTITIONS (3-6) AND USE ONLY THEM FOR FLASHING WHILE TESTING, i.e. DO NOT FLASH ON SYSTEM 1 (in case of bootloop or worse).
    >Do not flash with JBX kernel until you are able to get your ported kexec rom at least 95% functional. You may test it afterwards.
    >Ported roms will have the same bugs as they had for their corresponding device and they won't fix any of our bugs (maybe).
    >Some roms require more specific actions to successfully port them with everything working (MIUI, PA, etc.) and from other devices outiside your own.




    Porting Tools Needed
    1. A Brain with an open mind (CRUCIAL)
    2. Time and patience for trial and error (VERY CRUCIAL, so if you don't have enough, try again when you do)
    3. A Good amount of disk space, so if you have less than 1gb available, DELETE SOME OF THAT PORN!!!:laugh:
    4. A file comparison tool; use WinMerge for Windows or Meld for Ubuntu
    5. A compression tool such as WinRar, 7zip, or any other that can make .zip files (typical rom extension)
    6. Notepad++ (for editing file scripts)
    7. A rooted Atrix 2 that is on at least 4.04 ICS stock kernel, NOT GB!
    8. Boot Menu Manager Recovery with an unused System set up for testing your port



    NOW we're ready to begin Porting!:p
    There are many ways to port roms, however there are 2 main categories of porting methods:

    The Basic Porting Method - Using the Base (Previously known as Method 1)

    Basically follow all the instructions in this thread for using the working base rom. I highly recommend using the port rom's corresponding base (CM, AOKP, PA, etc), unless you're porting a rom that we already have but want to update it. This is another good guide that has similar instructions.

    *NOTE*: This method rarely ever works for our OMAP devices, but other device users might benefit from it.:good:



    The Actually Working Porting Methods - Using the Port itself (Previously known as Method 2)

    This style of porting has proven to work for all the roms the A2EPT has ported thus far for all Moto OMAP4 android versions. However, for the sake of organization I will outline furter devisions in the methods used for general and specific cases. These methods will be called the Motorola Porting Methods (MPM), but can be useful to any other device based on recent feedback.



    Motorola Porting Method 1 (MPM1) - This will outline the surefire steps that will usually port roms from our Moto OMAP cousins with everything functional!:good::cool:


    These steps below involve a lot of copy and paste using your comparison tool of choice: ('unique'=files on either left or right alone)

    >Start off with the updater script, compare the ones for your base and port and copy only the single line differences from base to port.

    >After you copy everything except those consecutive lines to the port's updater_script, now go to system/etc and copy apns_config, mkshrc, firmware folder and all unique items from base to port.

    >Next, head on over bin and copy over all unique unique bin files over to your port, then copy rild.bin over as well and that's all.

    >Next victim is the most influential one; LIB FOLDER! Starting off with the hw folder, copy all the edison.so files over to you port rom.

    >Afterwards, replace the entire modules folder and copied over all unique lib*.so from base to port.

    >Locate all libs with ril in their names and replace the ones in your port

    >Now head onto the xbin folder, and copy over all unique files from base to port.

    >That should do it for xbin, so now head on back to /sysem and copy the entire vendor folder, then do the same for usr.

    >Finally, build.prop is your last stop and to make it simple for everyone, download and use this sample build.prop as a guide for what lines you should always replace: Sample build.prop




    Motorola Porting Method 2 (MPM2) - This is specifically for all Moto OMAP 4.3/4.3.1/4.4+ roms and others that need to replace the storage_list.xml such as the Droid 4 and Droid Bionic (previously called Method 2.5 behind the scenes :p):

    >Perform all the steps in MPM1 on the desired 4.3 or whatever rom that needs the replacement.

    >In a working 4.3/4.3.1/etc. rom for the A2, open system/framework/framework-res.apk with winrar or any other file compression tool.

    >Look for the storage_list.xml file in /res/xml and extract it to your Desktop (or wherever you want)

    >Now open your corresponding 4.3+/etc. port rom and navigate all the way to the /xml folder in framework-res.apk

    >Take your extracted storage_list file and replace the one in the port with it, AND THAT'S IT!!:cool:

    >Test to see if it is actually booting and as long as you can get to the setup screen without bootlooping, you are home-free!;)



    !NEW UPDATE VIDEO!: I received a suggestion to actually show how to do the above Moto porting methods, now that I got the time, I have done just that for all those who were having a hard time with following my steps!:D:cool: Here it is for all who are interested:Turorial Video, it's 27 minutes of hearing my boring voice so prepare yourselves!:laugh::p



    Common Challenges with Porting (experiences may vary)

    This sorta depends on which method you used to port you rom, but I'll list all the typical expected problems I at least faced and (possible) solutions:

    Issues Faced with Both Methods:
    1. The rom doesn't boot past the boot animation - this may be due to the updater script's permissions and/or build.prop mistakes, so make sure everything is in place according to the instructions.

    2. It boots to the setup screen but there are numerous crashes, then it bootloops - this is a system/app, /lib or /etc problem and you may have to try replacing the android_server.so and media_jni.so from the ported rom, but a logcat may be needed.

    3. "YIPPEE, IT BOOTED PAST SETUP, but where is my signal?" - Baseband issues *sigh*, its very tricky to get this part so you may either need to move signal and modem-related files from your base to your port and check build.prop

    4. "My SD card won't mount?! D:" - This can be fixed by going into your ported rom and opening system/framework/framework-res.apk with WinRar/7zip then go to res/xml/storage_list.xml and open it. Then go to vold.fstab in system/etc and make sure that the 'sdcard' numbers are the same, e.g. sdcard0, sdcard1, etc.

    5. "WTF, I'm not rooted/ o_O" - LOL, I experienced this in porting the kitkat rom below using the 1st Method. xD If that's the case, you need to copy these files from /lib in port to base: libandroid_runtime.so, libcutils.so, libbinder.so, libutils.so, libsqlite.so and libsqlite_jni.so.

    6. "Ok, I have signal and most things working but x always FCs"- at this point, you're a bit better off and that can be solvable if you specify what it is in this thread. :)

    All other problems may need logcat, but before posting them here, search in this thread yet again to see if they were solved.



    Credits are Needed!!! :D


    • Credits go to the OP's of these guide threads
    • XDA and Google search for when I was lost as a lamb xD
    • qkdxorjs1002 for his Carbon Rom 4.4.1 kitkat (below)
    • alteredlikeness, Ravikirancg, deveshmanish, dtrail1, all Motorola OMAP 4 developers and rom maintainers/porters.
    • Respective custom rom developers; CM, PA, PACMan, AOKP, Carbon Rom, Liquid Smooth, etc.
    • My curiosity and stubbornness (LOL, kidding).
    • And last but not least, the Atrix 2 community for providing a noob like me with the best first android experiences I never expected!:D
    11
    Proof!!!

    Screenshots
    Screenshot_2013-12-10-21-33-59.jpgScreenshot_2013-12-09-15-01-39.jpgScreenshot_2013-12-09-15-17-14.pngScreenshot_2013-12-09-15-17-26.png

    Examples
    Currently I could only upload this due to slow bandwidth, but I will upload the Non-kexec Liquid Smooth another time (I can re-kexec it on request).:good::D

    Carbon 4.4.1 Using the Atrix 2 CM 11 as a Base rom (Update on trying this out - it works ok enough but has some issues if you reboot it sometimes so don't use it as a daily driver, just a reference point!)

    ~UPDATE~: Alrighty, I managed to upload the ported 4.2.2 Liquid Smooth v2.9 that I made using the 2nd Method. It's my current daily driver as it's really stable for the most part, it has new transition animations and it's non-kexec so it has very good battery life! :D:good: (Note: Do not flash JBX kernel with this, it won't work!)

    Liquid Smooth v2.9 using the 2nd Conversion Method, grab it and enjoy!


    [Small Backstory]Just last week, I became curious in wanting to know how to port a rom after learning how to de-kexec them thanks to our own alteredlikeness and Ravikirancg. So most of last week I went about trying to port the last 4.2.2 version of Liquid Smooth v2.9 rom since our original porter, deveshmanish, can no longer do so. So since we had LS v2.8, I felt it wouldn't hurt to try, but it was much more challenging than I thought!:eek: But I continued to persevere and eventually I successfully ported it which will be shared in this tutorial.;) [/Small Backstory]
    7
    Samsung Galxay Roms Incoming!

    Reserved for anything else I need to add!:laugh: ~New Update, now I have something to add~;)

    Samsung Galaxy OMAP 4 Porting (Galaxy S2-I9100G and the Galaxy Nexus - all variants!)

    In this post, I'll be Introducing the porting methods me and my team have made for porting roms from these two S. Galaxy phone series. The methods are basically the ones used for the Moto OMAP phones as well but with additional steps that are needed for full/almost full functionality.:good::cool: (NB:eek:nly rom versions up to 4.3.1 can be ported with methods 2 and 3, 4.4+ roms cannot be ported at this time).

    Notes about Samsung Galaxy ROMS:
    1. Porting from these two phones has a higher difficulty than Moto phones in some cases, so patience is NEEDED!
    2. On startup they will have all sound options enabled
    3. The Galaxy Nexus-based roms will have the Nav bar on startup
    4. Their battery charging lights are always enabled (should be able to turn that off in Settings)
    5. Samsung-unique features don't work on our phone (duh):p
    6. On some roms, the lcd density will be high (large screen items) but they have dpi settings so don't panic lol
    7. Only a few roms still don't have the 1% battery hack, so if you don't mind that then great! :)

    Samsung Galaxy Porting Method 1 (SGPM1) - The "Preview Method".:cyclops:
    I'll write this and the other methods in more detail when I revamp my thread in the coming month. But basically this can be done by doing the same steps in the 2nd Porting Method along with the additional steps I stated for getting 4.3/4.3.1 roms to boot (replacing the storage list). It is HIGHLY recommended that you use bases from our phone that are most compatible with the rom you want to port based on their sources.

    Why is it called the "Preview Method"? Simple, because you won't be able to use the rom with some of our components working like audio, camera and wifi. However, if you want to get wifi working then replace these additional files after you've replaced the ones above:
    • In /system/bin, replace the two wpa binaries
    • In /system/etc, replace the entire wifi folder
    • And in /system/lib, replace lbhardware_legacy.so and libwpa_client.so

    This method is applicable for all android versions based on our tests, but not all roms will boot even with this method, so keep that in mind. My personal advice is to test your port first without gapps to see if it boots and see what it has since gapps are pointless without wifi and audio. :p


    Samsung Galaxy Porting Method 2 (SGPM2)- The "Lucky Porter".:fingers-crossed:

    In this method for SG roms, the same steps for SGPM1 are involved except for further replacements that fully ports your SG rom with whatever is working in your base. This works for some roms but not all, so if it doesn't work for you then refer to SGPM3 below.



    +Start off with modifying the updater script and build prop based these examples:

    +After performing all the steps of SGPM1, go inside your system folder and replace the entire bin folder

    +Afterwards, go inside the lib folder and replace everything except libandroid runtime, libandroid servers and libmedia jni.

    +Make sure that the build.prop and updater script have everything in place, then you can zip the META_INF and system folders into a new rom zip and test away!

    +If you're lucky enough to have it boot and the charging LED changes colour then you're at least very close to fully porting it if it didn't already do so!
    :good:;)


    Samsung Galaxy Porting Method 3 (SGPM3) - The "Advanced Porter".:eek:

    This advanced method is for porting SG roms that would otherwise not works as desired with SGPM2 by either bootlooping, booting with endless FCs, etc.

    #Alrighty, go to the app folder where the only thing you copy over is OMAP 4 parts.apk from your your base (and any other app you wish to add).

    #Now onto the bin folder, in there you will copy over all unique files from the your base and these specific ones; adb, app process, atrace, dalvikvm, dbus-daemon (if present), mediaserver, rild, sensorservice, tfdaemon and the two wpa binaries.

    #Next in the etc folder, you will copy over all unique files and folders except the entire permission folder, dhcpcd, security, updatecmds and ppp. Then go and copy the unique files inside the permissions and in init.d folders. Also if there's a paranoid folder present, use one of our pacman roms to replace it in there so that there are no dpi issues.

    #Back in system folder, replace the entire usr and vendor folder, then go to framework to replace the storage list.xml in framework-res.apk/res/xml with the one in your base.

    #Finally in the lib folder, replace all of the folders inside lib, then libaudio ext, libaudioflinger, libaudioeffect jni, libaudioutils, libbinder, libc, libcamera client, libcutils, libdl, libdomx, libexif, libhardware and hardware legacy, libjpeg, liblog, libmedia, libmm osal, all of the libOMX files, libril files, libsensorservice, libstagefrighthw, libutils, libwpa client and libz. For making non-kexec 4.2.2 roms, delete libedid.so and libselinux.so as well.

    #Make sure that the build.prop and updater script have everything in place, then you can zip the META_INF and system folders into a new rom zip and test away!

    #If it boots, has wifi and camera working but still no audio, then go back to your port folder, open system/lib and replace everything except libandroid runtime, libandroid servers and libmedia jni.




    That's all for now, stay tuned for more from the A2EPT!:cool::D
    5
    Hello peeps, I'm just bumping the thread with this message for things to come via the picture below:
    uploadfromtaptalk1390173975487.jpg

    ...muaha, muahahahahahahahaha!!:thumbup:;):cool:

    Sent from the Ace's MB865 using Tapatalk
    5
    Updated the OP and uploaded my first ported Liquid Smooth v2.9 (found on page 2 under Examples)! :cool: