1. TBacker's Avatar
    I posted this in one of the other threads, but thought it might benefit newbs who are trying to understand what's going on in these hybrids and leaks.

    This is my understanding of how the OS works. Thanks also to Thyth for clarifications which were used to edit this post.

    The sfi file (some call it the radio file but it's much more) contains essentially the core of the OS. It's the Blackberry kernel and the Java virtual machine (VM) that actually runs the programs. Think of it as similar to the Windows kernel. There's a version for each type of hardware, just like theres a Windows x86, 64 bit, embedded, etc. It interfaces directly with the hardware, runs the applications, and provides the means for applications to interact with the hardware of the device.

    COD files are multi-purpose containers that can hold programs, support data for programs, images, sounds, ringtones, etc.. The programs are run by the kernel / java VM contained in the sfi file. The applications interact with the user, hardware, network, and other applications by "talking" to the kernel. These are not just full applications like media player, the browser, etc., but little support apps like the keyboard GUI, launcher (Home), etc.

    The apps (from the CODs) will generally run on most kernels / VM's (from the sfi's), whether 9500 or 9530, as long as the app doesn't access a function that doesn't exist or is changed in the core (sfi). I believe the apps can only access hardware / be accessed by the hardware through the kernel.

    So upgrading the apps (CODs) without changing the kernel (sfi) will benefit those apps, but the core is the same. It may run better or worse because the apps are using the resources differently. It can have benefits when the apps improve, but can also cause problems if the apps call for new functionality that the old kernel doesn't have.

    The sfi can directly affect hardware performance (graphics, touch, click, radios, power use, etc) because it directly controls it. It can also benefit or detract from any apps running on top of it.

    The "Platform" version number refers to the sfi file - it is the platform that the rest of the OS operates on top of. The "Device Software" version refers to the supporting applications in the COD files.
    Last edited by TBacker; 04-20-09 at 09:46 PM. Reason: Updates & clarifications
    04-20-09 05:14 PM
  2. JRSCCivic98's Avatar
    I agree....
    04-20-09 05:16 PM
  3. howarmat's Avatar
    Sticky this please
    04-20-09 05:18 PM
  4. ddarvish's Avatar
    which made me ALWAYS wonder why we care about reporting the OS with the APP version and not the Platform version as that seems the more important file and keeping track of that version...
    04-20-09 07:48 PM
  5. TBacker's Avatar
    which made me ALWAYS wonder why we care about reporting the OS with the APP version and not the Platform version as that seems the more important file and keeping track of that version...
    The apps and platform both have big effects on the overall stability, so I would say they're almost equally important.

    That said, RIM's version numbering is set up to be easy for their internal development systems. I imagine different platform / app versions are tried internally before they're happy enough with a combination to package it and release it for outside testing. Plus, it's likely that there are separate teams for the apps v.s. the platform, each on their own track. The platform is written in a different language (C++) than the apps (java).

    I think the exe filenames contain a release number which refers to the platform/app combination. Not sure if it's vendor specific though. 4.7.0.75 for Verizon starts out with "9530AMEA_PBr4.1.7.0_rel107" before the platform and app versions.

    Maybe Radio or CX can confirm / deny this? If confirmed, I'll add this info to my original post in the hopes of being more complete for stickydom!
    Last edited by TBacker; 04-20-09 at 08:08 PM.
    04-20-09 07:55 PM
  6. Thyth's Avatar
    That's not entirely accurate. The SFI contains the BlackBerry kernel and the Java virtual machine (which includes the ~800 native calls for hardware control and media playback). The constituent elements of the SFI are loaded onto the device in stages.

    A COD is just a special Java module format to minimize resource duplication and storage size. A module is not necessarily an executable -- themes are modules that contain only resources. There are also library modules which have no entry point, but can be called upon by application modules.

    The kernel and JVM are written in C, and compiled for the ARM architecture.
    Culex316 likes this.
    04-20-09 08:19 PM
  7. TBacker's Avatar
    Well I was somewhat close I guess

    Thanks for the clarifications Thyth. I'll ammend my original post a bit to your credit.
    04-20-09 08:26 PM
  8. BlackStorm72's Avatar
    This is more of a reason why I'm staying on .12X and so forth. The building a hybrid is somewhat just wasting time.
    But it may benefit some peoples storms, its just not worth it to me.

    Posted from my CrackBerry at wapforums.crackberry.com
    04-20-09 08:26 PM
  9. Cosmo_Rulz's Avatar
    So what are people actually doing to their phone when they install a hybrid? It doesn't modify the .sfi file, right?
    04-20-09 08:29 PM
  10. TBacker's Avatar
    So what are people actually doing to their phone when they install a hybrid? It doesn't modify the .sfi file, right?
    They're running newer apps (COD's) on an older kernel (SFI's).

    It can have benefits when the apps improve, but can also cause problems if the apps call for new functionality that the old kernel doesn't have (or is incomplete).
    Last edited by TBacker; 04-20-09 at 09:00 PM.
    flyingsolid likes this.
    04-20-09 08:38 PM
  11. Cosmo_Rulz's Avatar
    Thanks for all the info....very informative.
    04-20-09 09:00 PM
  12. TBacker's Avatar
    I should add that the guys who are building hybrids are looking for the strongest support app COD's across several releases, testing them against a kernel, and if it works okay, releasing it as a complete hybrid.

    They're not a fully integrated OS as RIM would release it, and can be a bit unstable, but they're not a waste of time. It takes a lot of time and testing to mix all of those pieces, and they're doing the legwork for you. If you want the chance to see how your Storm can really shine, try one! If you want safety, stick with an official release. If you want advancement without quite as much risk, try a complete java folder hybrid (all COD's same version with the last good sfi).
    Last edited by TBacker; 04-20-09 at 09:33 PM.
    MassiveRican likes this.
    04-20-09 09:12 PM
  13. lyricidal's Avatar
    very nicely put,
    two thumbs up from me
    04-20-09 09:16 PM
  14. buru's Avatar
    Is Blackberry OS kernel a microkernel or a monolithic kernel?
    10-09-09 04:43 AM
  15. yhamaie's Avatar
    Dear TBacker,

    The sfi file (some call it the radio file but it's much more) contains essentially the core of the OS.

    COD files are multi-purpose containers that can hold programs, support data for programs, images, sounds, ringtones, etc..
    Do you happen to know what "S F I" and "C O D" stand for?


    P.S.

    I have learned that COD is somewhat explained in en.wikipedia.org/wiki/COD_(file_format).
    Last edited by yhamaie; 02-26-10 at 10:01 AM.
    02-26-10 09:45 AM
  16. f-castrillo's Avatar
    I had a general definition as to what .sfis and .cods were, but thanks for elaborating! NOW I get it
    02-26-10 12:04 PM
  17. Krypto's Avatar
    Dear TBacker,



    Do you happen to know what "S F I" and "C O D" stand for?


    P.S.

    I have learned that COD is somewhat explained in en.wikipedia.org/wiki/COD_(file_format).
    To answer this question, they are simply file extensions, just like .exe, .rar, .png, .zip, .msi, etc. Do you need it broken down further? (e.g. Like .exe is for executable?). If so, getting the exact reaons for the naming structures may take a little research. And in some cases, it may not have its roots in English.

    Posted from my CrackBerry at wapforums.crackberry.com
    02-26-10 01:43 PM
  18. nuvzbbuser's Avatar
    So theoretically, one hybrid should not have a better "radio" than another? The over all phone might run smoother but should not tweek the reception. Right?
    That being asked, is there anything that will increase the signal?
    I believe in the beginning a bad batch of storm 1s went out and I think I was one of those lucky receivers. I started with poor reception, and it only got worse with each update.
    Before this I tried every hybrid thinking it would help. But now I questioning that. Any ideas?

    Posted from my CrackBerry at wapforums.crackberry.com
    03-05-10 11:48 AM
  19. Krypto's Avatar
    Not theoretically. So long as the hybrids contain the same sfi file, they all have the same radio, period.

    If you are having signal problems, try updating your phone's PRL (preferred roaming list) as that may help. You can do that on Verizon by calling *228 and follow the prompts. Also, when loading the OSes, how have you been doing it? Have you loaded OSes on top of each other, or have you tried wiping the phone first. Wiping the phone first may help, although no guarantee.
    03-05-10 12:36 PM
  20. Krypto's Avatar
    strmtrooper, pass this one on to a mod for sticky consideration.
    03-05-10 03:29 PM
  21. nuvzbbuser's Avatar
    Not theoretically. So long as the hybrids contain the same sfi file, they all have the same radio, period.

    If you are having signal problems, try updating your phone's PRL (preferred roaming list) as that may help. You can do that on Verizon by calling *228 and follow the prompts. Also, when loading the OSes, how have you been doing it? Have you loaded OSes on top of each other, or have you tried wiping the phone first. Wiping the phone first may help, although no guarantee.
    I do the *228 option 1 and 2 often and unfortunately is has never helped. I did do the last 2 updates on top of each other without doing a wipe.
    I thought about that after I posted. I will try wiping it out.
    Thanks for the response. I will let ya'll know.
    03-05-10 05:21 PM
  22. patches152's Avatar
    *228 only helps for the signal while roaming. if you have a bad signal it's most likely the environment (house, mountains, trees, clunky shed you live in, whatever) or the location (network, towers, traffic, bandwidth/saturation, etc).

    if you're in your home location (based on your phone number) then the PRL doesn't change anything. the PRL (preferred roaming list) is a table of which towers to connect to when out of the home area. basically a priority list of which towers are available, and which ones to try in which order, that sort of stuff.

    if you have signal issues, revert back to the most recent supported OS, if it still persists, call your carrier and go through their troubleshooting.


    also, this forum is fail for not having this stickied. wtf are they doing?

    DAMN YOU, KEVIN!
    03-06-10 01:56 PM
  23. Tweak81's Avatar
    Bump it back up top.
    x2.......

    Posted from my CrackBerry at wapforums.crackberry.com
    03-09-10 06:12 AM
  24. The_Engine's Avatar
    I do the *228 option 1 and 2 often and unfortunately is has never helped. I did do the last 2 updates on top of each other without doing a wipe.
    I thought about that after I posted. I will try wiping it out.
    Thanks for the response. I will let ya'll know.
    Not sure if this still an issue for you but I had similar issues on newer OS. I dialed *228 then did a full battery pull - physically remove the battery for at least 1 min- and that made a huge difference. I think it had more to do with the long pull then *228 since signal even improved in my home area.

    Posted from my CrackBerry at wapforums.crackberry.com
    03-09-10 04:11 PM
  25. patches152's Avatar
    Well maybe they're just ignoring you. Start using clever images to bump the thread instead. That'll get theory attention. Worked for me anyway

    Posted from my CrackBerry at wapforums.crackberry.com
    03-10-10 11:25 AM
35 12
LINK TO POST COPIED TO CLIPBOARD