The custom firmware loads it's utilities from disk, If Linux failed to mount the disk properly OR is unable to read it then the custom firmware would not run correctly.
Another possibility would be booting into Linux on a PC and seeing if the repair utility can fix the mounted disk.