Well, the problem is technically not rocket science. All you need to solve is:
- Producing a list of blobs during the build of the system (
./build.sh blobfree
step) ;
- Using that list to copy files during the reconstruction of the partitions within the addon.
We do already have all the bits in place to perform both steps. However, step (2) implies copying, hence a source of data. For now, that source has been limited to a running device (hence the enforced compatibility checks).
For devices built on top of AOSP (that is Sony AOSP-based ports and Nexus devices), we are already detecting properly the blobs. What needs to be improved is mostly within the addon: we need a way to get those blobs from elsewhere than the device.
Doing so, we might need to add some kind of descriptive information within the JSON file of the blobfree distribution, to know where and maybe how to get those blobs. But in the end, those are going to be shell scripts (Nexus) or ZIP file (Sony) that you download and extract, so probably quite trivial to do (there is already logic in the addon that does executes binaries that you can have a look at ; and we do extract zip files already).
So I expect the changes to be mostly addon-side and more glueing code than anything complex. Yet, that does not means it will be easy, I cannot promise anything since it also depends on your level of understanding :).
Besides, we already have good mochitest coverage (even though it is painful to run) so it is easy to verify you don’t break anything, and of course, you can add new tests to ensure the feature works pretty well.
I really want someone else than me doing this not really because of the amount of work required, but because the current status of the B2GOS project is really to include community: if I am still the only one hacking on this then knowledges does not flow through and it is bad. I am happy that we already have @TitanNano that did contribute some nice patches to this!
So in the end, to properly answer, it would not be exactly replicating behavior of already supported devices, but it would not be too far either.