I recently rebuilt a Mac Mini to work as the forth screen in my workflow. I googled around and pieced together what I needed to do by cherrypicking from various guides, and everything was running well until I updated to a new kernel and rebooted. I spent the better part of two nights trying to get the machine to boot.
Unfortunately, it happened just after I blacklisted a module to work around a USB bug that was causing one of my drives to go haywire occasionally, and it took a while before I finally figured out it wasn’t a problem with my change but the kernel itself. Mac’s use EFI for booting — which requires a cryptographically signed kernel. I was finally able to boot up by following the first half of the instructions on this Ask Ubuntu answer. Essentially, do a manual boot via grub and make sure that I pick the secure kernel.
I noticed that I only had a signed image for an older version of the Kernel. I dropped by #ubuntu-kernel and was pointed to the linux-signed-generic package. What happened is none of the guides I read had mentioned this package or its significance. Any time the kernel images are updated, the signed version is also updated, except you won’t get that image by default. The machine was trying to boot off an unsigned kernel, causing the boot sequence to freeze (with no indication as to why).
sudo apt-get update sudo apt-get install linux-signed-generic sudo reboot
A thorn with an easy fix. Install the meta package, which will pull in the current signed image, and reboot.