OK, sounds like you're in unchartered territory then. Try adding "init=/bin/sh" to the grub command line and booting, then:
1) See what "ulimit -n" shows.
If it is < 1024, that might be your problem so try setting 'nofile' manually to atleast 1024 and then manually exec-ing upstart:
ulimit -n 1024 exec /sbin/init --debug </dev/console >/dev/console 2>&1
2) If (1) doesn't appear to be the problem check your root disk is mounted as expected. Is it mounted read-write? Does the following help:
mount -oremount,rw / exec /sbin/init --debug </dev/console >/dev/console 2>&1
OK, sounds like you're in unchartered territory then. Try adding "init=/bin/sh" to the grub command line and booting, then:
1) See what "ulimit -n" shows.
If it is < 1024, that might be your problem so try setting 'nofile' manually to atleast 1024 and then manually exec-ing upstart:
ulimit -n 1024
exec /sbin/init --debug </dev/console >/dev/console 2>&1
2) If (1) doesn't appear to be the problem check your root disk is mounted as expected. Is it mounted read-write? Does the following help:
mount -oremount,rw /
exec /sbin/init --debug </dev/console >/dev/console 2>&1