E Ink tablets: Rooting a Boox Go 10.3
Motivation
I haven't worked on a lower-level systems project in a while, I haven't worked on reversing or binaries since a brief stint in college, I've never worked on anything in the Android software ecosystem, and I haven't yet written or modified Linux device drivers myself.
Directly in line with those goals is an unmet hardware need: my growing desire for an E Ink tablet that will run an open source Android build. I've heard that some users have gotten LineageOS running on a Hisense, which is in the neighborhood of what I would be interested in. However, my note taking preferences require the screen real estate of a tablet. For several months, I've used a Boox Go 10.3 as an untrusted device solely for epub reading. As time has gone on, this tablet's full Play Store access on an Android build hints at tantalizing possibilities: the congruous feeling of a paper-like calendar or planner, an E Ink optimized RSS reader, note taking and email on the go, all further enabled by my obsession with small form factor wireless keyboards. With that dream in mind, this is the perfect fit to learn a bit about AOSP and device drivers.
Project Goals
With my lay understanding of the hardware/software boundary in the mobile ecosystem, long term I would be curious how far I can get towards deploying an Android custom ROM to the Boox Go 10.3. This unfortunately entails the very tough challenge of a full device bringup. Boox has made this even tougher by not open sourcing either their kernel or the device tree. For this to be minimally usable, it would require support for: