The general software release process is alpha, beta, rc, release.
I am building a release for an embedded target, containing everything: boot loader, root file system, kernel, and the application software.
So one produces a release candidate, it gets fully tested and everyone is happy with it. However, the version (containing the fact it is a release candidate) is embedded in the release; in my case a file in the root file system (for example 4.0-rc5).
The process for making the release is a shell script which basically bundles everything together (it doesn't rebuild anything). The version file would need to be changed before the release was rebuilt.
I have a restriction that I cannot rebuild the release once it has been tested, otherwise it all needs to be tested again.
What is a viable process to promote a release candidate to an actual release?