Low-Level Development on Retail Android Hardware - Reconnaissance and Prototyping a Bootloader

submited by
Style Pass
2024-10-05 18:30:05

Many months ago, a slightly younger Tim thought that porting mainline Linux to his old Android phone for the purpose of experimentation would be a great way to pass time. (In hindsight it was, but not for the reasons imagined.)

However, the device in question is a Samsung Galaxy Core Plus (codenamed cs02), an obscure device from 2013 that uses an obscure Broadcom SoC (System-on-Chip) from 2012, the Broadcom BCM21664. While the upstream Linux kernel already has basic support for this processor (and a few related boards), actually getting it to run was still going to be quite an effort.

Additionally, this was worsened by a lack of feedback from the actual device when testing, and (later on) by a very long flash-and-test cycle as fastboot isn’t usually available on Samsung devices. Surely, writing a bootloader can’t be that hard, right?

Note: This is a recapitulation of events that happened over the last two years. The contents have been shortened to follow the bootloader instead of most of my other unrelated detours.

Leave a Comment