Custom whitelabel device, 99% clone

TL;DR:

  • Are 99% ok to contribute?
  • Is there a way/interest in random credentials provisioning?
  • Is there a recommended way to maintain custom config?

Long version:

My company is preparing to sell a supported device under it's own brand, with small modifications. I'd like to check in with you on how to proceed and what changes are wanted. The base device is ZBT-Z8103X.

I added devicetree reference to partitions and created new dts file:

#include "mt7981b-zbtlink-zbt-z8103ax.dts"

/ {
	model = "Ozobot OZBT-Z8103AX";
	compatible = "ozobot,ozbt-z8103ax", "mediatek,mt7981";
};

&partitions {
    partition@580000 {
        label = "ubi";
        reg = <0x580000 0x7280000>;
    };
};

I'm not sure if the original flash size is wrong or there are different versions.
Is this OK to submit? Should I rename the dts file to dtsi, or move the common parts into a dtsi and then include that into the two variants?

The other thing is we're using the nvram (fw_printenv) to provision random root password, SSID and SSID key during the factory setup. The idea is that after factory recovery, the stuff printed on the label will still be valid, even after rewriting the firmware using TFTP.

We did not find a mechanism, so we made a custom script that runs from uci-defaults (currently in a custom feed). Did we miss a tool for it? Would there be interest in making this a generic package?

Apart from that, we provide a custom theme and some package preselection. I think we'll just maintain a fork of the main repo that has custom feeds.conf and .config, both are not present in the main repo so we'll not see any conflicts when updating versions. We could upstream the theme etc, but I don't think that'd be wanted/smart for the openwrt project (copyright, maintenance).

I'd like to get the project to a state where end-user can upload upstream openwrt (if the company loses interest, goes under, whatever else might happen), possibly only losing the custom theme, maybe the provisioned password.

Any additional tips?

Submit a pull request with custom dts once product is in stores. Would be rarity and best wish you dont go under.