home *** CD-ROM | disk | FTP | other *** search
- Mini getty_ps-HOWTO
-
- by Mark Horton mah@ka4ybr.com, mah@ka4ybr.atl.ga.us
-
-
- OK, this seems to keep cropping up and I'm getting tired of
- emailing what works for me and serial lines and getty and
- uugetty (sorry about all the ands :) above !) so I'm posting
- this to c.o.l.help instead. IMHO, mgetty+sendfax is a very
- nice package if you want to doitall with a single modem
- line. However, to create a getty/uugetty situation which
- serves dial-up lines, uucp in and outbound, and serial local
- devices, the getty_ps package (again IMHO) is an excellent
- way to go.
-
- The suggestions below work on my systems and have, in one form
- or another, worked for almost two years of my Linux experiences.
- The fact that they work for me does NOT mean they are guaranteed
- to work for you.... I hope they do and make your life easier...
- if not, please accept my apologies and condolences. If you
- have any suggestions or improvements to these procedures,
- (other than "Stuff it up your $#@(%^") please contact me. If
- you have questions about them and/or problems in getting your
- setup to work, please feel free to email me... I will try to
- answer any questions I can, but please give me a little more
- than "It don't work!" to go on... :)
- -- Mark
-
- So, all verbage and b.s. aside, here's my "cookbook" configuration:
-
- 0. a. Get getty_ps-2.0.7e from sunsite.unc.edu
- b. Decide if you want to use the new FSSTND or not.
- (This from the Makefile) :
- # FSSTND Compliance:
- # If you want getty_ps to comply with the upcoming FSSTND document,
- # uncomment the following line. As a result, all config files will
- # be expected in /etc/conf.* rather than /etc/default, modem locks
- # will be created in /var/lock, and binaries will go in /sbin.
- #
- # FSSTND=-DFSSTND
- I commented it out since I'm a curmudgeon and LIKE my defaults
- in /etc/default (and couldn't figure out if the formats were
- the same for the /etc/conf.* format... I admit it, I'm lazy)
- I also didn't want to mess with Taylor and wanted my locks
- left in /usr/spool/uucp. You will also note in the following
- examples that I have violated the rules and put my executables
- for getty and uugetty in /etc.... if you don't like it, put
- them in /sbin or /bin if it pleases you... it's YOUR system!
- c. READ the README.linux file to figure out where you want things
- and how you want to proceed!!!!!!!!!!!!!!!!!!!
- d. "make" and "make install"
- e. Move getty and uugetty to where you want them. (I like /etc)
- f. Make changes to /etc/inittab, /etc/gettydefs (or use defaults
- in the distribution subdirectory Examples - I highly recommend
- this! It helps you avoid oversites like forgetting the INITLINE
- parameter for manual (program) answering and wondering why the
- modems just ring... and ring.... and ring....) *blush*
- g. Move the examples to /etc/default if you use that configuration
- or figure out what they look like with the new FSSTND config. and
- put them there.
- h. Hack the uugetty.ttyS? and getty.ttyS? entries as desired (my
- sample uugetty.ttyS? is below.)
- i. Change your /etc/rc.d/rc.serial as desired for your ports -
- remember - you have to do this even with the standard ports!
- Make sure it gets executed on startup (a safe place to put it
- is in rc.local! :) NOTE: if you have a serial rodent and use
- the selection package, be sure to execute rc.serial PRIOR to
- starting up selection!
- j. Make the necessary changes to the uucp files Systems, Dialers,
- Devices, and Permissions.
- k. Shutdown and reboot with the new getty. Have your boot diskettes
- handy in case of finger-checks... init is not too kind about errors
- in /etc/inittab!
- l. try dialing out on one of your uucp lines (I like to use "cu -d" for
- this so I can see that all is working as planned) and adjust as
- necessary.
- m. For nasty problems, use the -D777 flag in /etc/inittab for the
- lines in question to figure out what's going on... REMEMBER to
- change it back after all is clean or you'll be burning up disk
- space at a furious rate!
-
-
- 1. /etc/rc.d/rc.serial : (I use 2 STB-4COM cards)
- (yours WILL most likely be different - read the man page!)
- #
- # /etc/rc.serial
- # Initializes the serial ports on your system
- #
- # Version 2.01
-
- cd /dev
-
- SETSERIAL="/bin/setserial -b"
- PORTS=`echo cua?`
-
- echo -n "Configuring serial ports...."
-
- # Do wild interrupt detection
- #
- ${SETSERIAL} -W ${PORTS}
-
- #
- # MANUAL CONFIGURATION
- #
- ${SETSERIAL} /dev/cua0 -- uart 16550A port 0x3f8 irq 4 -fourport
- ${SETSERIAL} /dev/cua1 -- uart 16550A port 0x2f8 irq 4 -fourport
- ${SETSERIAL} /dev/cua2 -- uart 16550A port 0x3e8 irq 4 -fourport
- ${SETSERIAL} /dev/cua3 -- uart 16550A port 0x2e8 irq 4 -fourport
- ${SETSERIAL} /dev/cua4 -- uart 16550A port 0x1f8 irq 3 -fourport
- ${SETSERIAL} /dev/cua5 -- uart 16550A port 0x1e8 irq 3 -fourport
- ${SETSERIAL} /dev/cua6 -- uart 16550A port 0x2a8 irq 3 -fourport
- ${SETSERIAL} /dev/cua7 -- uart 16550A port 0x1a8 irq 3 -fourport
- #
- ###########################################################
- #
- # Print the results of the serial configuration process
- #
- ###########################################################
-
- echo "done."
-
- ${SETSERIAL} -bg ${PORTS}
-
-
- 2. /etc/gettydefs (pretty much what comes with getty_ps):
- # [ put this file in /etc/gettydefs ]
- #
- # This file contains the startup and final flags for the
- # tty lines. Each line starts with a SPEED value; this is
- # the same SPEED that you pass to [uu]getty. Note that the
- # SPEED identifier is just a string; use whatever names
- # you want.
- #
- # The blank lines in this file are important (so I hear).
- #
- # The flags are the same flags you would pass to the stty
- # program.
- #
- # Format: <speed># <init flags> # <final flags> #<login string>#<next-speed>
- #
- #
- # Virtual Console entry
- VC# B38400 SANE CLOCAL # B38400 SANE -ISTRIP CLOCAL #@S login: #VC
-
- # 38400 fixed baud Dumb Terminal entry
- DT38400# B38400 CS8 CLOCAL CRTSCTS # B38400 SANE -ISTRIP CLOCAL CRTSCTS #@S login: #DT38400
-
- # 19200 fixed baud Dumb Terminal entry
- DT19200# B19200 CS8 CLOCAL # B19200 SANE -ISTRIP CLOCAL #@S login: #DT19200
-
- # 9600 baud Dumb Terminal entry
- DT9600# B9600 CS8 CLOCAL # B9600 SANE -ISTRIP CLOCAL #@S login: #DT9600
-
- # 38400 fixed-baud modem entry
- F38400# B38400 CS8 # B38400 SANE -ISTRIP HUPCL #@S login: #F38400
-
- # 19200 fixed-baud modem entry
- F19200# B19200 CS8 CRTSCTS # B19200 SANE -ISTRIP HUPCL CRTSCTS #@S login: #F19200
-
- # 9600 fixed-baud modem entry
- F9600# B9600 CS8 # B9600 SANE -ISTRIP HUPCL #@S login: #F9600
-
- # 38400 autobauding Modem entry with hard flow control
- 38400# B38400 CS8 CRTSCTS # B38400 SANE -ISTRIP HUPCL CRTSCTS #@S login: #38400
-
- 19200# B19200 CS8 CRTSCTS # B19200 SANE -ISTRIP HUPCL CRTSCTS #@S login: #19200
-
- 9600# B9600 CS8 CRTSCTS # B9600 SANE -ISTRIP HUPCL CRTSCTS #@S login: #9600
-
- 2400# B2400 CS8 CRTSCTS # B2400 SANE -ISTRIP HUPCL CRTSCTS #@S login: #2400
-
- 1200# B1200 CS8 CRTSCTS # B1200 SANE -ISTRIP HUPCL CRTSCTS #@S login: #1200
-
- 300# B300 CS8 CRTSCTS # B300 SANE -ISTRIP HUPCL CRTSCTS #@S login: #300
-
-
- 3. /etc/inittab (modified per getty_ps documentation) :
- #
- # inittab This file describes how the INIT process should set up
- # the system in a certain run-level.
- #
- # Version: @(#)inittab 2.04 17/05/93 MvS
- #
- # Author: Miquel van Smoorenburg, <miquels@drinkel.nl.mugnet.org>
- #
- # Default runlevel.
- id:5:initdefault:
-
- # System initialization (runs when system boots).
- si:S:sysinit:/etc/rc.d/rc.S
-
- # Script to run when going single user.
- su:S:wait:/etc/rc.d/rc.K
-
- # Script to run when going multi user.
- rc:123456:wait:/etc/rc.d/rc.M
-
- # What to do at the "Three Finger Salute".
- ca::ctrlaltdel:/sbin/shutdown -t3 -rf now
-
- # What to do when power fails (shutdown to single user).
- pf::powerfail:/sbin/shutdown -f +5 "THE POWER IS FAILING"
-
- # If power is back before shutdown, cancel the running shutdown.
- pg:0123456:powerokwait:/sbin/shutdown -c "THE POWER IS BACK"
-
- # If power comes back in single user mode, return to multi user mode.
- ps:S:powerokwait:/sbin/init 5
-
- # The getties in multi user mode on consoles an serial lines.
- #
- # NOTE NOTE NOTE adjust this to your getty or you will not be
- # able to login !!
- #
- # Note: for 'agetty' you use linespeed, line.
- # for 'getty_ps' you use line, linespeed and also use 'gettydefs'
- c1:12345:respawn:/etc/getty tty1 VC
- c2:12345:respawn:/etc/getty tty2 VC
- c3:45:respawn:/etc/getty tty3 VC
- c4:45:respawn:/etc/getty tty4 VC
- c5:45:respawn:/etc/getty tty5 VC
- c6:45:respawn:/etc/getty tty6 VC
- c7:45:respawn:/etc/getty tty7 VC
- c8:45:respawn:/etc/getty tty8 VC
- c9:45:respawn:/etc/getty tty9 VC
- cx:45:respawn:/etc/getty tty10 VC
- cy:45:respawn:/etc/getty tty11 VC
- # cz:456:respawn:/etc/getty tty12 VC
-
- # Serial lines
- # To turn on debugging insert the -Dnnn parameter ex.:
- # s3:45:respawn:/etc/uugetty -D777 ttyS3 F19200 vt100
- # Debug levels: (from getty.h)
- # define D_OPT 0001 /* option settings */
- # define D_DEF 0002 /* defaults file processing */
- # define D_UTMP 0004 /* utmp/wtmp processing */
- # define D_INIT 0010 /* line initialization (INIT) */
- # define D_GTAB 0020 /* gettytab file processing */
- # define D_RUN 0040 /* other runtime diagnostics */
- # define D_RB 0100 /* ringback debugging */
- # define D_LOCK 0200 /* uugetty lockfile processing */
- # define D_SCH 0400 /* schedule processing */
- # define D_ALL 0777 /* all priorities */
- #
-
- s0:45:respawn:/etc/getty ttyS0 DT9600
- s1:45:respawn:/etc/getty ttyS1 DT9600
- s2:45:respawn:/etc/getty ttyS2 DT9600
- s3:45:respawn:/etc/uugetty ttyS3 19200 vt100
- s4:45:respawn:/etc/uugetty ttyS4 19200 vt100
- s5:45:respawn:/etc/getty ttyS5 DT9600
- s6:45:respawn:/etc/uugetty ttyS6 19200 vt100
- s7:45:respawn:/etc/getty ttyS7 DT9600
-
- # Runlevel 6 used to be for an X-window only system, until we discovered
- # that it throws init into a loop that keeps your load avg at least 1 all
- # the time. Thus, there is now one getty opened on tty6. Hopefully no one
- # will notice. ;^)
- # It might not be bad to have one text console anyway, in case something
- # happens to X.
- x1:6:wait:/etc/rc.d/rc.6
-
- # End of /etc/inittab
-
-
-
-
- 4. /etc/default/uugetty.ttyS4 (a sample)
- [note: the init string is for DSI Scout+ modems - yours WILL
- most likely be different!]
-
- # sample uugetty configuration file for a Hayes compatible modem to allow
- # incoming modem connections
- #
-
- # this config file sets up uugetty to answer with a WAITFOR string. When
- # using waitfor, it is necessary to specify INITLINE=cua?
-
- ISSUE=/etc/issue
-
- LOGIN=/bin/login
-
- # line to use to do initialization. All INIT, OFF, and WAITFOR functions
- # are handled on this line. If this line is not specified, any other
- # program that wants to share the line (like kermit, uucp, seyon) will
- # fail. This line will also be checked for lockfiles.
- #
- # format: <line> (without the /dev/)
- INITLINE=cua4
-
- # timeout to disconnect if idle...
- TIMEOUT=60
-
- # modem initialization string... Sets the modem to disable auto-answer
- #
- # format: <expect> <send> ... (chat sequence)
- INIT="" \d+++\dAT\r OK\r\n ATH0\r OK\r\n AT\sM0\sE1\sQ0\sV1\sX4\sS0=0\s*S0\s*M0\s*T0\r OK\r\n
-
- # waitfor string... if this sequence of characters is received over the line,
- # a call is detected.
- WAITFOR=RING
-
- # this line is the connect chat sequence. This chat sequence is performed
- # after the WAITFOR string is found. The \A character automatically sets
- # the baudrate to the characters that are found, so if you get the message
- # CONNECT 2400, the baud rate is set to 2400 baud.
- #
- # format: <expect> <send> ... (chat sequence)
- CONNECT="" ATA\r CONNECT\s\A
-
- # this line sets the time to delay before sending the login banner
- DELAY=2
-
-
- 5. /var/lib/uucp/hdb_config/Devices (this is a Slackware dist.)
- # Devices
- #
- # Everybody works at these speeds :
- ACU cua3 - 9600 scout \D
- ACU cua4 - 9600 scout \D
- ACU cua6 - 9600 scout \D
- #
- ACU cua3 - 2400 scout \D
- ACU cua4 - 2400 scout \D
- ACU cua6 - 2400 scout \D
- #
- ACU cua3 - 38400 scout \D
- ACU cua4 - 38400 scout \D
- ACU cua6 - 38400 scout \D
- #
- # This one works - connect at 14400 in reality using v.32bis :
- ACU cua4 - 19200 scout \D
- ACU cua3 - 19200 scout \D
- ACU cua6 - 19200 scout \D
- #
- # This is to force a certain system to always use one line.
- ACUX cua3 - 19200 scout \D
- # ACUX cua4 - 19200 scout \D
- # ACUX cua6 - 19200 scout \D
-
-
- 6. /var/lib/uucp/hdb_config/Dialers (this is a Slackware dist.)
- (please note the *E0 for no error correction, no compression... uucp
- does just fine by itself... use of anything other (in my experience)
- just slows things down!)
- #
- # Dialers - note the setup strings to set the TrailBlazer registers
- #
- scout =W-, "" A\pA\pA\pT\r OK \pAT&F\r OK \pATM0*Q0*T0*E0DP\T CONNECT
- tbfast =W-, "" A\pA\pA\pT OK ATS50=255DP\T CONNECT\sFAST
- tbslow =W-, "" A\pA\pA\pT OK ATS50=2DT\T CONNECT\s1200
- tbmed =W-, "" A\pA\pA\pT OK ATS50=3DT\T CONNECT\s2400
-
-
- 7. /var/lib/uucp/hdb_config/Systems (this is a Slackware dist.)
- (please note that I've shortened this to just a few entries and removed
- secure information such a phone numbers and passwords.) And before I
- get a lot of flak about the connect strings, let me say "Tough!" I want
- my connect sequences to blast through no matter what state the receiving
- modems are in!
- # UUCP Systems file: System ka4ybr
- asystem Any ACU 19200 nnnnnn1 "" \r ogin:-\K-ogin:-\K-ogin:-\K-ogin:-\K-ogin: \d\Euuka4ybr word: \dpassword
- asystem Any ACU 19200 nnnnnn2 "" \r ogin:-\K-ogin:-\K-ogin:-\K-ogin:-\K-ogin: \d\Euuka4ybr word: \dpassword
- bsystem Any ACU 9600 nnnnnn3 "" \r ogin:-\K-ogin:-\K-ogin:-\K-ogin:-\K-ogin: \d\Euuka4ybr\r word: \dpassword
- csystem Any ACUX 19200 nnnnnn4 "" \r ogin:-\K-ogin:-\K-ogin:-\K-ogin:-\K-ogin: \d\Euuka4ybr\r word: \dpassword
-
-
-
- 8. /var/lib/uucp/hdb_config/Permissions (this is a Slackware dist.)
- LOGNAME=nuucp
- LOGNAME=uuv43test
-
- MACHINE=asystem LOGNAME=uuasystem \
- COMMANDS=/bin/rmail:/usr/bin/rsmtp:/usr/bin/smail:/usr/bin/uucp:/usr/local/lib/news/bin/rnews:/usr/bin/uux \
- READ=/var/spool/uucppublic:/usr/spool/uucppublic:/usr/tmp:/usr/local/lib:/var/spool/news: \
- WRITE=/var/spool/uucppublic:/usr/spool/uucppublic:/usr/tmp:/usr/local/lib/news:/usr/spool/news:/var/spool/news \
- SENDFILES=yes REQUEST=yes
-
- MACHINE=bsystem LOGNAME=uubsystem \
- COMMANDS=/bin/rmail:/usr/bin/rsmtp:/usr/bin/smail:/usr/bin/uucp:/usr/local/lib/news/bin/rnews:/usr/bin/uux \
- READ=/var/spool/uucppublic:/usr/spool/uucppublic:/usr/tmp:/usr/local/lib:/var/spool/news: \
- WRITE=/var/spool/uucppublic:/usr/spool/uucppublic:/usr/tmp:/usr/local/lib/news:/usr/spool/news:/var/spool/news \
- SENDFILES=yes REQUEST=yes
-
- MACHINE=csystem LOGNAME=uucsystem \
- COMMANDS=/bin/rmail:/usr/bin/rsmtp:/usr/bin/smail:/usr/bin/uucp:/usr/local/lib/news/bin/rnews:/usr/bin/uux \
- READ=/var/spool/uucppublic:/usr/spool/uucppublic:/usr/tmp:/usr/local/lib:/var/spool/news: \
- WRITE=/var/spool/uucppublic:/usr/spool/uucppublic:/usr/tmp:/usr/local/lib/news:/usr/spool/news:/var/spool/news \
- SENDFILES=yes REQUEST=yes
-
-
- 9. /etc/passwd entries (samples)
- uuasystem:6sEM8hx9x6efw:613:5:Node asystem:/var/spool/uucppublic:/usr/lib/uucp/uucico
- uubsystem:6sEM8hx9x6efw:614:5:Node bsystem:/var/spool/uucppublic:/usr/lib/uucp/uucico
- uucsystem:6sEM8hx9x6efw:615:5:Node csystem:/var/spool/uucppublic:/usr/lib/uucp/uucico
-
-
- mah@ka4ybr.com 94/06/27
-
- --
- "Linux! Guerrilla UNIX Development Venimus, Vidimus, Dolavimus."
- ------------------------------------------------------------
- Mark A. Horton ka4ybr mah@ka4ybr.atl.ga.us
- P.O. Box 747 Decatur GA US 30031-0747 mah@ka4ybr.com
- +1.404.371.0291 33 45 31 N / 084 16 59 W
-
-