Да но возможность это сделать без миллионных вложений (разработка и реверсинженеринг) - доступна не для всех моделей смартфонов.
Самое простое - ищите готовые пользовательские прошивки, адаптированные под именно ваше железо, модифицируйте как хотите и получайте результат. Загляните на форумы xda-developers или 4pda, там сосредоточено коллективное знание об этой борьбе.
И да! Скорее всего у вас будет много проприетарного кода, скопированного из официальных прошивок, иначе железом пользоваться не получится.
Отличным примером является разработка бутлоадеров, приложений, работающих сразу с момента загрузки. Например twrp, опенсорс.
p.s. по факту, так как производители железа похоже костьми легли чтобы сделать доступ к спецификациям всего что является перефирией (сенсорный экран, bluetooth, wifi, радиомодуль, camera сканер отпечатков пальцев,...) и главное графическим ядром невозможным а точнее несвободным, получить эффективно или просто работающее приложение у вас может не получиться.