I want to start develop on Linux systems and people told me to start with phones.

I read about Fastboot/CM/CWM and stuff like that but I have tons of questions:

A) Why do we need CWM and stuff and not to develop directly from the Google Linux to each device that is on the market ?
B) I took a phone and found the problem in it (voltages), it makes the device to re-boot randomly but I didn't know which file should I approach.
C) When I tried to open the zlmage it opened to my in binary codes ?

Long story short, I have tons of information on the mind and it mixed - where do I start ???
And how do I fix that specific problem on that device - for example ?
Then I will want to fit a system into it.

Please guys, give me a path.

Thanks in advance.