yeah, file_contexts are SELinux attributes. I've not dealt with it in android yet, but there are a few different modes that you can try. In strict mode, nothing will work unless it has been granted explicit permission. Targeted mode only does this in a targeted way. i.e. you want to limit what a boot service is allowed to do, you write a policy that grants it permission to do those things. If it tries to do anything else, it will fail. However, everything that has not been targeted runs unrestricted, like it used to. That would be the first thing to try. Even more effective is lowering the state that selinux is running, permissive or disabled. Permissive checks the rules, but does not enforce them.
Normally you can set all of this in /etc/selinux/config:
SELINUX=disabled|permissive|enforcing
SELINUXTYPE=targeted|strict
for a quick fix you can normally run setenforce 0 to put it permissive mode.
file_contexts are a part of the policy scheme. All files must have a label, or multiple label's, so that that the policy can know, for instance, if a particular service is allowed to read from it. A whole other level of file permission.
I read on the cyanogenmod rss feed that they are working on policies, so this might be something we can borrow from them, at least for superuser.