Perhaps it could be interesting to some to see how a developer goes about figuring new stuff out. So this section is going to contain my reports about what I needed to figure out and how I went about that. Not so much as tutorials or anything but just a look inside, good or bad.
I’ll be learning about GUIX as the foundation of every effort that involves customizing or configuring the OS.
Really want to learn this too.
Thought it would be interesting to see what could come of a network of minetest servers. Maybe it can even serve as the a main homestead client.
This isn’t going to be as simple as throwing together a new command and mod, but that’s how it’s going to start.
In order to succeed I must learn at least a little Lua and a new C++ code base.
Strange Crew picked up a PineTime development kit to start working on the Homestead Wearable project. PineTime is a smart watch sold by Pine64 that runs an open source bootloader and os. Its installed bootloader and OS are capable of being replaced over bluetooth with Gadgetbridge and the like. It can also be wiped and reprogrammed via 4 pin holes inside it on its mainboard. It is glued together to be mildly waterproof and the development version comes with both a sealed and unsealed version.
This project requires us to learn development on this sort of device from scratch. We have some experience with smaller microcontrollers like atmega328, and plenty with Raspberry like devices, but these are neither of those. These kinds of devices are a sort of between the former two. They are 32 bit processors designed by ARM, but they are not quite enough for an OS like Linux. Instead they use small, embedded operating systems that are compiled more specifically for a set of features for a particular application on a particular piece of hardware.
After some amount of research we decided to use MCUBoot as a bootloader that will boot into a firmware based on RIOT OS. The bootloader will be configured to verify the a signature on images to ensure that nobody can quietly replace it. This is a necessary stage in ensuring the integrity of the software running on the device so that you can feasibly use it as a sort of remote ID you walk around with.
Pretty much everyone seems to be going with LVGL and it does look far better than anything else we were able to find.