Installing Slackware Linux With Speakup By Saqib Shaikh <ss@saqibshaikh.com> <Note from PJV> Sorry, this document is out of date, but probably still helpful. A couple of quick hints. A working boot line might look like this: speakup.s speakup.synth=dectlk speakup.ser=1 Some synths need the speakup.ser to set the port and cannot probe (even if they could with older kernels). Anyway, good luck with the install! Ignore the parts about floppy disks and read the other docs and you should have no problems... hopefully. With the 2.6.24.x kernel series came many changes in console handling which initially broke speakup completely. Now there's been a report that while the installation works, the system will not speak upon reboot. Perhaps this could be due to the appending of vt.default_utf8=0 in lilo.conf. If you run into this problem, you could try removing that, or changing the 0 to 1. Also, gpm was interfering with serial installations in the Slackware 12.0 release, and could perhaps be another factor if it does something to grab control of the serial port when the system is rebooted after installation. In short, there are probably still some problems that remain with this, but that should be possible to work around. I apologize for not having this as polished and tested as I would wish for it to be. Any feedback that could help make this better the next time around would be greatly appreciated. Also, note that the speakup kernel is also supported within the USB and PXE installers, so there are additional options for machines that are not able to boot a CD or DVD. For more information on these, read the documentation in the usb-and-pxe-installers directory. Enjoy! </Note from PJV> Introduction Recently, a Linux screen reader called Speakup has become part of the popular Slackware Linux distribution. This document describes the procedure for installing Slackware Linux on your computer with speech output, courtesy of Speakup. It should be noted that this document is only a whirl-wind tour of installing Slackware, paying particular attention to the use of Speakup. You should also refer to "The Speakup Tutorial", which is also written by myself. This tutorial discusses how to use Speakup in your day-to-day tasks. You should also consult "Slackware Linux Essentials", which is the official Slackware book. It can be bought separately, or with a copy of Slackware, or read online at http://www.slackware.com. Getting Started The minimum requirements of running Linux with speech are similar to those detailed in the "Slackware Essentials" book. In addition, however, you will require a hardware speech synthesiser. The following synthesisers are currently supported. I give the keyword used to refer to each synthesiser as you will require this later in the installation process. acntpc: Accent PC internal speech synthesiser. acntsa: Accent SA external speech synthesiser. apolo: Apollo II external speech synthesiser. audptr: Audapter external speech synthesiser. bns: Braille 'n Speak family of note-takers, including the Braille 'n Speak, Type 'n Speak, Braille Lite and Type Lite. decext: External DEC-Talk (for the older DEC-Talk and Multi-Voice speech synthesisers). dectlk: DEC-Talk Express external speech synthesiser. dtlk: Doubletalk PC internal speech synthesiser. ltlk: Doubletalk external or Litetalk speech synthesiser. spkout: Speakout external speech synthesiser. txprt: Transport external speech synthesiser. The easiest way of getting started is to either have bought a copy of the Slackware CD-ROM or burned a copy of the Slackware CD ISO image onto a CD-R. This will allow you to boot into the installer directly without the need for any floppy disks. Due to various binaries and libraries that have increased in size, starting the installer from floppy disks will require loading 6 floppies. That is, a bootdisk and 5 rootdisk floppies. If your machine cannot boot a CD-ROM and you will need to create floppy disk images, read on to find out how. Otherwise, if you will be booting the CD-ROM to install, you may skip ahead to the section on Starting The Installation Process. If you are using DOS or Windows, then change to the directory where the boot disks are kept. An example command may be: c:\>d: d:\>cd\bootdisks d:\bootdisks> Confirm that the directory contains the file "speakup.s", "speakup.s", "speakup2.s", or "speakaha.s". The decision of which disk you are going to use depends on whether you are going to install onto an IDE hard drive or a SCSI one. If you don't know, then you're probably using an IDE hard drive. There is a complete description of the SCSI drivers included in each disk in the README.TXT in the bootdisks directory if you need more information to choose the proper disk. Now, you must write the contents of the disk image to one of the blank floppy disks. You do this under DOS/Windows using the "rawrite" command. Insert one of the disks and issue a command such as: d:\bootdisks>rawrite speakup.s a: If you are using a SCSI hard drive then use the speakup.s file instead. Now you must create the root disk. Change into the directory where the root disks are kept: d:\bootdisks>cd \rootdisks d:\rootdisks> The disk images you will need for the installation are called install.1, install.2, install.3, install.4, and install.5. There are also two extra disks in the rootdsks directory, namely "pcmcia.dsk" and "network.dsk". These disks are for people who wish to install from a PCMCIA device or using NFS. To actually create the root disks insert a blank floppy disk for install.1 and issue a command such as: d:\rootdisks>rawrite install.1 a: You will need to repeat this process with 4 more disks to create install.2, install.3, install.4, and install.5 as well. If you are already running Linux or another Unix-compatible operating-system then you can create the disks by mounting the CD-ROM (in this example I assume you mount it under /mnt). dd if=/mnt/bootdisks/speakup.s of=/dev/fd0 dd if=/mnt/rootdisks/install.1 of=/dev/fd0 dd if=/mnt/rootdisks/install.2 of=/dev/fd0 dd if=/mnt/rootdisks/install.3 of=/dev/fd0 dd if=/mnt/rootdisks/install.4 of=/dev/fd0 dd if=/mnt/rootdisks/install.5 of=/dev/fd0 Starting The Installation Process To start the talking version of the setup program, you'll need to boot the CD-ROM or bootdisk. Some machines will automatically boot a CD-ROM, but it might be necessary to make a change in the BIOS settings if it doesn't boot right away. The process for entering the BIOS setup differs from system to system, so you may need to consult your system documentation if you need to change your system's boot defaults. If you are booting from CD-ROM, insert the disc and boot your computer. After a while, the disc will stop spinning and at this point you should enter: speakup.s speakup.synth=synthname replacing synthname with the short keyword that refers to your synthesiser as discussed above. If you have an external speech synthesiser that is not plugged into your first serial port, such as com2/3/4 under DOS, then you will need to specify the serial port to use. Do this by entering: speakup.s speakup.synth=synthname speakup.ser=n If you are booting with a floppy disk, the syntax is a little bit different. First insert the boot disk and turn on your computer. After a second or so the floppy disk should stop spinning. At this point enter: ramdisk speakup.synth=synthname replacing synthname with the short keyword that refers to your synthesiser as discussed above. Just like with the CD-ROM, if you have an external speech synthesiser that is not plugged into your first serial port, such as com2/3/4 under DOS, then you will need to specify the serial port to use like this: ramdisk speakup.synth=synthname speakup.ser=n Where n is the number of your serial port. Note that the serial ports are numbered 1-4. With either the CD-ROM or bootdisk, once you've entered the correct command the Linux kernel will load and boot, and after a few seconds your synthesiser should start talking. It will read all boot-up messages, which you probably don't want to hear. To silence speech press the enter key on the numeric keypad. At this point it is probably worth giving a brief overview of the Speakup screen reading functions, though a more detailed description can be found in the "Speakup Tutorial". To temporarily silence speech press the control key. To silence speech until another key is pressed use the enter key on the numeric keypad. You can move around the screen using Speakup's reading cursor. Note that moving the reading cursor does not move the actual cursor on the screen. The numbers 1, 2 and 3 on the numeric keypad read the prior, current and enxt characters respectively. Similarly the 4, 5 and 6 keys read the prior, current and next word. 7, 8 and 9 read the previous, current and next line. The plus key reads the entire screen. There are many other screen reading keystrokes, but these are the main ones to get you started. If you used a floppy disk to start the system, you will be asked to insert the root disk and press enter, so you'll need to put in the install.1 disk, hit enter, and let it load. You'll need to repeat this process for each of the five install disks. Finally you will reach the login prompt. Just type the word "root" and press enter. Speakup will not say anything. This is because once you have logged in the prompt is a % symbol, which Speakup doesn't read with the default punctuation setting. Partitioning Your Hard Drive The issue of partitioning is one which Linux books spend entire chapters explaining. In this document I shall not go into all the details, but rather concentrate on Speakup specific usage. To start the partitioning tool use the command: %cfdisk /dev/diskname Where diskname is the name of the disk to partition. This is often hda1. Now you are in a screen which contains a list of partitions at the top. You can move through these with the up/down arrow keys, and read them in more detail using the review keys on the numeric keypad. At the bottom are a number of options to perform various actions. Cycle through these using the tab key. First of all, if your hard drive is already full (this is the case with most newly bought computers), then you will need to delete some partitions by moving to it and pressing the letter d. Using Speakup this is quite hard to do. Move up until the computer beeps, indicating that you are on the top partition. Then move down to the number you want and free up some more space. If you want to start from scratch then press d and then down, repeating this for each partition. Every deleted partition will be replaced with "free space". Note that deleting a partition will completely destroy all data stored on it. In my example I will delete all partitions. Next you need to create at minimum two partitions. To create the first one highlight "free space". Then press tab. Each time you will hear a couple of options, followed by a description. Listen to the description, and this will let you know which option is selected. Select "New". You will be prompted with primary/extended. Just press enter for primary in most cases. Then you will be asked for the size in megabytes. The total size of the free space will be given. For your main Linux partition you should use almost all of the free space, leaving just a bit for swap space, which acts as virtual memory. Typically it is recommended to have twice as much swap space as you do RAM, with a maximum of 128 mb. In my example I am prompted with 4023, so I enter 3900 and press enter. Finally I am asked whether I want the partition at the beginning or end of the partition. Once again press enter for beginning. Now we must create a swap partition. Move down to the second block of free space and select "new" again. Press enter to create a primary partition, enter a second time to except the default value, and enter a third time to place it at the beginning. Now, move up to the first partition you created. Press tap until you hear the "boot" option. Press enter. Move down to the second partition and tab until you hear "type". Press enter. You will be given lots of options and will need to press space to get to the second screen of options. Enter the number 82 and press enter. Now, use the review keys to move up to the partition list and examine the entries. You should have one partition of type "Linux", with the word "boot" on that line. Then you should have another line on which the word "boot" does not exist, of type "Linux Swap". Finally, press tab until you reach the "write" option and press enter. When prompted type the word yes and press enter. When it is complete tab to quit and press enter. Now, that is a very complicated procedure, and so that it doesn't go wrong you should really consult some other sources of information. This discussion has only been included to get around some of Speakup's little querks. Starting Setup To actually start the setup procedure just enter the word "setup" and press enter. You will be placed in a menu with many options. Note that when using the up/down arrows in this menu Speakup will say two values. When moving down the menu you should listen to the second item, and when moving back up the menu take note of the first one. This is because Speakup doesn't fully support cursor tracking yet. You may turn on experimental cursor tracking by using the star key on the numeric keypad. The first option is "help". Select this if you want to read more information about the setup procedure. The next item is "Remap your keyboard". When using Speakup you generally do not need to do this as the kernel includes a us+speakup map, however there are now two Speakup related choices on the menu if you want to try them out -- speakupmap.map, and speakup-jfw.map. The next option is "Add swap". You will be placed on the first swap partition, which is generally the right one so just press enter. When it completes it will display some more messages, just acknowledge these by pressing enter. You will automatically be taken to the next step, which is to add a Linux partition. Once again you will be placed on the first Linux partition, so just continue pressing enter. The next step is to select where you want to install from. This is generally CD-ROM or maybe hard drive. Select the option from the list and press enter. Just continue to press enter through most of the prompts, which are self-explanatory. Next, you will be placed in a list of package groups you may install. Use the arrow keys to move to an option and then press the space bar. A letter x means that an option is selected. Once you've chosen all the groups just press enter. Now you will be asked for the prompting mode. Just press enter for full prompting mode. The files will now be uncompressed to your hard drive. You may wish to press keypad-enter while it installs. You will next be asked to install a kernel. You have two options. The first is to choose to install the kernel from the boot disk in which case you will be asked to enter that disk. The alternative is to install a kernel from the CD-ROM. If you choose the first option you will automatically get a talking kernel. If you choose to select one from the CD-ROM, then you will need to choose speakup.s, speakup.s, speakup2.s, or speakaha.s (whichever you used before) from the list of available kernels. The next few sections depend what software you installed. It includes such things as selecting your time zone and configuring the network. By now you should have got the idea of selecting an item with up/down and then pressing enter to move to the next stage, so I will not go into all the details. Refer to the Slackware manual for further details. Finally you will be asked to specify the root password. When you type the password Speakup will not say anything. This is because nothing is being written to the screen so that someone looking over your shoulder doesn't see the password. And that's it! You now have Linux installed on your computer! Reboot your system. When your computer stops at the boot prompt enter the text: linux speakup.synth=synthname using the same synthname as before, and your computer should come up talking. Where Now? You should now continue reading the online book, "Slackware Linux Essentials" to learn more about Linux. The "Speakup Tutorial" will also help you learn more about Speakup, as well as giving more information about joining the Speakup mailing list, which is an invaluable resource for getting your questions answered. Good luck in your Linux adventures. If you found this document useful then please let me know. Equally, if you don't like it then tell me also. You may reach the author via email at ss@saqibshaikh.com. You may also like to visit his home page at http://www.saqibshaikh.com.