home *** CD-ROM | disk | FTP | other *** search
/ CD Actual 13 / CDA13.ISO / DOC / HOWTO / EMACSPEA.GZ / EMACSPEA
Encoding:
Text File  |  1996-08-18  |  53.7 KB  |  1,242 lines

  1.   The Linux Emacspeak HOWTO
  2.   Jim Van Zandt, jrv@vanzandt.mv.com
  3.   v0.5, 16 Aug 1996
  4.  
  5.   This document describes how a blind user can use Linux with a speech
  6.   synthesizer to replace the video display.  It describes how to get
  7.   Linux running on your own PC, and how to set it up for speech output.
  8.   It suggests how to learn about Unix.
  9.  
  10.   1.  Introduction
  11.  
  12.   Emacspeak is an Emacs subsystem that allows the user to get feedback
  13.   using synthesized speech.
  14.  
  15.   Screen reading programs allow a visually impaired user to get feedback
  16.   using synthesized speech. Such programs have been commercially
  17.   available for well over a decade. Most of them run on PC's under DOS,
  18.   and there are now a few screen-readers for the Windows platform.
  19.   However, screen-readers for the UNIX environment have been conspicuous
  20.   in their absence.
  21.  
  22.   This means that most visually impaired computer users face the
  23.   additional handicap of being DOS-impaired -- a far more serious
  24.   problem:-)
  25.  
  26.   Emacspeak is an emacs subsystem that provides basic speech access.
  27.   Emacspeak will always have the shortcoming that it will only work
  28.   under Emacs.  This said, there is very little that cannot be done
  29.   inside Emacs, so it's not a real shortcoming:-) Within Emacs, you can
  30.   open a "shell window" where run commands and examine their output,
  31.   even output which has scrolled out of the window.  Emacs provides
  32.   special modes for running certain commands.  For example, it can parse
  33.   error messages printed by a compiler and open a separate edit window
  34.   with the cursor at the point of the error.  It can also run a debugger
  35.   and keep a separate edit window open at the point in the source code
  36.   corresponding to the program counter.
  37.  
  38.   Emacspeak does have a significant advantage: since it runs inside
  39.   Emacs, a structure-sensitive, fully customizable editor, Emacspeak
  40.   often has more context-specific information about what it is speaking
  41.   than its commercial counterparts.  In this sense, Emacspeak is not a
  42.   "screenreader", it is a subsystem that produces speech output.  A
  43.   traditional screen-reader speaks the content of the screen, leaving it
  44.   to the user to interpret the visually laid-out information.
  45.   Emacspeak, on the other hand, treats speech as a first-class output
  46.   mode; it speaks the information in a manner that is easy to comprehend
  47.   when listening.
  48.  
  49.   This initial version provides a basic speech subsystem for Emacs;
  50.   using Emacs' power and flexibility, it has proven straightforward to
  51.   add modules that customize how things are spoken, e.g. depending on
  52.   the major/minor mode of a given buffer.  Note that the basic speech
  53.   functionality provided by Emacspeak is sufficient to use most Emacs
  54.   packages effectively; adding package-specific customizations makes the
  55.   interaction much smoother.  This is because package-specific
  56.   extensions can take advantage of the current context.
  57.  
  58.   This document is limited to the following:
  59.  
  60.   ╖  Linux (not Free BSD)
  61.  
  62.   ╖  The Slackware distribution (not Red Hat, Debian, etc.)
  63.  
  64.   ╖  Speech output only (not Braille - see the Access HOWTO)
  65.  
  66.   ╖  Dectalk synthesizers (Dectalk Express and MultiVoice--not the
  67.      Accent, SmarTalk, a sound card, etc.)
  68.  
  69.   ╖  Use of Emacs, with T. V. Raman's Emacspeak package, to drive the
  70.      synthesizer.
  71.  
  72.   The use of adaptive technology with Linux, and in particular, using
  73.   adaptive technology to make Linux accessible to those who could not
  74.   use it otherwise, is covered in the Linux Access HOWTO.
  75.  
  76.   If you would like to help extend this document to cover one or more of
  77.   the other alternatives, or point me to a discussion somewhere else,
  78.   please contact me.
  79.  
  80.   Emacspeak was written by T. V. Raman raman@adobe.com.  Emacspeak has a
  81.   Web page at
  82.   <http://www.cs.cornell.edu/Info/People/raman/emacspeak/emacspeak.html>.
  83.  
  84.   Computer hardware, Unix user commands, Unix system administration,
  85.   Emacs, and Emacspeak are each substantial systems.  Attempting to
  86.   learn all of them at once is likely to lead to frustration.  Instead,
  87.   I suggest that the new user go through a sequence of stages, learning
  88.   about only one system at a time.
  89.  
  90.   2.  Stage 1. DOS with speech
  91.  
  92.   Most blind computer users have speech synthesizers with a screen
  93.   reader program like JAWS [``JAWS''].  (References in this format refer
  94.   to entries in the "Footnotes and References" section below.)  Using
  95.   this setup, install and become familiar with some terminal emulator
  96.   like Telix [``TELIX''] or Commo [``COMMO''], which are available from
  97.   the SimTel archive [``SimTel''] among others.
  98.  
  99.   2.1.  Getting Linux on CDROM
  100.  
  101.   If you have or can borrow a CDROM drive, I recommend you get one of
  102.   the many good distributions of Linux on that medium.  I am most
  103.   familiar with disks from InfoMagic [``InfoMagic''].  Another source is
  104.   Walnut Creek [``Walnut Creek''] (who originated the whole idea of
  105.   inexpensive CDROMS full of programs from Internet archives).
  106.   Distributions other than Slackware are available from Red Hat [``Red
  107.   Hat''], Craftwork [``Craftwork''], and Yggdrasil [``Yggdrasil''].  As
  108.   a rule, these CDROMS use the "ISO 9660" format, which can be read
  109.   under DOS.  (They also use the "Rock Ridge extensions" which add extra
  110.   files in each directory.  Linux uses the extra information to give you
  111.   long filenames, both upper and lower case characters in filenames, and
  112.   file permissions.)
  113.  
  114.   2.2.  Getting Linux by FTP
  115.  
  116.   Another way to get Linux and its documentation is by FTP over the
  117.   Internet.  Its home site is Walnut Creek [``Walnut Creek''].  It is
  118.   also carried by sunsite and many of it mirror sites.  Here is a
  119.   partial list:
  120.  
  121.   ╖  USA (home site)  <ftp://ftp.cdrom.com/pub/linux/slackware>
  122.  
  123.   ╖  UK/Europe
  124.      <ftp://src.doc.ic.ac.uk/public/Mirrors/ftp.cdrom.com/pub/linux/slackware-3.1>
  125.  
  126.   ╖  Japan  <ftp://ftp.cs.titech.ac.jp/pub/os/linux/slackware>
  127.  
  128.   ╖  Taiwan  <ftp://NCTUCCCA.edu.tw/OS/Linux/Slackware>
  129.  
  130.   ╖  Hong Kong  <ftp://ftp.cs.cuhk.hk/pub/slackware>
  131.  
  132.   ╖  USA  <ftp://sunsite.unc.edu/pub/Linux/distributions/slackware>
  133.  
  134.   ╖  USA
  135.      <ftp://uiarchive.cso.uiuc.edu/pub/systems/linux/sunsite/distributions/slackware>
  136.  
  137.   More sites are listed in the INFO-SHEET
  138.   <ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/INFO-SHEET>.  Sunsite can
  139.   also be reached using a Web browser:
  140.   <http://sunsite.unc.edu/pub/Linux/welcome.html>.
  141.  
  142.   2.3.  Linux Documentation
  143.  
  144.   Read the Linux documentation.  I will quote here the file names and
  145.   locations on the first disk of InfoMagic's November 1995 "Developer's
  146.   Resource" set of five CDROMS, as seen under DOS.  Other CDROM sets
  147.   should have similar information, though perhaps differently arranged.
  148.   There are general guides to the disks in the set in \readme.1st and
  149.   \help\whereami.txt.  Matt Welsh's step by step guide to installing
  150.   Slackware is in \help\quicksta.txt.  (This is slightly dated.  For
  151.   example, you no longer need to decompress the root disks before
  152.   writing them out.  However, it is still a "must-read".)
  153.  
  154.   More general information is in the Linux "Frequently Asked Questions"
  155.   list in \slackwar\docs\linux.faq\linux-fa.asc.  Longer descriptions
  156.   are in "HOWTO" documents (of which this is one).  They are found in
  157.   \howto.  Note particularly \howto\hardware, which lists which kinds of
  158.   hardware are supported by Linux, \howto\meta-faq, which points to
  159.   sources of information (that is, a more extensive version of this
  160.   paragraph), and \help\index, which is a list of the HOWTO documents
  161.   with short descriptions.  The Linux installation HOWTO,
  162.   \howto\installation, is another version of Matt Welsh's installation
  163.   instructions.
  164.  
  165.   One note on reading the documentation.  You may run into files with
  166.   ASCII highlighting, where character-backspace-character stands for
  167.   "bold", and underscore-backspace-character stands for "italics".  One
  168.   way to handle this is to use the less program, which displays these
  169.   sequences in alternate colors.  A DOS screenreader can, for example,
  170.   search for such highlighted text.  A DOS version of less can be
  171.   obtained by FTP from the SimTel archive [``SimTel''].  Within the
  172.   SimTel collection, look for directory msdos/textutil.  For example,
  173.   try  <ftp://ftp.coast.net/pub/SimTel/msdos/textutil>.
  174.  
  175.   I will suggest four alternatives for learning Emacs commands (see
  176.   section [``Learning Emacs'']).  The first option is to install Emacs
  177.   under DOS and learn it while using the DOS screen reader.  Where to
  178.   get Emacs for DOS is a "frequently asked question" [``Emacs for
  179.   DOS''].
  180.  
  181.   The source code for Emacs (about 10 MB) can be gotten from
  182.   <ftp://prep.ai.mit.edu/pub/gnu/emacs-19.31.tar.gz>, or from one of
  183.   many mirrors of the GNU collection [``Gnu Mirrors''].
  184.  
  185.   3.  Stage 2. Terminal to remote UNIX system
  186.  
  187.   Arrange for what is called a "shell account" on some Unix system.
  188.   Most Internet Service Providers (ISPs) can provide this service.  Use
  189.   the terminal emulator program and a modem to dial in.  Learn the basic
  190.   Unix commands.  If the system has Emacs installed, or you can persuade
  191.   the system administrator to install it, this is your second chance to
  192.   learn it.  It is probably best to learn it at this point, because
  193.   administering a Unix system (the next stage) will call for you to edit
  194.   files.  Therefore, I include here my suggestions for learning both
  195.   Unix and Emacs.
  196.  
  197.   3.1.  Learning Unix
  198.  
  199.   When you arrange for a shell account, or set up a new account on your
  200.   own machine, you will have to decide on a username and a password.
  201.   Your username will also be used in your email address, so try to find
  202.   something short and memorable.  Your password is important, and should
  203.   be hard to guess.  That usually means at least six characters,
  204.   including at least one non-alphanumeric character.
  205.  
  206.   When a Unix system is ready for you to log in, it normally displays a
  207.   prompt ending with "login:".  At this point you should type in your
  208.   username.  It will then prompt you for your password, and will turn
  209.   off command echoing while you type it in.
  210.  
  211.   The command to finish a terminal session is logout.
  212.  
  213.   To learn about a command, use the man command to type its manual page
  214.   ("man page" for short).  For example, to learn more about the cp
  215.   command by typing man cp.  Of course, this helps only if you know or
  216.   can guess the command name.  However, each man page has a line near
  217.   the beginning with the command name, a minus sign, and a short
  218.   description of what the command does.  You can search a database of
  219.   these lines using the command apropos.  Thus, typing apropos working
  220.   will list lines that include the word "working".
  221.  
  222.   Under Unix, commands normally accept options starting with a minus
  223.   sign rather than the forward slash used under DOS.  In a path,
  224.   directory names are separated by forward slashes rather than backward
  225.   slashes.  Both operating systems have a "standard input", by default
  226.   the keyboard, and a "standard output", by default the display screen.
  227.   You can redirect the standard input using "<", and redirect the output
  228.   using ">".  You can use the output from one command as the input of
  229.   another by separating the two commands with "|".  This is called the
  230.   "pipe" symbol.
  231.  
  232.   The program that interprets your command is a "shell".  Most shells
  233.   are decendents of either the Bourne shell sh or the C shell csh.  The
  234.   shell most commonly used with Linux is the "Bourne again shell", or
  235.   bash.  It has several features which can reduce the need for typing.
  236.   You can use the cursor up key key to bring previous commands to the
  237.   command line.  The cursor will be at the end of the command.  You can
  238.   use cursor left and right to move the cursor within the command, and
  239.   edit it with Emacs style commands (^D or DEL to delete the character
  240.   to the right, et cetera).  Also, you can insert the last word in the
  241.   previous command with ESC-. (escape period).  You can learn about
  242.   these and other commands from the bash man page, in the section
  243.   entitled "READLINE".
  244.  
  245.   If a program gets "stuck", here is a sequence of keystrokes to try:
  246.  
  247.   ╖  ^Q (that is, control-Q).  You may have sent a ^S, which halts all
  248.      output, without realizing it.  The ^Q will restart it.
  249.  
  250.   ╖  ^D, which signals "end of file" under Unix (similar to ^Z under
  251.      DOS), in case the program expects input which you are not prepared
  252.      to supply.
  253.   ╖  ^C is an interrupt, which may halt the program.
  254.  
  255.   ╖  ^Z puts the program in the background.  At this point you may
  256.      simply log out, although you will be warned about the background
  257.      process and will have to repeat the logout command.  You can
  258.      instead kill the process, as follows: Run ps with no arguments.  It
  259.      will list a header line, then one line for each of your processes.
  260.      The first item on each line is the process id number, or PID.  The
  261.      command used to start the process (or at least the beginning of it)
  262.      appears at the end of the line.  If the PID were 117, you would
  263.      kill the process with the command kill -9 117.
  264.  
  265.   ╖  alt-2, or some other alt-number combination, will switch to a
  266.      different virtual console.  You can log in there just as if you had
  267.      sat down to a different terminal.
  268.  
  269.   ╖  Control-alt-del should reboot the computer nondestructively.
  270.  
  271.   ╖  As a last resort, you can hit "reset" or cycle the power.  This
  272.      will leave the filesystems in an invalid state, since some buffers
  273.      will not have been written to disk.  The kernel will discover this
  274.      while booting, and will take time to check and repair the
  275.      filesystems.  Actual data loss is unlikely unless you had something
  276.      else going on at the time.
  277.  
  278.   Guido Gonzato Guido@ibogfs.cineca.it has written an excellent guide to
  279.   Linux for (former) DOS users, the DOS2Linux mini-HOWTO.  You can
  280.   probably find it in the same directory as this document, or else at
  281.   <ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/mini>.
  282.  
  283.   You can find general Unix information, including manual pages for
  284.   several systems at <http://www.cis.ohio-
  285.   state.edu/hypertext/man_pages.html>
  286.  
  287.   There is a tutorial entitled "Beginning Unix and the C Shell" at
  288.   <http://www.eng.hawaii.edu:80/Courses/C.unix/page-03.html>.
  289.  
  290.   You can get general help from  <http://www.nova.edu/Inter-
  291.   Links/UNIXhelp/TOP_.html> or <http://www.eecs.nwu.edu/unix.html>
  292.  
  293.   You can find a list of books on UNIX at
  294.   <http://www.eskimo.com/~cher/eskimospace/booklist.html>.
  295.  
  296.   3.2.  Learning Emacs
  297.  
  298.   When you start Emacs, you will normally list on the command line one
  299.   or more files which you will be editing.  To edit a file named
  300.   "foobar" with Emacs, you would enter the command emacs foobar.  If you
  301.   enter the command emacs with no arguments, GNU Emacs will assume you
  302.   are a new user, and print out an introduction which includes the first
  303.   five commands you need to learn, approximately as follows:
  304.  
  305.      Type C-h for help;   (`C-' means use CTRL key.)
  306.      Type C-x u to undo changes.
  307.      Type C-h t for a tutorial on using Emacs.
  308.      Type C-h i to enter Info, which you can use to read GNU documentation.
  309.      To kill the Emacs job, type C-x C-c.
  310.  
  311.   Note the way Emacs documentation refers to key combinations.  C-h
  312.   means hold the control key down while typing "h".  You will also run
  313.   into key combinations like M-v, which is pronounced "meta v".  The
  314.   tutorial suggests holding down the key labeled "edit" or "meta" then
  315.   typing "v".  I have never run across a keyboard with those keys, so I
  316.   always use the escape key instead: typing "Esc" then "v" (two separate
  317.   keystrokes).  After using Emacs for a long time, I discovered that
  318.   under Linux, the left "Alt" key works like a "meta" key.  You may want
  319.   to use this.  On the other hand, some of these key combinations may
  320.   conflict with your screen reader or communications program under DOS.
  321.   Using the escape key is more reliable.
  322.  
  323.   Three of the above commands start with C-h, which may be treated as a
  324.   backspace by your communications program.  In that case, you may
  325.   access the help command using the long form M-x help.  Conversely, you
  326.   may find that pressing the backspace key starts the help command.
  327.   This issue is treated in the Emacs FAQ, which is available within
  328.   Emacs using C-h F or M-x help F.  Look for the question "Why does the
  329.   `Backspace' key invoke help?".  In this case, you may also find that
  330.   C-s and C-q are unavailable because they are used for flow control
  331.   (XON and XOFF).  You should look at the question "How do I handle C-s
  332.   and C-q being used for flow control?" in the FAQ.  For the particular
  333.   command C-x C-s (save buffer), you may substitute the command C-x s
  334.   (save-some-buffers).  The former command saves the current buffer,
  335.   while the latter asks the user about each of the modified buffers.
  336.  
  337.   Note in particular the command "C-h t" to start the tutorial.  That is
  338.   one the first things you will want to try.  I will only make a couple
  339.   of comments on the tutorial.  To move the cursor, it gives the four
  340.   commands C-f, C-b, C-p, and C-n (for forward, back, previous line, and
  341.   next line).  These commands always work.  However, with a properly
  342.   installed Emacs, the regular arrow keys should also work.  Try them
  343.   out and use them if you are more comfortable with them.  Similarly,
  344.   you may be able to use home, end, page down, and page up keys in place
  345.   of the standard commands C-a, C-e, C-v, and M-v.  Finally, all
  346.   Emacspeak commands begin with C-e.  Once you start using Emacspeak,
  347.   you will have to type it twice to get the end of line function.  (The
  348.   "End" key should be unaffected by Emacspeak.)
  349.  
  350.   4.  Stage 3. Terminal to local Linux system
  351.  
  352.   This arrangement again requires a DOS machine with a speech
  353.   synthesizer and a terminal emulator program.  However, instead of
  354.   dialing up a remote computer, it is used as a terminal to a local
  355.   computer running Linux.  To get to this point, you need to install
  356.   Linux on a machine.  You may be able to prevail on a knowledgable
  357.   friend to help you with this.  However, it is also possible to install
  358.   it yourself with speech feedback for almost the whole procedure.
  359.  
  360.   4.1.  Installing Linux
  361.  
  362.   First, some background.  Even the simplest Unix system requires a
  363.   program called the kernel and a root file system.  The kernel has all
  364.   the device drivers and resource management functions.  One normally
  365.   thinks of a "file system" as residing on a hard disk or floppy disk,
  366.   but during an installation it is usually in ram.  Linux is normally
  367.   installed by writing a kernel image to a floppy disk, called the "boot
  368.   floppy", configuring it to reserve a section of RAM for a ramdisk,
  369.   then filling that ramdisk with data from a second floppy disk, called
  370.   the "root floppy".  As soon as both floppies have been read in, the
  371.   user can log in as "root" and complete the installation.  The sighted
  372.   user logs in on the "system console", that is, the computer's own
  373.   keyboard and video display.  However, remember that Unix has been a
  374.   multiprocessing operating system from the very beginning.  Even this
  375.   very primitive Unix system, running out of a small ramdisk, also
  376.   supports logins from a terminal connected to a serial port.  This is
  377.   what a blind user can use.
  378.  
  379.   To connect the two computers, you can use a "null modem", a serial
  380.   cable that connects ground to ground, and transmit on each end to
  381.   receive on the other.  The cable that comes with the DOS application
  382.   LapLink will work fine.  It is particularly handy, in fact, because it
  383.   has both a 9 pin and a 25 pin connector on each end.  If you want to
  384.   check a cable or have one made, here are the required connections:
  385.  
  386.   For two 9 pin connectors, connect pin 2 (receive data) to pin 3, pin 3
  387.   (transmit data) to pin 2, and pin 5 (signal ground) to pin 5.
  388.  
  389.   For two 25 pin connectors, connect pin 2 (receive data) to pin 3, pin
  390.   3 (transmit data) to pin 2, and pin 7 (signal ground) to pin 7.
  391.  
  392.   For a 9 pin connector (first) to a 25 pin connector (second), connect
  393.   pin 2 (receive data) to pin 2 (transmit data), pin 3 (transmit data)
  394.   to pin 3 (receive data), and pin 5 (signal ground) to pin 7 (signal
  395.   ground).
  396.  
  397.   You may have noted that I have included no connections for the
  398.   "handshaking" signals.  During login, the serial port is handled by
  399.   the program agetty.  Recent versions of this program accept a -L
  400.   switch which tells it not to expect modem control signals.  The
  401.   version in Slackware 3.0 does, but the one on the 3.0 (and earlier)
  402.   installation root disks does not.  However, Pat Volkerding has assured
  403.   me that the root disks in the next release of Slackware will have the
  404.   updated version of agetty.  It is also possible to use the earlier
  405.   root disks [``Emacspeak with Earlier Slackware Releases''].  (The
  406.   messages quoted below come from Slackware 3.0 because that's the most
  407.   recent release I have.  I'll update them after the new release comes
  408.   out.)
  409.  
  410.   Consult the documentation on your CDROM, or downloaded from an FTP
  411.   site, and choose a boot disk with the proper kernel features for your
  412.   hardware (IDE or SCSI, CDROM driver, etc.).  I have the InfoMagic
  413.   November 1995 "Developer's Resource" set of five CDROMS.  Slackware
  414.   3.0 is on disk 1 of that set.  Documentation on the boot floppies is
  415.   in slackwar/boot144/WHICH.ONE.  The DOS program for writing boot
  416.   images to a floppy is utils/rawrite.exe.  Therefore, one might use
  417.   these commands to write to a disk in the A drive:
  418.  
  419.                c>m:
  420.                m>cd \\slackwar\\boot144
  421.                m>m:\\utils\\rawrite
  422.                scsinet1
  423.                a
  424.  
  425.   Similarly, to write the "text" root disk:
  426.  
  427.                c>m:
  428.                m>cd \\slackwar\\rootdsks
  429.                m>\\utils\\rawarite
  430.                text.gz
  431.                a
  432.  
  433.   For the actual installation, proceed as follows: Use the null modem to
  434.   connect the computer running DOS and equipped with speech output
  435.   (henceforth called the "DOS computer") to the computer into which you
  436.   want to install Linux (henceforth the "Linux computer").
  437.  
  438.   Boot the DOS machine, and start your terminal emulation program.  Set
  439.   it up for 9600 baud, no parity, eight data bits, 1 stop bit.
  440.  
  441.   On the Linux machine, insert the "boot" disk and boot (power up, cntl-
  442.   alt-del, or hit the reset switch).  It should read the disk for five
  443.   seconds or so, and stop with the following text:
  444.  
  445.   (Note: in the following, the large blocks of text quoted from the
  446.   installation disks are preceded by "-- begin quote" and followed by
  447.   "-- end quote".  To skip to the end of a quote, you may search for two
  448.   dashes starting in the first column.)
  449.  
  450.   -- begin quote
  451.  
  452.        Welcome to the Slackware Linux 3.0.0 bootkernel disk!
  453.  
  454.        If you have any extra parameters to pass to the kernel, enter them at the
  455.        prompt below after one of the valid configuration names (ramdisk, mount, drive2)
  456.        Here are some examples (and more can be found in the BOOTING file):
  457.  
  458.          ramdisk hd=cyl,hds,secs   (Where "cyl", "hds", and "secs" are the number of
  459.                                     cylinders, sectors, and heads on the drive.  Most
  460.                                     machines won't need this.)
  461.  
  462.        In a pinch, you can boot your system with a command like:
  463.          mount root=/dev/hda1
  464.  
  465.        On machines with low memory, you can use mount root=/dev/fd1 or
  466.        mount root=/dev/fd0 to install without a ramdisk.  See LOWMEM.TXT for details.
  467.  
  468.        If you would rather load the root/install disk from your second floppy drive:
  469.          drive2  (or even this:  ramdisk root=/dev/fd1)
  470.  
  471.        DON'T SWITCH ANY DISKS YET! This prompt is just for entering extra parameters.
  472.        If you don't need to enter any parameters, hit ENTER to continue.
  473.  
  474.        boot:
  475.  
  476.   -- end quote
  477.  
  478.   I have almost always been able to just hit "enter" at this point.
  479.  
  480.   After your entry, it should read the floppy for another twenty seconds
  481.   or so, then boot the kernel.  Each device driver in the kernel
  482.   displays a line or two.  The particular disk I'm using (the "bare"
  483.   bootdisk) displays more than one screen's worth.  It is possible to
  484.   type shift-page up to scroll the text back.  On my machine, the boot
  485.   messages are as follows:
  486.  
  487.   -- begin quote
  488.  
  489.        Loading ramdisk.....
  490.        Uncompressing Linux...done.
  491.        Now booting the kernel
  492.        Console: colour EGA+ 80x25, 1 virtual console (max 63)
  493.        Calibrating delay loop.. ok - 17.47 BogoMips
  494.        Serial driver version 4.11 with no serial options enabled
  495.        tty00 at 0x03f8 (irq = 4) is a 16550A
  496.        lp1 at 0x0378, using polling driver
  497.        PS/2 auxiliary pointing device detected -- driver installed.
  498.        ftape: allocated 3 buffers aligned at: 0138000
  499.        hda: IBM-DBOA-2720, 689MB w/64KB Cache, LBA, CHS=700/32/63, MaxMult=32
  500.        ide0: primary interface on irq 14
  501.        Floppy drive(s): fd0 is 1.44M
  502.        FDC 0 is a 8272A
  503.        Memory: 5524k/8384k available (648k kernel code, 384k reserved, 1828k data)
  504.        This processor honours the WP bit even when in superviser mode.  Good.
  505.        Swansea University Computer Society NET3.019
  506.        Swansea University Computer Society TCP/IP for NET3.019
  507.        IP Protocols: ICMP, UDP, TCP
  508.        PPP: version 0.2.7 (4 channels) NEW_TTY_DRIVERS OPTIMIZE_FLAGS
  509.        TCP compuression code copyright 1989 Regents of the University of California
  510.        PPP line discipline registered.
  511.        SLIP: version 0.8.3-NET3.019-NETTTY (4 channels) (6 bit encapsulation enabled)
  512.        CSLIP: code copyright 1989 Regents of the University of California
  513.        Checking 386/387 coupling... Ok, fpu using exception 16 error reporting.
  514.        Checking 'hlt' instruction... Ok.
  515.        Linux version 1.2.13 (root@bigkitty) (gcc version 2.7.0) #1 Tue Aug 22 22:23:13
  516.        CDT 1995
  517.        Partition check:
  518.          hda: hda1 hda2 hda3
  519.        VFS: Insert ramdisk floppy and press ENTER
  520.  
  521.   -- end quote
  522.  
  523.   Some messages will of course be different on a machine with different
  524.   hardware.  Now, insert the "text" rootdisk and press ENTER.  After it
  525.   is read, the following is displayed on the console, and should also be
  526.   displayed on the DOS machine (and therefore spoken):
  527.  
  528.   -- begin quote
  529.  
  530.   VFS: Disk change detected on device 2/28
  531.   RAMDISK : starting gunzip of rootdisk image... 10
  532.   done.
  533.   VFS: Mounted root (minix filesystem).
  534.   Apr 12 23:00:57 init[1]: version 2.4 booting
  535.   none on /proc type proc (rw)
  536.   Apr 12 23:00:57 init[1]: Entering runlevel: 4
  537.  
  538.   Welcome to the Slackware Linux installation disk ,version 3.0.0-tty!
  539.   ### READ THE INSTRUCTIONS BELOW CAREFULLY! ###
  540.  
  541.   You will need one or more partitions of type "Linux native" prepared. It is
  542.   also recommended that you create a swap partition (type "Linux swap") prior to
  543.   installation. Most users can use the Linux "fdisk" utility to create and tag
  544.   the types of all these partitions. OS/2 Boot Manager users, however, should
  545.   create their Linux partitions with OS/2 "fdisk", add the bootable (root)
  546.   partition to the Boot Manager menu, and then use the Linux "fdisk" to tag the
  547.   partitions as type "Linux native".
  548.  
  549.   If you have 4 megabytes or less of RAM, you MUST ACTIVATE a swap partition
  550.   before running setup. After making the partition with fdisk, use:
  551.  
  552.   mkswap /dev/<partition> <number of blocks> ; swapon /dev/<partition>
  553.  
  554.   Once you have prepared the disk partitions for Linux, type "setup" to
  555.   begin the installation process.
  556.  
  557.   You may now login as "root".
  558.  
  559.   slackware login:
  560.  
  561.   -- end quote
  562.  
  563.   If you don't get this prompt, try the following:
  564.  
  565.   ╖  Type a single carriage return.
  566.  
  567.   ╖  Recheck the terminal setup (9600 baud, no parity, eight data bits,
  568.      1 stop bit)
  569.  
  570.   ╖  Disconnect the null modem from the DOS machine.  In its place,
  571.      connect a modem which supports the Hayes "AT" commands.  Type AT
  572.      and a carriage return.  You should get a reply of "OK" from the
  573.      modem.
  574.  
  575.   Once you get the above prompt on the DOS machine, you may type root
  576.   and a single carriage return to log in, and complete the installation
  577.   like any other user.  Of course, you must remember to include these
  578.   four packages: emacs, emacspeak, tcl, and tclX.
  579.  
  580.   The installation script will offer to prepare a boot floppy.  You
  581.   should do this, since it is the most foolproof way to boot Linux.  You
  582.   will probably also want to install lilo (which is an abbreviation for
  583.   "Linux loader") and/or loadlin (which is an abbreviation for "load
  584.   Linux").  The installation script can install lilo.  Loadlin is a DOS
  585.   program that will let you boot from DOS to Linux.  Install it on a DOS
  586.   partition, and copy a compressed kernel file (usually named zImage) to
  587.   the same partition.  While running DOS, you may boot Linux with a
  588.   command like loadlin zimage root=/dev/hda3 ro/.  (I have assumed here
  589.   that the kernel image is in the same directory as the loadlin program.
  590.   You may find it more convenient to store kernel images in
  591.   subdirectories named for the kernel version.)
  592.  
  593.   Reboot the Linux machine with the new boot floppy, with the DOS
  594.   machine still connected.  You should get a login prompt on the DOS
  595.   machine.  Celebrate!  After getting this system working, you need to
  596.   learn emacs (third option) and Unix system administration.
  597.  
  598.   4.2.  Learning Unix System Administration
  599.  
  600.   Mostly you will learn system administration as the need arises.  First
  601.   adding a user (yourself), then installing programs, and so forth.  The
  602.   exception to this is making backups, which you should learn before you
  603.   need them.
  604.  
  605.   You will need to learn these programs:
  606.  
  607.      tar
  608.         Create and unpack .tar files, which are collections of files
  609.         (something like .zip files).  To list the contents of an
  610.         archive, use tar -tf foobar.tar.  For a more verbose listing,
  611.         use tar -tvf foobar.tar.  To unpack an archive, use tar -xf
  612.         foobar.tar.
  613.  
  614.      find
  615.         Search directories recursively.  For example, the command find .
  616.         -name '*alpha*' -print means: search starting in the current
  617.         directory (.) for a file whose name contains the string "alpha"
  618.         (-name '*alpha*'), and print its path and name (-print).  (With
  619.         GNU find, the -print is optional.)
  620.  
  621.      df Display filesystem capacities, free space, and where they are
  622.         mounted.
  623.  
  624.      mount
  625.         Display filesystems, where they are mounted, and the mount
  626.         flags.
  627.  
  628.      ftp
  629.         Transfer files across the Internet.
  630.  
  631.   Here are some programs you may want to install:
  632.  
  633.      agrep
  634.         Approximate grep searches for approximate, not exact, string
  635.         matches (also called "fuzzy string searches").
  636.  
  637.      archie
  638.         Search Internet archives for files.
  639.  
  640.      flip
  641.         Convert text files between Unix and DOS formats.
  642.  
  643.      glimpse
  644.         Fuzzy string searches in large collection of files (uses agrep).
  645.  
  646.      lynx
  647.         Text mode web browser.
  648.  
  649.   Here are some Web pages related to Unix system administration:
  650.  
  651.   General information <http://www.ensta.fr/internet/unix/sys_admin/> or
  652.   <http://www.sai.msu.su/sysadm.html>
  653.  
  654.   There is a Unix system administration tutorial at
  655.   <http://www.iem.ac.ru/sysadm.html>
  656.  
  657.   UnixWorld Online Magazine Home Page <http://www.wcmh.com/uworld/>
  658.  
  659.   Internet Essentials for UNIX System Administrators Tutorial
  660.   <http://www.greatcircle.com/tutorials/ieusa.html>
  661.  
  662.   Pointers to Unix goodies available on the Internet
  663.   <http://www.ensta.fr/internet/unix/>
  664.  
  665.   Pointers to Unix system administration "goodies" available on the
  666.   Internet <http://www.ensta.fr/internet/unix/sys_admin/>
  667.  
  668.   5.  Stage 4. Emacspeak under Linux
  669.  
  670.   The Slackware setup script for Emacspeak should create the needed
  671.   environment variables and a install a script emacspeak that starts
  672.   emacs with emacspeak.  This is your fourth option for learning Emacs.
  673.   This is the first time you will be able to actually use Emacspeak.  A
  674.   short tutorial appears below.  Within Emacs, you may type C-h C-e to
  675.   get a list of the commands.  To search for a command, use C-h a.  To
  676.   get an explanation for a key sequence, use C-h k.  There is also an
  677.   info file which is part of the Emacspeak distribution.  Within emacs,
  678.   you may type C-u C-h i, then enough backspaces to delete the default
  679.   path (that is, until the beep), then "/usr/info/emacspeak.info".  If
  680.   you have the standalone info program installed, you can consult the
  681.   info file with the command info Emacspeak.
  682.  
  683.   5.1.  Emacspeak Introduction - Speech Enabled Normal Commands
  684.  
  685.   All of the normal Emacs movement commands will speak the relevant
  686.   information after moving.  Here are some of the cursor movement
  687.   functions that have  been speech enabled.  Note that this list only
  688.   enumerates a few of these speech enabled commands; the purpose of
  689.   emacspeak is to speech-enable all of emacs and provide you spoken
  690.   feedback as you work.  Thus, this list is here only as a
  691.   representative example of the kind of speech-enabling extensions
  692.   Emacspeak  provides.
  693.  
  694.   `C-n' or `M-x next-line' or `down' Moves the cursor to the next line
  695.   and speaks it.
  696.  
  697.   `C-p' or `M-x previous-line' or `up' Moves the cursor to the previous
  698.   line and speaks it.
  699.  
  700.   `M-f' or `M-x forward-word' or Moves the cursor to the next word and
  701.   speaks it.  Places point on the first character of the next work,
  702.   rather than on the space preceding it (This is my personal
  703.   preference).
  704.  
  705.   `M-b' or `M-x backward-word' Moves the cursor to the previous word and
  706.   speaks it.
  707.  
  708.   `M-C-b' or `M-x backward-sexp' Moves the cursor to the previous sexp
  709.   and speaks it.  If the sexp spans more than a line, only the first
  710.   line is spoken.
  711.  
  712.   `M-<' or `M-x beginning-of-buffer' Speaks line moved to.
  713.  
  714.   `M->' or `M-x end-of-buffer' Speaks line moved to.
  715.  
  716.   `M-m' or `M-x back-to-indentation' Speaks entire current line.  A
  717.   useful way of hearing the current line.
  718.  
  719.   5.2.  Emacspeak Introduction - New Commands
  720.  
  721.   Emacspeak provides a number of commands for reading portions of the
  722.   current buffer, getting status information, and modifying Emacspeak's
  723.   state.
  724.  
  725.   All of the commands are documented in the subsequent sections.  They
  726.   can be classified into types:
  727.  
  728.   Emacspeak commands for listening to chunks of information.  The names
  729.   of these commands all start with the common prefix `emacspeak-'.  All
  730.   Emacspeak commands are bound to the keymap EMACSPEAK-KEYMAP and are
  731.   accessed with the key `Control e'.  Thus, the Emacspeak command
  732.   "emacspeak-speak-line" is bound to `l' in keymap EMACSPEAK-KEYMAP and
  733.   can be accessed with the keystroke `Control-e l'.
  734.  
  735.   Here are some of the commands for reading text:
  736.  
  737.   `C-e c' or `M-x emacspeak-speak-char' Speak current character, using
  738.   the phonetic alphabet.
  739.  
  740.   `C-e w' or `M-x emacspeak-speak-word' Speak current word.
  741.  
  742.   `C-e l' or `M-x emacspeak-speak-line' Speak current line.  With prefix
  743.   arg, speaks the rest of the line from point.  Negative prefix optional
  744.   arg speaks from start of line to point.  Voicifies if voice-lock-mode
  745.   is on.  Indicates indentation with a tone if audio indentation is in
  746.   use.  Indicates position of point with an aural highlight if option
  747.   emacspeak-show-point is turned on --see command `M-x emacspeak-show-
  748.   point'.
  749.  
  750.   `C-e .' or `M-x emacspeak-speak-sentence' Speak the current sentence.
  751.  
  752.   `C-e C-c' or `M-x emacspeak-speak-current-window' Speak everything in
  753.   the current window.
  754.  
  755.   `C-e s' or `M-x dtk-stop' Stop speech now.  In addition, any command
  756.   that causes speech output will discard anything in the speech buffer.
  757.  
  758.   `C-e =' or `M-x emacspeak-speak-current-column' State the column where
  759.   point is.
  760.  
  761.   The second category of commands provided by Emacspeak manipulate the
  762.   state of the speech device.  The names of these commands start with
  763.   the common prefix `dtk-'.  You can access these commands via the
  764.   prefix `Control-e d'.  Thus, the command "dtk-set-rate" is bound to
  765.   `r' in keymap EMACSPEAK-DTK-SUBMAP and can be executed by pressing
  766.   `Control e d r'.
  767.  
  768.   `C-e d I' or `M-x dtk-toggle-stop-immediately-while-typing' Toggle
  769.   state of variable dtk-stop-immediately-while-typing.  As the name
  770.   implies, if true then speech flushes immediately as you type.
  771.  
  772.   `C-e d i' or `M-x emacspeak-toggle-audio-indentation' Toggle state of
  773.   Emacspeak audio indentation.  Specifying the method of indentation as
  774.   `tone' results in the DECtalk producing a tone whose length is a
  775.   function of the line's indentation. Specifying `speak' results in the
  776.   number of initial spaces being spoken.
  777.   `C-e d k' or `M-x emacspeak-toggle-character-echo' Toggle state of
  778.   Emacspeak  character echo (that is, whether typed characters are
  779.   echoed).
  780.  
  781.   `C-e d w' or `M-x emacspeak-toggle-word-echo' Toggle state of
  782.   Emacspeak  word echo (initially on).
  783.  
  784.   `C-e d l' or `M-x emacspeak-toggle-line-echo' Toggle state of
  785.   Emacspeak  line echo (that is, whether typed text is echoed after
  786.   typing enter).
  787.  
  788.   `C-e d p' or `M-x dtk-set-punctuations' Set punctuation state.
  789.   Possible values are `some', `all', or `none'.
  790.  
  791.   `C-e d q' or `M-x dtk-toggle-quiet' Toggle state of the speech device
  792.   between being quiet and talkative.  Useful if you want to continue
  793.   using an emacs session that has emacspeak loaded but wish to make the
  794.   speech shut up.
  795.  
  796.   `C-e d R' or `M-x dtk-reset-state' Restore sanity to the Dectalk.
  797.   Typically used after the Dectalk has been power cycled.
  798.  
  799.   `C-e d SPC' or `M-x dtk-toggle-splitting-on-white-space' Toggle state
  800.   of emacspeak that decides if we split text purely by clause
  801.   boundaries, or also include whitespace.
  802.  
  803.   `C-e d r' or `M-x dtk-set-rate' Set speaking rate for the dectalk.
  804.  
  805.   `C-e d s' or `M-x dtk-toggle-split-caps' Toggle split caps mode.
  806.   Split caps mode is useful when reading Hungarian notation in program
  807.   source code.
  808.  
  809.   `C-e d v' or `M-x voice-lock-mode' Toggle Voice Lock mode (initially
  810.   off).  When Voice Lock mode is enabled, text is voiceified as you type
  811.   it, as follows:
  812.  
  813.   ╖  Comments are spoken in voice-lock-comment-personality; (That is a
  814.      variable whose value should be a personality name.)
  815.  
  816.   ╖  Strings are spoken in voice-lock-string-personality.
  817.  
  818.   ╖  Documentation strings are spoken in voice-lock-doc-string-
  819.      personality.
  820.  
  821.   ╖  Function and variable names in their defining forms are spoken in
  822.      voice-lock-function-name-personality.
  823.  
  824.   ╖  Certain other expressions are spoken in other personalities
  825.      according to the value of the variable voice-lock-keywords.
  826.  
  827.   `C-e d V' or `M-x emacspeak-dtk-speak-version' Use this to find out
  828.   which version of the Dectalk firmware you have.
  829.  
  830.   6.  Footnotes and References
  831.  
  832.   6.1.  JAWS
  833.  
  834.   Job Access With Speech (JAWS) is a screen reader which runs under
  835.   Microsoft MSDOS.  It is a product of Henter-Joyce, Inc., 2100 62nd
  836.   Avenue Nort, St. Petersburg, FL 33702, telephone: 800-336-5658.  A
  837.   demo of JAWS for DOS is available at
  838.   <ftp://ftp.hj.com/pub/jh/dosdemos/JAWS231D.EXE>.
  839.  
  840.   6.2.  TELIX
  841.  
  842.   TELIX is a shareware terminal emulator for MSDOS.  It can be obtained
  843.   by FTP from the SimTel archive [``SimTel''].  Within the SimTel
  844.   collection, look for directory msdos/telix.  For example, try
  845.   <ftp://ftp.coast.net/pub/SimTel/msdos/telix>.  The latest version of
  846.   the program itself is in the four files tlx322-1.zip, tlx322-2.zip,
  847.   tlx322-3.zip, and tlx322-4.zip.
  848.  
  849.   6.3.  COMMO
  850.  
  851.   COMMO is another shareware terminal emulator for DOS.  In the SimTel
  852.   archive [``SimTel''], it is in directory msdos/commprog, file
  853.   commo66.zip.  For example, try
  854.   <ftp://ftp.coast.net/pub/SimTel/msdos/commprog/commo66.zip>.
  855.  
  856.   6.4.  SimTel
  857.  
  858.   The SimTel archive is maintained by Keith Petersen w8sdz@Simtel.Net.
  859.   CD-ROM copies of Simtel.Net collections are available from Walnut
  860.   Creek CDROM [``Walnut Creek''].  The primary ftp sites are
  861.   <ftp://ftp.simtel.net/pub/simtelnet>, and
  862.   <oak.oakland.edu://pub/simtelnet>.  There are many mirror sites, as
  863.   listed in the following table:
  864.  
  865.   Country         Host                     Directory
  866.   Australia       ftp.bhp.com.au           /pub/simtelnet
  867.   Australia       ftp.iniaccess.net.au     /pub/simtelnet
  868.   Australia       ftp.tas.gov.au           /pub/simtelnet
  869.   Austria         ftp.univie.ac.at         /mirror/simtelnet
  870.   Belgium         ftp.linkline.be          /mirror/simtelnet
  871.   Belgium         ftp.tornado.be           /pub/simtelnet
  872.   Brazil          ftp.unicamp.br           /pub/simtelnet
  873.   Canada          ftp.crc.doc.ca           /systems/ibmpc/simtelnet
  874.   Canada          ftp.direct.ca            /pub/simtelnet
  875.   Canada          ftp.synapse.net          /pub/simtelnet
  876.   Chile           sunsite.dcc.uchile.cl    /pub/Mirror/simtelnet
  877.   China           ftp.pku.edu.cn           /pub/simtelnet
  878.   Czech Republic  ftp.eunet.cz             /pub/simtelnet
  879.   Czech Republic  pub.vse.cz               /pub/simtelnet
  880.   Czech Republic  ftp.zcu.cz               /pub/simtelnet
  881.   England         ftp.demon.co.uk          /pub/simtelnet
  882.   England         ftp.mersinet.co.uk       /pub/simtelnet
  883.   England         micros.hensa.ac.uk       /pub/simtelnet
  884.   England         sunsite.doc.ic.ac.uk     /packages/simtelnet
  885.   Finland         ftp.funet.fi             /mirrors/ftp.simtel.net/pub/simtelnet
  886.   France          ftp.grolier.fr           /pub/simtelnet
  887.   France          ftp.ibp.fr               /pub/simtelnet
  888.   Germany         ftp.tu-chemnitz.de       /pub/simtelnet
  889.   Germany         ftp.uni-heidelberg.de    /pub/simtelnet
  890.   Germany         ftp.uni-paderborn.de     /pub/simtelnet
  891.   Germany         ftp.uni-trier.de         /pub/pc/mirrors/simtelnet
  892.   Hong Kong       ftp.hkstar.com           /pub/simtelnet
  893.   Hong Kong       sunsite.ust.hk           /pub/simtelnet
  894.   Italy           cis.utovrm.it            /simtelnet
  895.   Italy           ftp.unina.it             /pub/simtelnet
  896.   Japan           ftp.iij.ad.jp            /pub/simtelnet
  897.   Japan           ftp.riken.go.jp          /pub/simtelnet
  898.   Japan           ftp.saitama-u.ac.jp      /pub/simtelnet
  899.   Latvia          ftp.lanet.lv             /pub/mirror/simtelnet
  900.   Mexico          ftp.gdl.iteso.mx         /pub/simtelnet
  901.   Netherlands     ftp.nic.surfnet.nl       /mirror-archive/software/simtelnet
  902.   New Zealand     ftp.vuw.ac.nz            /pub/simtelnet
  903.   Poland          ftp.cyf-kr.edu.pl        /pub/mirror/Simtel.Net
  904.   Poland          ftp.icm.edu.pl           /pub/simtelnet
  905.   Poland          ftp.man.poznan.pl        /pub/simtelnet
  906.   Portugal        ftp.ip.pt                /pub/simtelnet
  907.   Portugal        ftp.ua.pt                /pub/simtelnet
  908.   Romania         ftp.sorostm.ro           /pub/simtelnet
  909.   Slovenia        ftp.arnes.si             /software/simtelnet
  910.   South Africa    ftp.is.co.za             /pub/simtelnet
  911.   South Africa    ftp.sun.ac.za            /pub/simtelnet
  912.   South Korea     ftp.nuri.net             /pub/simtelnet
  913.   South Korea     ftp.sogang.ac.kr         /pub/simtelnet
  914.   Sweden          ftp.sunet.se             /pub/simtelnet
  915.   Switzerland     nic.switch.ch            /mirror/simtelnet
  916.   Taiwan          ftp.ncu.edu.tw           /Packages/simtelnet
  917.   Taiwan          NCTUCCCA.edu.tw          /PC/simtelnet
  918.   Thailand        ftp.nectec.or.th         /pub/mirrors/simtelnet
  919.   US              ftp.coast.net            /pub/SimTel
  920.   US, California  ftp.digital.com          /pub/micro/pc/simtelnet
  921.   US, Illinois    uiarchive.cso.uiuc.edu   /pub/systems/pc/simtelnet
  922.   US, Mass.       ftp.bu.edu               /pub/mirrors/simtelnet
  923.   US, Michigan    oak.oakland.edu          /pub/simtelnet
  924.   US, New York    ftp.rge.com              /pub/systems/simtelnet
  925.   US, Oklahoma    ftp.ou.edu               /pub/simtelnet
  926.   US, Oregon      ftp.orst.edu             /pub/simtelnet
  927.   US, Virginia    mirrors.aol.com          /pub/simtelnet
  928.  
  929.   6.5.  InfoMagic
  930.  
  931.   InfoMagic is at 11950 N. Highway 89, Flagstaff AZ 86004, telephone
  932.   800-800-6613 or 520-526-9565, fax 520-526-9573, email:
  933.   info@infomagic.com, web:  <http://www.infomagic.com>.
  934.  
  935.   6.6.  Walnut Creek
  936.  
  937.   Walnut Creek CDROM has many useful CDROMs.  They are at 4041 Pike
  938.   Lane, Ste D-Simtel, Concord, CA 94520, USA.  Telephone (800) 786-9907
  939.   or (510) 674-0783, or FAX (510) 674-0821.  email: orders@cdrom.com.
  940.   Web:  <http://www.cdrom.com/>
  941.  
  942.   6.7.  Red Hat
  943.  
  944.   Red Hat Software: telephone 800-454-5502 or 203-454-5500, fax:
  945.   203-454-2582, email: sales@redhat.com.  Web:  <http://www.redhat.com>.
  946.  
  947.   6.8.  Craftwork
  948.  
  949.   CraftWork Solutions, 4320 Stevens Creek Blvd, Suite 170, San Jose CA
  950.   95129, telephone 800-985-1878, email: info@craftwork.com, web:
  951.   <http://www.craftwork.com>.
  952.  
  953.   6.9.  Yggdrasil
  954.  
  955.   Yggdrasil Computing, 4880 Stevens Creek Blvd., Suite 205, San Jose CA
  956.   95129-1024, telephone 800-261-6630 or 408-261-6630, fax: 408-261-6631,
  957.   email: info@yggdrasil.com, web: <http://www.yggdrasil.com>.
  958.  
  959.   6.10.  Emacs for DOS
  960.  
  961.   From the Emacs FAQ:
  962.  
  963.   --begin quote
  964.  
  965.   83:  Where can I get Emacs for my PC running MS-DOS?
  966.  
  967.   Recent releases of GNU Emacs 19 should compile right out of the box on
  968.   PCs with a 386 or better, running MS-DOS 3.0 or later. You will need
  969.   the following to compile it:
  970.  
  971.   Compiler: djgpp version 1.12 maint 1 or later.  Djgpp v2.0 or later is
  972.   recommended, since v1.x is being phased out--if you'll have any djgpp-
  973.   related problem for which there is no known solution, you are on your
  974.   own when you use djgpp v1.x.
  975.  
  976.   You can get the latest release of either v1.x or v2.0 by grabbing
  977.   everything in the following directory (using anonymous ftp):
  978.  
  979.   <ftp://ftp.coast.net/SimTel/vendors/djgpp>
  980.  
  981.   There are a few directories under djgpp whose names begin with `v1' or
  982.   `v2'; get the contents of `v2' and `v2gnu' (for djgpp v2) or `v1' and
  983.   `v1gnu' (for djgpp v1).
  984.  
  985.   GUnZip and Tar:
  986.  
  987.   The easiest way is to use djtar which comes with DJGPP v2.0, because
  988.   it can unzip .tar.gz archives on-the-fly (so you won't need twice the
  989.   required disk space while untarring the archive).  You get djtar with
  990.   the v2djdev200.zip/ file from the above FTP server.
  991.  
  992.   Another (slower) version of Tar which unzips automatically is
  993.   available by anonymous ftp on this site:
  994.  
  995.   <ftp://ftp.kiae.su/msdos/arcers/tar320fp.zip>
  996.  
  997.   Or you can unZip the archive with the DJGPP port of GZip (from the
  998.   above directory at ftp.coast.net look for v2/gzp124b.zip), then unTar
  999.   it with any of the Tar ports floating around.  A DOS version of GNU
  1000.   tar is available via anonymous ftp from
  1001.  
  1002.   <ftp://ftp.unipg.it/pub/msdos/aspi/gtar-exe.zip>
  1003.  
  1004.   Note that DOS ports of GNU Tar usually cannot unzip compressed
  1005.   archives.
  1006.  
  1007.   Another version of Tar for DOS can be found at
  1008.  
  1009.   <ftp://ftp.urc.tue.nl/pub/unixtools/dos>
  1010.  
  1011.   However, be warned that not all DOS versions of tar work equally well,
  1012.   so you might have to try others if this one gives you trouble.
  1013.  
  1014.   Utilities: chmod, make, mv, sed, rm.
  1015.  
  1016.   All of these utilities are available via anonymous ftp from the site
  1017.  
  1018.   <ftp://ftp.coast.net/SimTel/vendors/gnu/gnuish/dos_only>
  1019.  
  1020.   You should grab the files fut312bx.zip (contains chmod.exe, mv.exe,
  1021.   and rm.exe).
  1022.  
  1023.   A port of GNU Sed is available in the djgpp archives in the above
  1024.   directory on ftp.coast.net.  Look for a file named v2/sed118b.zip or
  1025.   v1/sed118bn.zip.
  1026.  
  1027.   The file etc/MSDOS in the distribution contains some information on
  1028.   the differences between the Unix and MS-DOS versions of GNU Emacs.
  1029.  
  1030.   MS-DOS systems are notorious in the problems they present when
  1031.   installing programs, due to a great variability in both hardware and
  1032.   software.  If you have any unusual problems compiling or using Emacs,
  1033.   please consult the latest version of the djgpp FAQ list, available as
  1034.   v2/faqNNNb.zip, where `NNN' is the version number.  For v1, get the
  1035.   file v1/faq102.zip.
  1036.  
  1037.   If you would prefer not to compile Emacs by yourself, you can get
  1038.   binaries for Emacs via anonymous ftp from many sites; use your Archie
  1039.   client to search for them.
  1040.  
  1041.   You might also be interested in Demacs, which runs under MS-DOS (*not*
  1042.   Microsoft Windows; see question 84) on 386- and 486-based PCs.  Demacs
  1043.   is a port of Nemacs (see question 126), rather than a straight port of
  1044.   GNU Emacs 18 or 19.
  1045.  
  1046.   Demacs was developed using an MS-DOS version of gcc called djgpp by DJ
  1047.   Delorie dj@delorie.com which can compile and run large programs under
  1048.   MS-DOS and under MS Windows.  Demacs was derived from Nemacs rather
  1049.   than straight from GNU Emacs.  You can get the most recent version of
  1050.   Demacs via anonymous ftp from  <ftp://ftp.sigmath.osaka-
  1051.   u.ac.jp/pub/Msdos/Demacs/>.
  1052.  
  1053.   For a list of other MS-DOS implementations of Emacs (and Emacs look-
  1054.   alikes), consult the list of "Emacs implementations and literature,"
  1055.   available via anonymous ftp from
  1056.   <ftp://rtfm.mit.edu/pub/usenet/comp.emacs>.
  1057.  
  1058.   --end quote
  1059.  
  1060.   6.11.  GNU Mirror Sites
  1061.  
  1062.   The GNU collection at  <ftp://prep.ai.mit.edu/pub/gnu> is mirrored at
  1063.   many sites.  Mirrors in USA include these:
  1064.  
  1065.   ╖  <ftp://labrea.stanford.edu/pub/gnu>
  1066.  
  1067.   ╖  <ftp://wuarchive.wustl.edu/systems/gnu>
  1068.  
  1069.   ╖  <ftp://ftp.kpc.com/pub/mirror/gnu>
  1070.  
  1071.   ╖  <ftp://f.ms.uky.edu/pub3/gnu>
  1072.  
  1073.   ╖  <ftp://jaguar.utah.edu/gnustuff>
  1074.  
  1075.   ╖  <ftp://ftp.hawaii.edu/mirrors/gnu>
  1076.  
  1077.   ╖  <ftp://uiarchive.cso.uiuc.edu/gnu>
  1078.  
  1079.   ╖  <ftp://uiarchive.cso.uiuc.edu/pub/gnu>
  1080.  
  1081.   ╖  <ftp://ftp.cs.columbia.edu/archives/gnu/prep>
  1082.  
  1083.   ╖  <ftp://gatekeeper.dec.com/pub/GNU>
  1084.  
  1085.   ╖  <ftp://ftp.uu.net/systems/gnu>
  1086.  
  1087.   6.12.  Emacspeak with Earlier Slackware Releases
  1088.  
  1089.   If you want to install Slackware 3.0 or earlier, you will need to
  1090.   prepare a full null modem cable, including modem control signals.
  1091.  
  1092.   For two DB25 (25 pin) connectors, the required connections are:
  1093.  
  1094.   ╖  1 (Frame Ground) - 1 (Frame Ground)
  1095.  
  1096.   ╖  2 (Receive Data) - 3 (Transmit Data)
  1097.  
  1098.   ╖  3 (Transmit Data) - 2 (Receive Data)
  1099.  
  1100.   ╖  4 (Request To Send) - 5 (Clear To Send)
  1101.  
  1102.   ╖  5 (Clear To Send) - 4 (Request To Send)
  1103.  
  1104.   ╖  6 (Data Set Ready) - 20 (Data Terminal Ready)
  1105.  
  1106.   ╖  7 (Signal Ground) - 7 (Signal Ground)
  1107.  
  1108.   ╖  8 (Carrier Detect) - 20 (Data Terminal Ready)
  1109.  
  1110.   ╖  20 (Data Terminal Ready) - 6 (Data Set Ready)
  1111.  
  1112.   ╖  20 (Data Terminal Ready) - 8 (Carrier Detect)
  1113.  
  1114.   For two DB9 connectors, the connections are:
  1115.  
  1116.   ╖  1 (Carrier Detect) - 4 (Data Terminal Ready)
  1117.  
  1118.   ╖  2 (Receive Data) - 3 (Transmit Data)
  1119.  
  1120.   ╖  3 (Transmit Data) - 2 (Receive Data)
  1121.  
  1122.   ╖  4 (Data Terminal Ready) - 6 (Data Set Ready)
  1123.  
  1124.   ╖  4 (Data Terminal Ready) - 1 (Carrier Detect)
  1125.  
  1126.   ╖  5 (Signal Ground) - 5 (Signal Ground)
  1127.  
  1128.   ╖  6 (Data Set Ready) - 4 (Data Terminal Ready)
  1129.  
  1130.   ╖  7 (Request To Send) - 8 (Clear To Send)
  1131.  
  1132.   ╖  8 (Clear To Send) - 7 (Request To Send)
  1133.  
  1134.   ╖  9 (Ring Indicator) not connected
  1135.  
  1136.   For a DB9 (listed first) to a DB25 (second), the connections are:
  1137.  
  1138.   ╖  1 (Carrier Detect) - 20 (Data Terminal Ready)
  1139.  
  1140.   ╖  2 (Receive Data) - 2 (Transmit Data)
  1141.  
  1142.   ╖  3 (Transmit Data) - 3 (Receive Data)
  1143.  
  1144.   ╖  4 (Data Terminal Ready) - 6 (Data Set Ready)
  1145.  
  1146.   ╖  4 (Data Terminal Ready) - 8 (Carrier Detect)
  1147.  
  1148.   ╖  5 (Signal Ground) - 7 (Signal Ground)
  1149.  
  1150.   ╖  6 (Data Set Ready) - 20(Data Terminal Ready)
  1151.  
  1152.   ╖  7 (Request To Send) - 5 (Clear To Send)
  1153.  
  1154.   ╖  8 (Clear To Send) - 4 (Request To Send)
  1155.  
  1156.   ╖  9 (Ring Indicator) not connected
  1157.  
  1158.   Follow the installation directions above as far as booting from the
  1159.   boot disk and loading the root disk.  At this point Linux is running
  1160.   on your machine.
  1161.  
  1162.   The program that prints the login prompt is called "agetty".  You will
  1163.   now have to reconfigure your machine so that agetty also looks for
  1164.   logins from a serial port.  This requires typing four lines on the
  1165.   Linux machine keyboard, with no feedback.  If you realize you have
  1166.   made a mistake before hitting the carriage return, you can erase it
  1167.   with the backspace key.  First, type "root" and a single carriage
  1168.   return to log in (no password is needed).  Next, you need to append
  1169.   one line to /etc/inittab.  Type the following two lines:
  1170.  
  1171.        cat >>/etc/inittab
  1172.        s1:45:respawn:/sbin/agetty 9600 ttyS0
  1173.  
  1174.   Finish each line with the "enter" key.  Then type a control-D, which
  1175.   signals end of file to a Unix program.  (Note: The next to last
  1176.   character in the second line is an upper case "S".  Everything else is
  1177.   in lower case.)  I have assumed that the connection is to the first
  1178.   serial port on the Linux machine, called "COM1" under DOS, or "ttyS0"
  1179.   under Linux.  To use the second port instead, change the last item on
  1180.   the above line to "ttyS1".
  1181.  
  1182.   Then type
  1183.  
  1184.        init q
  1185.  
  1186.   which causes the init process to reread /etc/inittab.  At this point
  1187.   the DOS machine should display a login prompt (the third of the blocks
  1188.   of text quoted above).  On the DOS machine, type root, and finish the
  1189.   installation.  (The next thing you should do is create and enable a
  1190.   swap partition.)
  1191.  
  1192.   Incidently, I have been able to test this only up to the point of
  1193.   getting the login prompt on the DOS machine.  I cannot log in because
  1194.   I don't have a full null modem cable.  (I can type "root", but don't
  1195.   get any further response.)
  1196.  
  1197.   7.  Frequently Asked Questions (FAQ)
  1198.  
  1199.   7.1.  Why does it say "space" after each character?
  1200.  
  1201.   Your DECtalk Express has old firmware.  Use the Emacspeak command `C-e
  1202.   d V' to find out your version.  You should be running a version no
  1203.   older than 4.2bw from March 1995.  If you have an earlier version, you
  1204.   can find an updated version at
  1205.   <http://www.ultranet.com/~rongemma/tips_upd.htm>, a WWW site
  1206.   maintained by Ron Jemma of the Dectalk Group at DEC.  Alternatively,
  1207.   you can send email to Anne Nelson at DECnelson@dectlk.enet.dec.com.
  1208.   The most recent version at this writing is 4.3 release AA X01 May 20
  1209.   1996.
  1210.  
  1211.   8.  Legalese
  1212.  
  1213.   All trademarks used in this document are acknowledged as being owned
  1214.   by their respective owners.  (Spot the teeth-gritting irony there...)
  1215.  
  1216.   The right of James R. Van Zandt to be identified as the author of this
  1217.   work is hereby asserted in accordance with sections 77 and 78 of the
  1218.   Copyright Designs and Patents Act 1988.
  1219.  
  1220.   This document is copyright (c) 1996 James R. Van Zandt
  1221.   jrv@vanzandt.mv.com. It may be reproduced and distributed in whole or
  1222.   in part, in any medium physical or electronic, as long as this
  1223.   copyright notice is retained on all copies. Commercial redistribution
  1224.   is allowed and encouraged; however, the author would like to be
  1225.   notified of any such distributions.
  1226.  
  1227.   All translations, derivative works, or aggregate works incorporating
  1228.   any Linux HOWTO documents must be covered under this copyright notice.
  1229.   That is, you may not produce a derivative work from a HOWTO and impose
  1230.   additional restrictions on its distribution. Exceptions to these rules
  1231.   may be granted under certain conditions; please contact the Linux
  1232.   HOWTO coordinator at the address given below.
  1233.  
  1234.   In short, we wish to promote dissemination of this information through
  1235.   as many channels as possible. However, we do wish to retain copyright
  1236.   on the HOWTO documents, and would like to be notified of any plans to
  1237.   redistribute the HOWTOs.
  1238.  
  1239.   If you have questions, please contact Greg Hankins, the Linux HOWTO
  1240.   coordinator, at gregh@sunsite.unc.edu via email.
  1241.  
  1242.