On Thu, May 04, 2017 at 03:04:12AM -0400, John Luke Gibson wrote:
Since it seems like a trivially simple task that for some reason no one has taken up, I would like to take the opportunity to exercise a learning experience and simultaneously benefit the community, by liberating PocketCHIP by deblobbing the source and re-compiling.
I think we could argue about the definition of a "trivially simple task" and if it applies to this case. I own a NextThing Chip and I am interested in running it blob-free. Please document your efforts and keep me/us updated!
Anywhoo, I more or less just wanted to start this thread because I wanted to know if any one could point out anything that would need be removed besides the wifi firmware. I searched the sunix-uboot repository on github for the word blob and got a few interesting hits for the code in the folder binman:
As far as I know NextThing uses a custom U-boot fork which can be found here: https://github.com/NextThingCo/CHIP-u-boot
Kernel source used on Chip is here: https://github.com/NextThingCo/CHIP-linux/releases
I believe that NextThing uses free NAND-drivers developed by Free Electrons which shall be mainlined someday. Keep in mind that there are two types of NAND used and that NextThing provides different images for these NAND-types.
Basically you have to patch out the support for the non-free wifi module and make sure your dongle works properly. You also have to patch out the support for the Mali gpu. I have not heard about any other blobs.
It is bothersome that NextThing is quite opaque in their communication about blobs. You will have to look right at the source to understand what exactly is going on.
To flash your deblobbed image beware of the closed-source flashing tool for the Chrome browser and use the strange “Ubuntu virtual machine SDK solution”. I read somewhere that one NextThing developer flashes right from his Debian box but this way is not officially supported.
Good luck and Happy Hacking!
Pablo