The problem you're encountering has to do with the jtag uart. The device seems to want to wait until all the buffered characters are sent over the line before allowing more characters to be written to the device.
As a result, the kernel locks waiting for the jtag uart buffer to clear. I don't have all the details but that's the gist of it I believe.
One solution to the problem is to use an altera_avalon_uart as your console device. This can be accomplished by re-configuring your kernel.
Turn off:
Device Drivers
Character Devices
Serial Drivers
Altera JTAG UART support
Turn on:
Device Drivers
Character Devices
Serial Drivers
Nios serial support
Support for console on Nios UART
You'll also need to modify your inittab (if you're using it) to use ttyS0 instead of ttyJ0. Re-build and upload. You should see output over the corresponding Serial Port on your dev board and the kernel should start even without a terminal hooked up to it.