I have seen several questions on this site regarding tivoization, and how the GPLv3 can prevent it. However, for my particular use case, the GPLv3 actually seems to be more permissive than the GPLv2.
That's because the GPLv3 anti-tivoization clause only applies to consumer products, but the company i'm working at doesn't make consumer products. We are currently developing several linux-based embedded devices, which will be incorporated into the machines we are selling to our customers (other companies). Preventing the installation of "unofficial" updates (i.e. updates not signed with our private key) is pretty important to us (and our customers), to make it harder for any random operator to accidentally (or intentionally) brick the machine.
So, the GPLv3 definitely isn't a problem for our use case, but i'm not so sure about the GPLv2, and here's why (emphasis mine):
For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable.
The wording is of course not nearly as clear as in the GPLv3, but the intent sure seems to be that we need to allow installation of modified software.
So, when people say the GPLv2 doesn't prevent tivoization, is the situation actually that clear-cut? Or is it more like "well, technically, if you follow the license text to the letter, and the installation isn't done by a script..."
PS: i have seen this question, but the answer unfortunately doesn't actually explain why the GPLv2 isn't violated.