pmOS mainline "GSI"
In theory, we could provide a GSI-like image for mainlined devices (so as not to include gamebreaking hacks from downstream), which would make the installation process simpler (as in not require pmbootstrap provided the "GSI" would be hosted in the same way Pine* images are, which could bring some more die-hard Windows users to pmOS).
I imagine two ways it could be done:
-
generate a plain system image with no device-specific stuff, and a secondary image that would be flashed to a different partition containing ONLY device-specific things which would be overlayed (the google way)
-
include all the firmware and device pkgs (after minifying them) in the systemimage, detect the device name from device tree name parameter on runtime and enable device-specific stuff for the one we're running pmOS on (the I-have-too-much-storage-and-many-devices way)
Or well, both ways could be implemented and it would be up to the user to choose which one to use.
You might think.. Okay, but what about the kernel?
Well, kernel can be easily built without pmbootstrap already, and if you don't use modules (cmon, modern devices have ginormous boot partitions..), you don't need to worry about anything. Just get your android image, run abootimg -u boot.img -k Image.gz-dtb -r pmOS-ramdisk
and you're set!
Considering that many devices require specific packages to be installed (e.g. firmware-linux-qca), the (de)installation of these would need to happen at boot time and then require a reboot. Perhaps a "Please wait, adjusting pmOS to your device. A reboot will happen shortly." splash could be introduced so as not to make it look like it randomly dies after a long-time-wait?
Anyway, it's not a priority, but would be a cool thing to keep in mind.