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