Since Linux kernel 4.x, the Raspberry Pi firmware reads the content of the EEPROM and analyses it before booting the Linux kernel. In rare cases it happens that the content can’t be read and the system hangs with a rainbow screen. We haven’t exactly found out when this happens, but there is an easy workaround to fix this.
Unplug the HiFiBerry card, boot the system and add the line:
force_eeprom_read=0
to /boot/config.txt (or wherever this file is located on the distributions you’re using).