UEFI threw a huge moneywrench in the process, and SystemD doesn't help. Last time I made it work I had to track down a mailing list entry where someone discussed an otherwise undocumented kernel option that needed to be set to make it work. One of the key glue techs that made it work last time (rom-o-matic) went out of development and is gone.