Actually, now that I think about it, your suggestion seems like the best
way to do it :-)
Since /proc/device-tree/model gives the model, and I can arrange for
/proc/device-tree/firmware to give a firmware version. I'll just need to
add a property to the tree after bootup.
In fact, the most logical place to do that is in the kboot wrapper, when
the tree is created initially. That way, it will be naturally passed
from kernel to kernel via kexec.
The zImage is built with a library to hack at the device-tree so it
should be trivial to do it there.
Ben.