[Dev] Development of Non-Carrier Specific Roms [Universal Roms For All Carriers]

Search This thread

incubus26jc

Inactive Recognized Developer
Feb 12, 2009
4,094
3,569
Illinois
It's not that Aroma is no longer supported. The author broke his phone and can't test updates any more until he replaces it.

And Aroma zip files are flashed in CWM (or whatever other custom recovery you are using) so there's no dependency, at least as far as I understand your meaning.

EDIT: Just noticed you were talking about Amon RA, which is another recovery program. Aroma and Amon RA are two entirely different things. Aroma installers can be flashed with CWM, Amon RA, and TWRP recoveries. I've used them on all three, as well as a few others.

lol, your right. I was reading wrong. I did not read. Aroma not Amonra. Feel like an idiot
 
Last edited:

naturefreak85

Senior Member
Jun 18, 2007
932
155
Boca Raton
I like the second suggestion , that way we can pick any existing Rom flash it and then flash the carrier specific zip. This is exactly what we had with at&t galaxy s ii, not sure who the dev was , but it worked great and we were able to use all the roms from the international s sii

Sent from my SAMSUNG-SGH-I747 using xda premium

I'm pretty sure you speak of Hellraiser by Entropy512
 

incubus26jc

Inactive Recognized Developer
Feb 12, 2009
4,094
3,569
Illinois
Lol. Easy to do. I might be able to help out but without device in hand I cant do any real work.

Sent from my HTC One X using Tapatalk 2

I know what you mean. It looks like mine will get shipped July 9th/10th and arrive 11th/12th :(

I can't wait to dig in.

yes pirate is right, what we can do is in script we can have assert written up so it will see what model it is and it will give u option for that model.

That would be very nice. Thanks for all the help guys. I think we could do great things for this device.
 
Last edited:

myn

Retired Senior Recognized Developer
Nov 15, 2007
2,679
3,985
Might I suggest that whoever comes up with this use Aroma (http://xdaforums.com/showthread.php?t=1646108) for the installer. That way you COULD put all the stuff for the various carriers in the same zip, and use programming or user input to install only the items that pertain to a particular carrier. You would not need to flash multiple files.

For instance, just pick "AT&T" or "T-Mobile" (etc.) from an onscreen menu and hit Next. Not sure, but Aroma may even be able to programmatically tell what the current carrier is and then automatically flash the correct info with NO user input. The beauty is that you can also have options to flash particular programs, tools, etc. based on user input as well.

I know the dev for Aroma has stopped for awhile, but a lot of roms have been using it anyway...

EDIT: Well, from the time I started typing my post and the time I finished it, two others came up with the same idea :p

yes pirate is right, what we can do is in script we can have assert written up so it will see what model it is and it will give u option for that model.

Yup.

Here is how we handled it in Warm TwoPointThree to support both the GSM and CDMA versions of the EVO 3D. This was all done in an updater-script.

Code:
#Mounting
ifelse(
    getprop("ro.product.device") == "shooter",
    (
        mount("ext4", "EMMC", "/dev/block/mmcblk0p23", "/system");
    )
);


ifelse(
    getprop("ro.product.device") == "shooteru",
    (
        mount("ext4", "EMMC", "/dev/block/mmcblk0p22", "/system");
    )
);


ifelse(
    getprop("ro.product.device") == "shooter",
    (
        mount("ext4", "EMMC", "/dev/block/mmcblk0p24", "/data");
    )
);


ifelse(
    getprop("ro.product.device") == "shooteru",
    (
        mount("ext4", "EMMC", "/dev/block/mmcblk0p23", "/data");
    )
);

#Install Device Files
ifelse(
    getprop("ro.product.device") == "shooter",
    (
        package_extract_dir("devices/shooter/system", "/system");
    ),
        package_extract_dir("devices/" + getprop("ro.product.device") + "/system", "/system");
);

ifelse(
    getprop("ro.product.device") == "shooteru",
    (
        package_extract_dir("devices/shooteru/system", "/system");
    ),
        package_extract_dir("devices/" + getprop("ro.product.device") + "/system", "/system");
);

You can see the full updater-script here

So to this point I wonder if ro.product.device returns something different for each carrier device? If not we need another unique identifier.

If folks can
Code:
 adb shell
 getprop ro.product.device
and let us know what carrier they are on and what the getprop returns, we could determine this.
 
Last edited:

incubus26jc

Inactive Recognized Developer
Feb 12, 2009
4,094
3,569
Illinois
The above method did work very well with Warm twopointthree.

Devs can include all carrier files and updater.script changes in every rom in this forum. GSM or CDMA.

We will give access to all carrier files to any dev as soon as we complete the diffs.
 
Last edited:
  • Like
Reactions: myn

incubus26jc

Inactive Recognized Developer
Feb 12, 2009
4,094
3,569
Illinois
Yup.

Here is how we handled it in Warm TwoPointThree to support both the GSM and CDMA versions of the EVO 3D. This was all done in an updater-script.

Code:
#Mounting
ifelse(
    getprop("ro.product.device") == "shooter",
    (
        mount("ext4", "EMMC", "/dev/block/mmcblk0p23", "/system");
    )
);


ifelse(
    getprop("ro.product.device") == "shooteru",
    (
        mount("ext4", "EMMC", "/dev/block/mmcblk0p22", "/system");
    )
);


ifelse(
    getprop("ro.product.device") == "shooter",
    (
        mount("ext4", "EMMC", "/dev/block/mmcblk0p24", "/data");
    )
);


ifelse(
    getprop("ro.product.device") == "shooteru",
    (
        mount("ext4", "EMMC", "/dev/block/mmcblk0p23", "/data");
    )
);

#Install Device Files
ifelse(
    getprop("ro.product.device") == "shooter",
    (
        package_extract_dir("devices/shooter/system", "/system");
    ),
        package_extract_dir("devices/" + getprop("ro.product.device") + "/system", "/system");
);

ifelse(
    getprop("ro.product.device") == "shooteru",
    (
        package_extract_dir("devices/shooteru/system", "/system");
    ),
        package_extract_dir("devices/" + getprop("ro.product.device") + "/system", "/system");
);

You can see the full updater-script here

So to this point I wonder if ro.product.device returns something different for each carrier device? If not we need another unique identifier.

If folks can
Code:
 adb shell
 getprop ro.product.device
and let us know what carrier they are on and what the getprop returns, we could determine this.

Updated OP with this information.
 

neyenlives

Senior Member
Oct 11, 2010
3,415
868
I would just like to mention, instead of it self identifying and flashing what it detects as the right carrier specific files, please at least give it a user triggered confirmation screen with opt out. In other words, if it detects my phone as SCH-i585, have it tell me that and let me choose OK DO IT or NO DON'T DO IT......just in case it detects incorrectly

obviously if it were an unattended type process you wouldn't even have the chance to say no, so that seems rather undesirable to me, no need to take on extra risk in order to not make one more selection, I don't think anyone flashing a custom rom is going to start it and then walk away from it....

wish I had a device to help pull info from....
 

Pirateghost

Inactive Recognized Developer
Jul 24, 2010
11,696
8,703
androidninjas.com
I would just like to mention, instead of it self identifying and flashing what it detects as the right carrier specific files, please at least give it a user triggered confirmation screen with opt out. In other words, if it detects my phone as SCH-i585, have it tell me that and let me choose OK DO IT or NO DON'T DO IT......just in case it detects incorrectly

obviously if it were an unattended type process you wouldn't even have the chance to say no, so that seems rather undesirable to me, no need to take on extra risk in order to not make one more selection, I don't think anyone flashing a custom rom is going to start it and then walk away from it....

wish I had a device to help pull info from....

Aroma is far from a completely automated process. basically, scripting can be put in place that will not ALLOW you to flash something that is not compatible

process similar to:
Aroma identifies your device, and directs you to the appropriate installation path, completely hiding all non-compatible options, but of course with a failsafe that allows you to say, "my device is not an SGH-i747", but the default action should be to hide other options from you.
 
  • Like
Reactions: jr71x

neyenlives

Senior Member
Oct 11, 2010
3,415
868
Aroma is far from a completely automated process. basically, scripting can be put in place that will not ALLOW you to flash something that is not compatible

process similar to:
Aroma identifies your device, and directs you to the appropriate installation path, completely hiding all non-compatible options, but of course with a failsafe that allows you to say, "my device is not an SGH-i747", but the default action should be to hide other options from you.

sound perfect, yeah, I am not familiar with Aroma, everything I have done on Samsung handsets has been Clockwork Recovery or more commonly Odin flashed, so there is no GUI or Q & A process....it's manual everything, so you had to know you were doing the right thing, but it seemed far more reliable than the Recovery flashed methods
 

Pirateghost

Inactive Recognized Developer
Jul 24, 2010
11,696
8,703
androidninjas.com
sound perfect, yeah, I am not familiar with Aroma, everything I have done on Samsung handsets has been Clockwork Recovery or more commonly Odin flashed, so there is no GUI or Q & A process....it's manual everything, so you had to know you were doing the right thing, but it seemed far more reliable than the Recovery flashed methods

CWM is still used. AROMA just takes on the task of presenting you with a GUI installer. if you havent seen it in any of the roms you have run on other devices, you are missing out.

i imagine there will be some good options in the near future for this device.


This is from my rom on the SGH-i777
http://xdaforums.com/showpost.php?p=22881494&postcount=3
 
  • Like
Reactions: neyenlives

neyenlives

Senior Member
Oct 11, 2010
3,415
868

jr71x

Senior Member
Jul 17, 2008
892
144
Des Moines
@ pirate, my thoughts exactly=thanks... like some kind of check sum...

Sent from my SPH-L710 using xda app-developers app
 

Top Liked Posts

  • There are no posts matching your filters.
  • 61
    Multi-2-1.jpg


    Developers,

    The Objective of this thread is to create a solution for flashing any rom on any carrier's GS3. (Us/Canada)

    Every Rom on Every Carrier Will Be Supported.

    Warm Roms developed by Myn, Myself and the rest of the Warm Team will be available on all carriers.

    I will keep the OP updated.

    Thanks, Incubus



    First,

    We need to Determine the Diffs and Seperate what each carriers device needs.

    We will create an SVN Repo For Carrier Files.

    We will Use An Updater.script and include all carrier files with in the Rom.zip and allow the script to determine the device and install the appropriate carrier files.

    Any rom dev who wants to use this would place a folder in the rom.zip called "Devices" with all the carrier files seperated by sub-folders (Sprint, Verizon etc...)
    The script would call for "Sprint" and install the carrier files from that sub- folder overtop of any carrier files that a rom might have in it. (boot.img, apns, libs etc...)

    Example updater.script from Warm twopointthree on the Evo 3d. Worked very well.

    Code:
    #Mounting
    ifelse(
        getprop("ro.product.device") == "shooter",
        (
            mount("ext4", "EMMC", "/dev/block/mmcblk0p23", "/system");
        )
    );
    
    
    ifelse(
        getprop("ro.product.device") == "shooteru",
        (
            mount("ext4", "EMMC", "/dev/block/mmcblk0p22", "/system");
        )
    );
    
    
    ifelse(
        getprop("ro.product.device") == "shooter",
        (
            mount("ext4", "EMMC", "/dev/block/mmcblk0p24", "/data");
        )
    );
    
    
    ifelse(
        getprop("ro.product.device") == "shooteru",
        (
            mount("ext4", "EMMC", "/dev/block/mmcblk0p23", "/data");
        )
    );
    
    #Install Device Files
    ifelse(
        getprop("ro.product.device") == "shooter",
        (
            package_extract_dir("devices/shooter/system", "/system");
        ),
            package_extract_dir("devices/" + getprop("ro.product.device") + "/system", "/system");
    );
    
    ifelse(
        getprop("ro.product.device") == "shooteru",
        (
            package_extract_dir("devices/shooteru/system", "/system");
        ),
            package_extract_dir("devices/" + getprop("ro.product.device") + "/system", "/system");
    );

    So to this point I wonder if ro.product.device returns something different for each carrier device? If not we need another unique identifier.

    If folks can
    Code:
     adb shell
     getprop ro.product.device
    and let us know what carrier they are on and what the getprop returns, we could determine this.

    As soon as we obtain all the carrier files and put them into there proper layout, we will provide all files and code necessary to make your rom compatible with all carriers.
    8
    Might I suggest that whoever comes up with this use Aroma (http://xdaforums.com/showthread.php?t=1646108) for the installer. That way you COULD put all the stuff for the various carriers in the same zip, and use programming or user input to install only the items that pertain to a particular carrier. You would not need to flash multiple files.

    For instance, just pick "AT&T" or "T-Mobile" (etc.) from an onscreen menu and hit Next. Not sure, but Aroma may even be able to programmatically tell what the current carrier is and then automatically flash the correct info with NO user input. The beauty is that you can also have options to flash particular programs, tools, etc. based on user input as well.

    I know the dev for Aroma has stopped for awhile, but a lot of roms have been using it anyway...

    EDIT: Well, from the time I started typing my post and the time I finished it, two others came up with the same idea :p

    yes pirate is right, what we can do is in script we can have assert written up so it will see what model it is and it will give u option for that model.

    Yup.

    Here is how we handled it in Warm TwoPointThree to support both the GSM and CDMA versions of the EVO 3D. This was all done in an updater-script.

    Code:
    #Mounting
    ifelse(
        getprop("ro.product.device") == "shooter",
        (
            mount("ext4", "EMMC", "/dev/block/mmcblk0p23", "/system");
        )
    );
    
    
    ifelse(
        getprop("ro.product.device") == "shooteru",
        (
            mount("ext4", "EMMC", "/dev/block/mmcblk0p22", "/system");
        )
    );
    
    
    ifelse(
        getprop("ro.product.device") == "shooter",
        (
            mount("ext4", "EMMC", "/dev/block/mmcblk0p24", "/data");
        )
    );
    
    
    ifelse(
        getprop("ro.product.device") == "shooteru",
        (
            mount("ext4", "EMMC", "/dev/block/mmcblk0p23", "/data");
        )
    );
    
    #Install Device Files
    ifelse(
        getprop("ro.product.device") == "shooter",
        (
            package_extract_dir("devices/shooter/system", "/system");
        ),
            package_extract_dir("devices/" + getprop("ro.product.device") + "/system", "/system");
    );
    
    ifelse(
        getprop("ro.product.device") == "shooteru",
        (
            package_extract_dir("devices/shooteru/system", "/system");
        ),
            package_extract_dir("devices/" + getprop("ro.product.device") + "/system", "/system");
    );

    You can see the full updater-script here

    So to this point I wonder if ro.product.device returns something different for each carrier device? If not we need another unique identifier.

    If folks can
    Code:
     adb shell
     getprop ro.product.device
    and let us know what carrier they are on and what the getprop returns, we could determine this.
    8
    All of it could be accomplished using aroma installer. One zip, different radio and lib options depending on what you select in the installer. Easy to do in my opinion.

    Sent from my HTC One X using Tapatalk 2
    4
    Off the top of my head, the easiest thing to do after figuring out all the differences is to use Aroma Installer and have it ask which carrier the phone is on, and have it flash any specific files from there along with the rom.