It may be stuck during loading kernel or initrd, try adding insmod progress line before linux and something like echo 'Loading linux...' and echo 'Loading initrd...' before linux and initrd lines. Also consider adding tsc=unstable kernel parameter, it may fix delay before booting, see following question: kernel boot logging causes delay
The most verbose option should be ignore_loglevel , see kernel parameters list :
ignore_loglevel [KNL]
Ignore loglevel setting - this will print /all/
kernel messages to the console. Useful for debugging.
We also add it as printk module parameter, so users
could change it dynamically, usually by
/sys/module/printk/parameters/ignore_loglevel.
It should look like this:
[some lines here, setting root, etc.]
insmod progress
echo 'Loading linux...'
linux /path/to/linux root=[your root] ro ignore_loglevel tsc=unstable
echo 'Loading initrd...'
initrd /path/to/initrd
Is drive led blinking? Also notice size displayed when loading (with insmod progress) should be a few MiB for the kernel and from a few MiB to around 100 for initrd. If you installed linux on usb device and booting it on old laptop (or computer) that supports booting from usb, it may be loading with speed of around 60 KiB/s or even slower so it appears to be stuck (ie. with big initrd). It is the case for IBM ThinkPad type 2647.