Regarding the problems with serial ports, why can't Speakup tie into the serial console code? There is already code to make a serial port act as the console, so I would think that Speakup could use some of that code. If the daemon route is chosen instead, could the daemon be run from an initial RAM disk? That would get it to start up before the root filesystem mounts, and that is when most problems happen, if they are going to. The whole point of having Speakup support serial synthesizers from boot is to deal with such problems as the root filesystem refusing to mount, and being able to read the error message to see what is wrong.