The state wouldn't suddenly change though if we check the button/whatever early enough. We wouold get all those problems if we allowed the user to change states when everything was up and running though.
I'm trying to think of a nice way of notifying the kernel what mode you want to be in. If we can tell if a button was held down when booting then we just need to write the code to query it and put it in roughly the same place that the existing flash check is. I've no idea how hard it will be to poll the buttons this early on in the boot process.
The hard part is if we can't do this detection because it only does state changes. The userland interface only does state changes but I've not looked at the kernel driver to see if it knows exactly what state it is.
It's something to ponder and I need to read the kernel driver to see how it does it.