Okay, guys, either I am more of an idiot than I think, or there is something wrong with the installation script used to patch the kernel. Maybe I should stick to C. I believe I know what is happening, but after looking through the script, I'm not sure where it is breaking down--all of the expected directories (/usr/src/{linux,linux-2.4.20,speakup,speakup-1.00}) exist. I pulled the CVS speakup as directed, resulting in the following directory contents: BUGS cvsversion.h speakup.c speakup_dtlk.c COPYING diff-v22/ speakup_acnt.h speakup_dtlk.h CVS/ diff-v23/ speakup_acntpc.c speakup_ltlk.c Changes diff-v24/ speakup_acntsa.c speakup_spkout.c Config.in diff-v25/ speakup_apolo.c speakup_txprt.c Makefile genmap.c speakup_audptr.c speakupmap.c TODO install* speakup_bns.c speakupmap.map checkclean* patchlist-v22 speakup_decext.c symbols.h checkin* patchlist-v24 speakup_dectlk.c checkout* patchlist-v25 speakup_drvcommon.c Upon doing the install with the "install" script, I get this: Patching version v24 cp: cannot stat `speakup': No such file or directory Creating .orig files [cat: /usr/src/linux/drivers/char/speakup/patchlist-v24: No such file or directory ] done. Patching files [ppatch: Changes: extra operand patch: Try `patch --help' for more information. ] done. Copying files [ccp: copying multiple files, but last argument `symbols.h' is not a directory Try `cp --help' for more information. ] done.