I have been a computer bum since the mid-60s. I have extensive experience with machine and assembly languages, microcomputers and microcontrollers, programming "to the metal" [as we used to say], as well as C and high level languages, and a little UNIX knowledge via QNX from the century gone by. But i have been retired from all that for 15+ years and am entirely new to smartphones and Android.
So i have some questions.
But first, i have read and read and read. Too much hi-tech info the "get it" all at once. In particular i have found these threads specific to the SGH-I257M ...
Galaxy S4 Mini Archive
Root new S4 mini model SGH-I257M
STOCK and ROOTED SGH-I257M
and several others on rooting various specific-only versions of the S4 mini, CyanogenMod, flashing firmwares, etc. But no complete, tested process for rooting this specific model, or for installing CyanogenMod on it, etc.
And a little history ...
Back in the mid 60s a visiting professor at the University gave a talk entitled "Hardware, Software and Underwear". The title was of course, intentionally provocative. It was a bit mysterious to us at the time, but the idea was to encode low level software in hardware to make it run faster, among other reasons. The term underwear did not stick. Instead we have firmware, and in particular on microcomputers, the BIOS - Basic Input Output System.
Question #1: with regard to Android, my guess is the the BIOS is the interface between the physical hardware and the Linux Kernel. Is this concept of the system structure correct? ...
hardware <-> BIOS <-> Linux Kernel <-> Android System
Question #2: I am not clear on the various categories of memory. The S4 mini has a SIM card, either 8 or 16 gb memory [mine has 16], and may optionally have up to an additional 64 gb memory via a microSD card installed by the owner. Is the BIOS on a separate chip like in microcomputers? Any other memory types? [I have a feeling that i am missing something].
Question #3: Which physical memory contains each of the BIOS, the Linux Kernel and the Android system?
Question #4: I am thinking that CyanogenMod is a replacement for what i have labelled Android System in my simple structure diagram in question #1 above. Is this correct?
Question #5: The idea of rooting the phone is clear to me. I know what is the root directory on a computer hard drive and that the rooting process gives the user access to both that directory and permissions to do anything [delete, rename, replace, install, uninstall, whatever]. And that doing this voids the warranty.
When spring/summer comes along [and they will, even in this cold and frozen Canada!] i expect to be off on my motorcycle [vintage IronHead] for extended periods. I will want to do whatever to extend the battery life of my phone. So i am anticipating rooting the phone by then and perhaps installing CyanogenMod. I have not yet seen a clear process for rooting for the Canadian S4 mini SGH-I257M including making appropriate backups of the system software, or for installing CyanogenMod, but i am looking. Any pointers to this i would appreciate.
Question #5: Any books on this topic of Android system structure, especially wrt Samsung smart phones? I know, books are so last century; so maybe a website, forum thread, or whatever.
TIA! More ?s later.