I think this overcomplicates things a lot. I see three options here:
1) My impression is that we don't actually care about persistant interface names on the phone. Therefore, phone image builds could just create/ship an empty /etc/udev/rules.d/75-persistent-net-generator.rules which will disable the one in /lib/udev/rules.d/ and therefore disable the generator completely.
2) If we actually do want persistant names across reboots, then /etc/udev/rules.d/ needs to become writable. It does not make sense to support a phone specific path for this if we could just make the above writable.
3) As you already said, we could also enable net.ifnames=1 on the kernel command line to use "proper" interface names, which will also disable 75-persistent-net-generator.rules.
I think this overcomplicates things a lot. I see three options here:
1) My impression is that we don't actually care about persistant interface names on the phone. Therefore, phone image builds could just create/ship an empty /etc/udev/ rules.d/ 75-persistent- net-generator. rules which will disable the one in /lib/udev/rules.d/ and therefore disable the generator completely.
2) If we actually do want persistant names across reboots, then /etc/udev/rules.d/ needs to become writable. It does not make sense to support a phone specific path for this if we could just make the above writable.
3) As you already said, we could also enable net.ifnames=1 on the kernel command line to use "proper" interface names, which will also disable 75-persistent- net-generator. rules.