Related
Quick question to the community here – could someone post or direct me to some information on the architecture of the phone / hardware? What I’m referring to is:
There is a primary boot loader, secondary programming boot loader, the core OS image, the external storage, over the air updates etc…. Then looking into the software information section of the EVO, I see firmware version , baseband version, kernel version, build number, software number, browser version, PRI and PRL version.
Kernel, build, software number and browser version are self-explanatory. However, firmware and baseband are a bit unclear, also PRI / PRL – what exactly are those?
When OTA update is initiated, which elements can be updated?
I have rooted my phone by following the instructions, what I don’t fully understand is what exactly transpired while it was being rooted, and what will happen during the next (2.2) update.
Today I have 0.72 engineering build hboot (which acronym does it fit comparing to all of the text above?). So, if I were (yes, I know, I should not) update the phone over the air, would the very first bootloader be replaced with the newer version or would be out of scope and only the software/build number would change?
Along the way, I’m planning to try to write some code for the android platform and see where it takes me (good with C , fluent in .NET, can read java code, ok with linux [gentoo], fluent in networking and other IT R&D components) – any development pointers that anyone can offer?
this should probably be in q and a
and, you should probably change the title of your thread to reflect exactly what it is that you want, lol
and, you can google or wiki most of the things you want to know about.
Thread moved to Q&A.
timothydonohue said:
this should probably be in q and a
and, you can google or wiki most of the things you want to know about.
Click to expand...
Click to collapse
Suggestions to google for something are always useful, I'm not sure why you 'd assume I didn't
for exampel , -- the primary and secondary boot/application loaders, -- most of the information available is about rooting phones, not too much ont he theory on how it works.
I'm still figuring out a lot of this, but I think it is more like boot loader with an os on top of it, like a pc. In a normal boot the white screen with no animation (just the htc logo) is kinda like bios, self test and stuff. Then once you see the animated sprint 4g screen, the bios is done and the loaded rom is running.
Booting into recovery isn't a separate boot loader, it is just another partition in the nand.
I wish there was a little more information about this out there. I kinda feel like there aren't good resources for this. The developers that know this kind of stuff don't hang out in q&a or general, but this kind of question isn't really appropriate for the development section.
I think one of the best things would be to grab the aosp source and build android, I just don't have much time right now.
Sent from my PC36100 using XDA App
laydros said:
I'm still figuring out a lot of this, but I think it is more like boot loader with an os on top of it, like a pc. In a normal boot the white screen with no animation (just the htc logo) is kinda like bios, self test and stuff. Then once you see the animated sprint 4g screen, the bios is done and the loaded rom is running.
Booting into recovery isn't a separate boot loader, it is just another partition in the nand.
I wish there was a little more information about this out there. I kinda feel like there aren't good resources for this. The developers that know this kind of stuff don't hang out in q&a or general, but this kind of question isn't really appropriate for the development section.
I think one of the best things would be to grab the aosp source and build android, I just don't have much time right now.
Sent from my PC36100 using XDA App
Click to expand...
Click to collapse
The recovery image seems to be stored on SD card and not in non volatile memory. So between HBOOT, Primary loader and secondary loader, and (what indicated on the phone as) firmware: is HBOOT is the same as the primary loader and secondary loader loads up the firmware that pulls the image?
HBOOT seems to be similar to bios
SPL seems to be the thing that bootstraps the device (i.e. lilo, grub etc...)
What exactly is the firmware then? if SPL is a secondary software loader, is HBOOT = Primary Loader?
this is a good place to start http://tjworld.net/wiki/Android
I'm sure a year later this was resolved, I'll even go out on a limb and say it was resolved before your join date.
blizzard1017 said:
I'm sure a year later this was resolved, I'll even go out on a limb and say it was resolved before your join date.
Click to expand...
Click to collapse
That's a really good way to discourage people trying to help, especially when they are actually helpful. This forum is getting a bad rap for comments like that (and "google it" being the default answer). I do tech support and understand how aggravating it is to deal with people who don't get it, but without people a forum is an empty place... and largely useless.
AllanonMage said:
That's a really good way to discourage people trying to help, especially when they are actually helpful. This forum is getting a bad rap for comments like that (and "google it" being the default answer). I do tech support and understand how aggravating it is to deal with people who don't get it, but without people a forum is an empty place... and largely useless.
Click to expand...
Click to collapse
Actually the bad rap is from people that over analyze things and start going off the handle about it. It was a joke, obviously a joke. He/she pulled up a thread from exactly a year ago that I assume was misread as current. I don't think I barraged them with belittling comments or suggestions of selling their phone and pc and moving to a cave did I. If you care to hit my little name and then tap on that little post history you'll see I actually help. I think I have in ONE thread actually called someone an ass and they actually deserved it based on the other 100+ post doing so as well.
"Sense of humor" google it lol
Tomorrow I am planning on flashing my HTC Evo to MetroPCS.
I have a few questions, as this is my first android phone.
1. What exactly is happening when I "flash" the Evo to MetroPCS?
2. My Evo is running 2.2 right now, when "flashed" to MetroPCS would I be able to update from 2.2 to 2.3 (Gingerbread) later?
3. What exactly are roms and rooting? When I have my phone flashed is someone "rooting" my phone?
Thank you in advanced
P.S. I do understand when I flash my phone to Metro I will lose 3g and 4g functionality.
Hi there,
I'm a bit of a newbie myself, so to try to answer your questions without being wrong...
1. When you "flash" your phone, it refers to replacing the ROM on your phone. The ROM on your phone is basically a copy of your phone's OS (in this case, Android). Don't be too confused over the ROM part, as even though ROM stands for "Read Only Memory," you can still make changes to it (weird eh?)
2. That will depend on if someone actually makes a MetroPCS 2.3 update. The thing with flashing is that you can put on any ROM you want, by just overwriting the old one. It just requires someone to make the ROM. Most developers package updates for their ROMs so you can sometimes just put on the newer ROM, flash that and be up and running quickly.
3. As I mentioned before, ROMs are basically a copy of your phone's OS that someone might have customized. (Feel free to correct me guys,) In the Android OS way, you flash your ROM onto your phone. An unmodified copy is maintained on the phone, while another copy is made where your phone actually modifies it and changes it as you use the phone and store data. If something goes bad, no problem. Phone takes a copy of the unmodified ROM and copies that over the "put OS to be used here" chunk of your memory.
TL;DR? ROMs are the software on your phone, but can be modified.
3a. Rooting is different then flashing though, although it's commonly associated with each other. Rooting is when you modify your Android OS so you can have write access to other parts of the OS. All those apps that were stuck on your phone and you never liked? With rooting, you can pull those right out. Rooting allows you to pretty much do more things with your phone that you couldn't do before. It doesn't sound like too much, having write access to everything. But there are plenty of things you can do to your phone with write access. One of those things actually is flashing other ROMs to your phone. You actually need to root your phone as it is, so you can install what's called a custom recovery and a developer bootloader. Anyways, I'm not going to go through too much. Just check out the Evo Development area and there will be plenty to read through.
Hopefully I've explained enough. My apologies for the long post, I have a tendency to be through Let me know if you require clarification. Cheers!
The Local Moron said:
Hi there,
I'm a bit of a newbie myself, so to try to answer your questions without being wrong...
1. When you "flash" your phone, it refers to replacing the ROM on your phone. The ROM on your phone is basically a copy of your phone's OS (in this case, Android). Don't be too confused over the ROM part, as even though ROM stands for "Read Only Memory," you can still make changes to it (weird eh?)
2. That will depend on if someone actually makes a MetroPCS 2.3 update. The thing with flashing is that you can put on any ROM you want, by just overwriting the old one. It just requires someone to make the ROM. Most developers package updates for their ROMs so you can sometimes just put on the newer ROM, flash that and be up and running quickly.
3. As I mentioned before, ROMs are basically a copy of your phone's OS that someone might have customized. (Feel free to correct me guys,) In the Android OS way, you flash your ROM onto your phone. An unmodified copy is maintained on the phone, while another copy is made where your phone actually modifies it and changes it as you use the phone and store data. If something goes bad, no problem. Phone takes a copy of the unmodified ROM and copies that over the "put OS to be used here" chunk of your memory.
TL;DR? ROMs are the software on your phone, but can be modified.
3a. Rooting is different then flashing though, although it's commonly associated with each other. Rooting is when you modify your Android OS so you can have write access to other parts of the OS. All those apps that were stuck on your phone and you never liked? With rooting, you can pull those right out. Rooting allows you to pretty much do more things with your phone that you couldn't do before. It doesn't sound like too much, having write access to everything. But there are plenty of things you can do to your phone with write access. One of those things actually is flashing other ROMs to your phone. You actually need to root your phone as it is, so you can install what's called a custom recovery and a developer bootloader. Anyways, I'm not going to go through too much. Just check out the Evo Development area and there will be plenty to read through.
Hopefully I've explained enough. My apologies for the long post, I have a tendency to be through Let me know if you require clarification. Cheers!
Click to expand...
Click to collapse
Thank you so much for replying!
Although one more question, when I have my phone "flashed" to install another ROM; do I require root access?
P.S. Rooting sounds like a great idea, I wanted to get rid of all those useless sprint apps.
EDIT: Just realized you did answer my question in 3a, so when someone is flashing my phone to MetroPCS tomorrow that means someone is rooting my phone and installing a ROM that is compatible with MetroPCS? Is my phone more than likely going to remain rooted?
Hmm, I didn't know MetroPCS flashes the Evo now...yay!
Anyhow, I'm going to guess MetroPCS will have their own ROM or will install a custom ROM from somewhere. The key thing really is to have them insert your ESN into their database. Afterwards, you can flash whatever you want on it. I remember it used to be a problem too, for people wanting to switch to MetroPCS. Developers had the software and everything, but the only way to activate it is to convince a service rep to add your ESN into the MetroPCS device database. Now that it's official, it's much easier.
I'm mentioning all of this because if they are officially flashing Evos now, I would think they would have a special in-house ROM that has already been tested and vetted. The issue here is that it's probably a locked (non-rooted) ROM. From the point of view of a service carrier, distributing rooted ROMs might cause higher complaints from users who screw up or from reliability issues. Anyways, good luck getting it flash. Let me know how it goes...
The Local Moron said:
Hmm, I didn't know MetroPCS flashes the Evo now...yay!
Anyhow, I'm going to guess MetroPCS will have their own ROM or will install a custom ROM from somewhere. The key thing really is to have them insert your ESN into their database. Afterwards, you can flash whatever you want on it. I remember it used to be a problem too, for people wanting to switch to MetroPCS. Developers had the software and everything, but the only way to activate it is to convince a service rep to add your ESN into the MetroPCS device database. Now that it's official, it's much easier.
I'm mentioning all of this because if they are officially flashing Evos now, I would think they would have a special in-house ROM that has already been tested and vetted. The issue here is that it's probably a locked (non-rooted) ROM. From the point of view of a service carrier, distributing rooted ROMs might cause higher complaints from users who screw up or from reliability issues. Anyways, good luck getting it flash. Let me know how it goes...
Click to expand...
Click to collapse
I'd imagine that to activate a phone with MetroPCS they'd need your ESN, I'll be asking the REP tomorrow. Chances are they are not using an In-House rom, because simply flashing the phone through Houdini gives the phone Talk and Text. But for a little more money under the table they add everything else, not that I can't do it myself. But I'd prefer someone who's done it before do it before I do. Either way I'll be asking quite a bit of questions tomorrow to the REP and I will let you know how it goes.
I have to give a little clarity here.
1.) "Flashing" your phone is not replacing a rom. Or anything to do with a rom. Flashing your phone is changing the service your phone uses to make phone calls. e.g. Flashing to metro. When you flash your phone you are essentially telling your phone to use MetroPCS's towers instead of sprints.
2.) If you flash your phone you DO lose the data functionality. BUT there is a solution. If you take your flashed evo to the right person they can unlock the data on the phone and it will work just like it would on Sprint. (craigslist is full of ppl who can do it for a price.)
3.) "Rooting". Rooting your phone makes you the "SuperUser". Basically its like "Jailbreaking" if you know what that means. Either way it makes you like an administrator for your phone. Rooting gives you full control over the phones inner workings. Therefore you can install what we call "ROMS". On the flip side this means you can easily BRICK your phone if your not careful. Rooting is only for those who know what they are doing. So do your homework before attempting.
4.) As far as if the phone can receive updates like Gingerbread after you flash it? I don't know. I would like to find out myself. The question is hard to call for me because you still have access to the android marketplace after you flash it. But you are not on Sprints network any longer. So hopefully someone here can answer that for us both.
Glad to be of assistance.
Tony.
Since Project Treble isn't coming officially, isn't it possible to just partition the phone manually using an unlocked bootloader, custom recovery, and other such tools, to then make the phone repartitioned in a way that supports Treble?
I'm not a developer but repartitioning the phone would be very tricky as it might also brick your device. OnePlus said this in their post about Trebble. This is assuming you do it via an OTA update, plugging in the phone to a computer might decrease the risk of bricking.
Again, I'm not a developer and don't have a lot of experience so someone else more experienced might pitch in and give their thoughts about this.
I had the same idea of manually installing project treble, I would really love to know if it's possible
I think our biggest hope is that LineageOS will maybe support it. But one thing is sure. If you stay on OOS even if you repartition your phone will not use treble as the OS will not even try to do that. It will work the same regardless of the extra partition.
Are the lineageOS developers working on supporting project treble ?
I may be wrong, but as far as I know, this is not really possible.
Getting project treble on your phone would imply that your firmware and OEM framework is compatible with this.
To give you an analogy, consider a PC running some version of Windows (since that's easier to explain). When a new version of windows is available, you don't have to upgrade firmware for your motherboard, your hard drive, sound card etc. This is because windows (or you yourself) will install the drivers necessary to communicate with your hardware.
This is possible because all OEMs subscribe to a certain contract.
Currently, Android ties in heavily to the device firmware, as the OEMs have to update their framework with each new iteration of Android. This is because until now, there was no exact contract defined for OEMs to subscribe to.
HAL and Treble are a step in the right direction to change this, but this cannot happen unless the OEMs rewrite the device framework to adhere to this new model or if someone invests their own time into doing so, if that is even possible.
Im not an Android developer, so I'm not right in all the points I've mentioned, but I've tried to clarify to the best of my own understanding.
So now that the Z2 is out and being worked over I have a question that'll apply specifically to those of us who are still running the first gen Z Force. Is flashing the firmware from the Z2 Force able to be done onto the first gen Z Force? I was talking with some friends about doing some phone mods and this actual question was raised. Due to there being some differences right off the bat is this a feasible thing to try and do. My phone already did another forced update and is now 8.0, but if it's possible to change the phones firmware to the newer version that can be rooted would be great. I'm still learning as I go and hope I posed this correctly.
You should never attempt to flash firmware for one device onto another type of device. You're asking for a one way ticket to brick city by doing so. There are major differences between the two devices that make the software for one incompatible for the other.
phuqingA said:
So now that the Z2 is out and being worked over I have a question that'll apply specifically to those of us who are still running the first gen Z Force. Is flashing the firmware from the Z2 Force able to be done onto the first gen Z Force? I was talking with some friends about doing some phone mods and this actual question was raised. Due to there being some differences right off the bat is this a feasible thing to try and do. My phone already did another forced update and is now 8.0, but if it's possible to change the phones firmware to the newer version that can be rooted would be great. I'm still learning as I go and hope I posed this correctly.
Click to expand...
Click to collapse
Firmware runs the hardware abstraction layer. I.E. let's the software know how to send information across the chips. We have different CPU/GPU/screen/etc. It won't work if it even does flash.
Short answer: no, sorry.
Long answer: There's some ambiguity to what you refer to when you say firmware, because it can apply to many things in the boot stack, but it doesn't matter. If you could get it to flash, it wouldn't run, and if you could get it to run, it almost certainly wouldn't help you root unlock.
If you're interested in the subject and the distinctions between the different things you can call firmware, here is an elevator ramble about their functions (for OP and anyone new to the scene):
Check out this graphic here for a non comprehensive overview of what's what, what's called what, where whats sit in the boot stack and most importantly, what is firmware. If we're being so so so so so technical, The Firmware is the ROM on your snapdragon's die, who's only real job that we care about right now is to start the SBL, which is where things really get going. This firmware is called the PBL (primary bootloader) and is - quite literally - set in stone, ingrained into the die on your SoC (cpu/gpu/modem) It's pretty lax on security and once it's done its job, it hands over the responsibilities of "being firmware" to other items in the stack. Often, people casually talk about firmware to refer to anything kernel level downward, but I find this vague and hard to understand when you're getting started. OEMs like to refer to the entire stack as the device's firmware. You could make a good argument that the android/application bootloader (aboot) is the firmware since it's verifying the integrity of your boot image, manages fastboot, and is generally responsible for booting android in the first place (when you go from major android versions, like 7 -> 8, aboot generally gets an update too, and usually makes old roms not boot anymore). It's what you unlock when you "bootloader unlock" your phone. Aboot is signed, and verified by the SBL.
You push the power button -> hardware turns on, PBL runs -> PBL loads the SBL -> SBL loads aboot -> aboot loads the boot.img or recovery.img -> the boot image contains a kernel and a method to load important things into ram (like, android).
This varies by manufacturer, but most of them are variations on this process (except devices with intel processors, which are hilarious).
Thank you for the information on the primary question I posted, and for the ancillary too. I'm learning more each day and the posters here, all of you, are helping me more than you may know.
I don't know how long it's going to take me to even be close enough in knowledge on these phones as any of you are, but I am enjoying the journey.
Thank you again for the info and the continued education.
I really hate asking this type of question as it makes me sound like a choosy beggar, but is there an all in one tool in the works for unlocking/rooting/flashing/etc? As I grow older, I desire rooting and tinkering, however I also value my free time a lot more lately (can't have both, right?).
Apologies if this is a silly question, however I thought I'd ask anyway! Thanks!
CacheOnlyPlease said:
I really hate asking this type of question as it makes me sound like a choosy beggar, but is there an all in one tool in the works for unlocking/rooting/flashing/etc? As I grow older, I desire rooting and tinkering, however I also value my free time a lot more lately (can't have both, right?).
Apologies if this is a silly question, however I thought I'd ask anyway! Thanks!
Click to expand...
Click to collapse
As far as I know, only the original Pixel 1 has an all-in-one tool* ("click button, wait, have fun - even though the P1 tool only came years after release!"), it has always been the culmination of a couple ADB steps/commands in a certain order, plus some manual flashing/magisk file creation incl. copying a couple files from your phone to your PC or vice versa.
Especially since Google changed alot of stuff with Android 11 and Android 12, it's a bit more complicated to root since the days of the original Pixel.
That doesn't mean that there can be no all-in-one root tool here, but as of now we have none and I don't see how one could be created in the foreseeable future.
*https://forum.xda-developers.com/t/...ck-twrp-factory-image-stock-recovery.3730227/
Morgrain said:
As far as I know, only the original Pixel 1 has an all-in-one tool* ("click button, wait, have fun - even though the P1 tool only came years after release!"), it has always been the culmination of a couple ADB steps/commands in a certain order, plus some manual flashing/magisk file creation incl. copying a couple files from your phone to your PC or vice versa.
Especially since Google changed alot of stuff with Android 11 and Android 12, it's a bit more complicated to root since the days of the original Pixel.
That doesn't mean that there can be no all-in-one root tool here, but as of now we have none and I don't see how one could be created in the foreseeable future.
*https://forum.xda-developers.com/t/...ck-twrp-factory-image-stock-recovery.3730227/
Click to expand...
Click to collapse
For sure, that's actually the All in One tool that I remember using with my Oneplus 7 Pro. This is my first Pixel phone (does the Nexus 6P count?) so I wasn't sure if developers would be all over it, or if Google has made things more complicated over the past couple of years. Either way I appreciate the reply and will probably dive into unlocking/rooting over the holiday weekend.
CacheOnlyPlease said:
For sure, that's actually the All in One tool that I remember using with my Oneplus 7 Pro. This is my first Pixel phone (does the Nexus 6P count?) so I wasn't sure if developers would be all over it, or if Google has made things more complicated over the past couple of years. Either way I appreciate the reply and will probably dive into unlocking/rooting over the holiday weekend.
Click to expand...
Click to collapse
If you want to read a bit about complication, take a search engine and find out what
Android 11 scoped storage
Android 12 Dm-verity (device-mapper-verity)*
Android 12 Vbmeta verification**
SafetyNet Android
Android Hardware Attestation
means.
*is a method by which an image on block devices (the underlying storage layer of the file system) can be checked to determine if it matches an expected configuration, using a cryptographic hash tree. If the hash doesn't match, dm-verity prevents the stored code from loading.
**is the other half of this - it provides a cryptographically signed reference hash which is used to verify the integrity of /boot, /system, and /vendor partitions. The vbmeta image is only used to verify /boot, while vbmeta-system is used to verify /system.
Click to expand...
Click to collapse
Google has been actively working - for a couple of years now - at making the modding/rooting communities life harder. We have always found a workaround, some require work (spoofing device ID, forcing software attestation, et cetera) or don't work that well at all, but it's a constant struggle.
Every firmware update is a small struggle and you got to pray to the man above that your device will still boot up, even if you have those pesky magisk modules disabled.
Morgrain said:
Google has been actively working - for a couple of years now - at making the modding/rooting communities life harder. We have always found a workaround, some require work (spoofing device ID, forcing software attestation, et cetera) or don't work that well at all, but it's a constant struggle.
Click to expand...
Click to collapse
I think Google's goal was to make our devices more secure, not making modding/rooting harder.
CacheOnlyPlease said:
I really hate asking this type of question as it makes me sound like a choosy beggar, but is there an all in one tool in the works for unlocking/rooting/flashing/etc? As I grow older, I desire rooting and tinkering, however I also value my free time a lot more lately (can't have both, right?).
Apologies if this is a silly question, however I thought I'd ask anyway! Thanks!
Click to expand...
Click to collapse
Not sure if this fits the bill of what you're looking for
Android Flash Tool
Perhaps this
Android Dollhouse (Flashtool) | TESTERS REQUIRED
Android Dollhouse The Definitive Android Flashtool. This is the support thread for Pixel 6 Pro. If you have another device, please check the other threads: Pixel 2XL: Support Thread Pixel 6: Support Thread I'm releasing the first user-facing...
forum.xda-developers.com
Az Biker said:
Not sure if this fits the bill of what you're looking for
Android Flash Tool
Click to expand...
Click to collapse
Sort of. Like I mentioned, I haven't dove into the details yet of rooting my Pixel 6 Pro yet, however can this tool you linked get me out of a potentially sticky situation if I ever need to load the stock firmware (ROM) onto it? That's really my biggest concern is messing something up. If I have a tool handy to get me back to stock, even if it wipes the whole phone, then I'm much more likely to dive in, you know.
For an all-in-one tool... what's wrong with fastboot?
CacheOnlyPlease said:
Sort of. Like I mentioned, I haven't dove into the details yet of rooting my Pixel 6 Pro yet, however can this tool you linked get me out of a potentially sticky situation if I ever need to load the stock firmware (ROM) onto it? That's really my biggest concern is messing something up. If I have a tool handy to get me back to stock, even if it wipes the whole phone, then I'm much more likely to dive in, you know.
Click to expand...
Click to collapse
If you haven't already looked them over, check the 6 PRO link in my sig, Step by step directions, pretty much each and every detail to make it easy for people like me who aren't rooting gurus.
Fastboot is the tool to pull you back from the abyss should you screw the pooch. Plenty of places you can find commands to help you out in a pinch, usually bringing you back to a factory fresh image.
Fastboot, update, and root a few times and it'll become much less concerning and tedious.