Most times when it hangs after "done booting the kernel" it means that the environment variables that get passed to the kernel are not set correctly. In your case I can see you have some missing.
Near the top of the readme for 2.6.31 it says:
# This is a mainline Linux Kernel and you must set
# the mainlineLinux and arcNumber env variables in U-Boot
# and change the bootargs for a successful boot.
# setenv mainlineLinux yes
# setenv arcNumber 2097
You need to set these.