Installing Speakup Mods (Part 3)
Doug
wearable at shawcable.com
Thu Apr 10 20:39:35 EDT 2003
(Continued ...)
After the patches are applied, compile the linux kernel:
cd /usr/src/linux
Configure the linux kernel using
make config or
make menuconfig
If you are not clear on which options to include, you
can compare to a working kernel configuration. There
are working kernel configuration examples here:
ftp://ftp.slackware.com/pub/slackware/slackware-9.0/kernels/
For example, here is the bare.i (default) slackware kernel config
ftp://ftp.slackware.com/pub/slackware/slackware-9.0/kernels/bare.i/config
The speakup patches add some new items in the kernel config.
In the console drivers section, there should be a new item
listed as "Speakup console speech". Then there will be a
list of synthesizers. For the software synthesizer using
sound card, select the "software synth driver, usrdev".
Also set the defauly synthesizer to be "usrdev" rather
than the default value which is "none". Adding these items
in the config tools adds these lines to /usr/src/linux/.config:
CONFIG_SPEAKUP=y
CONFIG_SPEAKUP_USRDEV=y
CONFIG_SPEAKUP_DEFAULT="usrdev"
CONFIG_SPEAKUP_KEYMAP=y
After you've configured your kernel appropriately, proceed
to compile and install the kernel:
cd /usr/src/linux
make dep
make bzImage
make modules
make modules_install
Copy the newly compiled kernel to its boot location
and give it an appropriate name, for example:
cd /usr/src/linux/arch/i386/boot
cp bzImage /boot/vmlinuz-speakup
You will probably need to add the new kernel to your
bootloader configuration. It's recommended that you
leave your working kernel in the bootloader in case
the new kernel doesn't boot. Here's an example of
adding a new kernel in /etc/lilo.conf
image=/boot/vmlinuz-speakup
root= /dev/hda2 (change this to your partition number)
label = Linux-Speakup
read-only
What I do is copy the 4 lines from the working
kernel and modify them for the new kernel. I leave
the old kernel there so it can still be booted:
# this is the original kernel
image=/boot/vmlinuz
root=/dev/hda2
label = Linux
read-only
# this is the new speakup kernel
image=/boot/vmlinuz-speakup
root= /dev/hda2 (change this to your partition number)
label = Linux-Speakup
Execute lilo to install the new bootloader config
/sbin/lilo -v
Check to make sure there are no errors.
Add a new device node for /dev/usrdev
mknod /dev/usrdev c 252 0
Since there is no external synthesizer, the speech will
not work until the sound system is loaded and festival
is started. You will need to add festival somewhere in
the init scripts. Adding these following lines to
/etc/rc.d/rc.local worked for me:
/usr/src/festival/bin/festival --server &
sleep 5
/usr/src/middleware/middleware &
Reboot and you should have console speech!
-- Doug
More information about the Speakup
mailing list