Wanted to ask advice on getting into OS development. I'm mostly interested in working with Linux and Android. I've got experience with C++ and a bit of java. Any books, articles and blogs that you guys can suggest?
If you work with operating systems, how did you start?
IMO you can see that Linux and Android development are two totally different beasts. And another thing I don't think you can develop Android OS (it's Google's baby - so you need to work there to be on the team) while Linux development could mean contributing to the kernel or distro or desktop or apps or games etc.
Sorry my bad there. I'd like to learn to create and modify drivers for different hardware. My aim is to start tweaking and improving android ROMs and also port operating systems to unsupported hardware(E.g. chromebooks). I understand this is a while away from the experience I currently have but I'd like to start working towards it. Currently I don't know what kind of drivers I'd like to work on. Things I would like to achieve are fixing issues like sleeping and waking up with Linux on my laptop. Improving battery life, android stability and maybe start working towards improving cameras in android ROMs.
@matsom
Thank you. I understand it is a huge topic and so that is why I'm trying to get help. Currently I'm doing Android App Development just to get some experience.
I understand Linux and Android are quite different. I would like to get to work mostly with the kernal and some distros. Same with android, mostly interested in ROM development. I want to start to contribute to open source projects on github but I find myself lacking experience.
I've found that Linux Kernal Development is a good book to get started on, any other books to understand Linux or Android kernal development that you guys would recommend?
Have any of you got experience with operating systems, mainly Linux? How have you started out?
I use vanilla Ubuntu (with MATE desktop, but that's another story...) on my personal machine, Windows for work and personally *hate Android - so I never cared about Android development.
Anyways here's a quote from Arch (a Linux distro) wiki page:
"... new developers are picked by the existing developers as the workload increases. Sometimes they post a position and you can apply to fill it, but more often, they just invite somebody they know would be good at it and would fit in well with the rest of the team. Having a portfolio of Arch contributions is the best way to make it on the team." https://wiki.archlinux.org/index.php/Getting_involved#How_can_I_become_an_Arch_Developer.3F
There are other ways too to get involved with Linux kernel development e.g. you work with companies that produce **Internet of (All) Things hardware or peripherals (sound card, wifi etc.) that need a Linux driver and son on and so forth.
* because Google is EVIL :P
** the name's soo stupid