Мне пришлось портировать ядро Android и драйверы на пользовательскую платформу. Ядро Android - это ядро Linux (2.6.x) с несколькими модификациями. Ядро и драйверы в основном написаны на C, и вам придется в него войти. Если у вас уже есть опыт работы с другими языками, вы тоже справитесь с этим. Есть множество книг об этом и учебных пособий на веб-сайте. Не забудьте освоиться со всеми этими «указательными» вещами. Это главное в C. Ядро Linux, если оно заполнено указателем на структуры данных и даже больше, указателем на функции, упакованные в структуры данных.
Вот как я получил необходимую информацию и знания. Для ядра Linux книги О'Рейли великолепны. Тот, к которому я обращаюсь все время для драйверов устройств:
«Понимание ядра Linux»
«Драйверы устройств Linux»
Что касается ресурсов, очень специфичных для написания материала для ядра Android, я искал это месяцами, и всегда заканчивал тем, что использовал ресурсы Linux, и я выполнил свою работу.
Удачи, получайте удовольствие и не забывайте, что всегда полезно приобретать новые навыки