Ok! So there are some updates here. I have mostly stabilized the bootloader. I have decided on a method of handling user configuration and customization of the bootloader. It consists of a two-phase environment update system. The bootloader first loads
boot.txt which defines the paths for the kernel, device tree, and initramfs.
boot.txt is mandatory and can be updated by a userspace tool or by the apt install phase of a kernel package. The bootloader then loads
uEnv.txt which allows the user to redefine any boot variable they want (including bootcmd) to fully customize the boot environment. It is fine to modify uEnv.txt manually (at your own risk of course), however it is not recommended to modify boot.txt as this should be handled by automated processes. You can of course overwrite anything defined in boot.txt using uEnv.txt.
The recent changes to the bootloader have been pushed and included the following:
- bq24297 (battery charger) support
- 2GB and 4GB RAM support (Using old RAM timings, I haven't yet been able to get notaz's improvements working).
- New boot environment system
I've also started building a set of guides. I only just started 20 minutes ago, so they are relatively minimal at the moment but should help people get started using the new bootloader and flashing PyraOS in general.
https://dev.pyra-handheld.com/imagebuild/pyra-docker/wikis/home
Anyone out there with prototypes, I'd really appreciate help testing and bug reporting. I only have one version of the hardware and I know there are multiple out there. I'm pretty sure that everyone is getting the final hardware version at this point, and as such I'm not really focusing on supporting old versions. Someone please let me know if this is a problem though.