If you've got to a spinning wheel, you've, at least got to upstart script
/etc/upstart/early_progress.conf. It means that
/var/local should be already mounted, as:
- early_progress starts on display_ready
- display_ready is emitted in /etc/upstart/display.conf which is started on mounted_varLocal
It aslo means that if you have executable
/var/local/fixup (for example, with shell commands inside, also with shebang and chmodded to +x), it should be executed before "hanging". I know about it from
/etc/upstart/filesystems_var_local.conf.
It might help in debugging.