#+title: New adventures in ARM #+author: Thomas Albers Raviola #+date: 2022-10-10 * Backgroud If you have read my poorly written articles about my Z80 computers, it is probably no surprise that I ended up playing with ARM processors. Way back I bought a Beaglebone Black based on the Sitara AM335x series of armhf processors. I never really gave it much use as I got more interested in Z80 and the idea of myself building and soldering my own computer. This changed some weeks ago, when while enjoying the free time between semesters at university I decided to buy a Pinenote from Pine64. I had seen before the E-Ink tablet of one of my tutors and wanted to replace taking notes on paper for some kind of digital form. Initially I used my X200T laptop for this end but the battery life does leave some performance to wish for. The alternatives I found in the market shared all the same disadvantages. For example, the reMarkable tablet of my Tutor seems to work in some kind of restricted ecosystem with cloud syncing bullshit I don't care about. If I am not able to run the software I want, I don't care about the product. The Pinenote on the other hand, while still in development and with basically no finished software ready, is designed to leave complete freedom to the user. My plan was to experiment with my Beaglebone, learning to compile a kernel and a GNU/Linux distro for ARM and then apply this knowledge to port some system to the Pinenote. This however was not at all necessary, as there are already people who have reverse engineered the DRM driver for the display and documented how to comile a custom kernel to run on the ARM processor of the Pinenote. This process ended up being actually really easy. I won't claim to be able to explain it better. Nonetheless I have documented (or will) the process as part of this series of articles about my experiments with low-level ARM hacking. This topic evolved rapidly into an extremly deep rabbit hole. As I still plan to learn how the boot process for ARM devices work by writing a bare-bones blink LED code, the Hello World! of low-level programming, for my Beaglebone. I plan this to be the continuation of me learning low-level stuff as with my Z80. I also discovered that the ebook reader I had and that now is left redundant by my Pinenote also has an ARM processor (I know, not a big surprise). But instead of writing the system to a eMMC, tolino packed a SD card with the system, rendering the process of testing other code a trivial one. Given my despise for Android and how satisfied I am with my Pinenote, I actually decided to buy the Pinephone Pro and the Pinebook Pro. When the time comes, I would like to also write articles on how I port my favourite GNU/Linux distro, GNU/Guix, to these platforms. Hopefully I won't need to use a damn Android device ever again and will actually be able to use my devices the way I want. Ranting aside, I now invite you to check the writings about the findings in my new adventures in the ARM world.