home *** CD-ROM | disk | FTP | other *** search
/ minnie.tuhs.org / unixen.tar / unixen / Documentation / PUPS / Setup / v6_setup.txt < prev    next >
Encoding:
Text File  |  2000-05-25  |  23.6 KB  |  793 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.               SSEETTTTIINNGG UUPP UUNNIIXX -- SSiixxtthh EEddiittiioonn
  11.  
  12.  
  13.      Enclosed are:
  14.  
  15. 1.   `UNIX Programmer's Manual,' Sixth Edition.
  16.  
  17. 2.   Documents with the following titles:
  18.  
  19.           Setting Up UNIX - Sixth Edition
  20.           The UNIX Time-Sharing System
  21.           C Reference Manual
  22.           Programming in C - A Tutorial
  23.           UNIX Assembler Reference Manual
  24.           A Tutorial Introduction to the ED Text Editor
  25.           UNIX for Beginners
  26.           RATFOR - A Preprocessor for a Rational Fortran
  27.           YACC - Yet Another Compiler-Compiler
  28.           NROFF Users' Manual
  29.           The UNIX I/O System
  30.           A Manual for the Tmg Compiler-writing Language
  31.           On the Security of UNIX
  32.           The M6 Macro Processor
  33.           A System for Typesetting Mathematics
  34.           DC - An Interactive Desk Calculator
  35.           BC - An Arbitrary Precision Desk-Calculator Language
  36.           The Portable C  Library (on UNIX)
  37.           UNIX Summary
  38.  
  39.  
  40. 3.   The UNIX software on magtape or disk pack.
  41.  
  42.      If  you  are  set  up to do it, it might be a good idea
  43. immediately to make a copy of the  disk  or  tape  to  guard
  44. against  disaster.  The tape contains 12100 512-byte records
  45. followed by a single file mark; only the first 4000 512-byte
  46. blocks on the disk are significant.
  47.  
  48.      The  system  as distributed corresponds to three fairly
  49. full RK packs.  The first contains the binary version of all
  50. programs,  and  the  source for the operating system itself;
  51. the second contains all remaining source programs; the third
  52. contains manuals intended to be printed using the formatting
  53. programs roff or nroff.  The `binary' disk is enough to  run
  54. the  system,  but  you  will almost certainly want to modify
  55. some source programs.
  56.  
  57. MMaakkiinngg aa DDiisskk FFrroomm TTaappee
  58.  
  59.      If your system is on  magtape,  perform  the  following
  60. bootstrap procedure to obtain a disk with the binaries.
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.                              -2-
  71.  
  72.  
  73. 1.   Mount magtape on drive 0 at load point.
  74.  
  75. 2.   Mount formatted disk pack on drive 0.
  76.  
  77. 3.   Key in and execute at 100000
  78.  
  79.        TU10                TU16
  80.      012700              (to be added)
  81.      172526
  82.      010040
  83.      012740
  84.      060003
  85.      000777
  86.  
  87.  
  88.      The  tape should move and the CPU loop.  (The TU10 code
  89.      is _n_o_t the DEC bulk ROM for tape; it reads block 0, not
  90.      block 1.)
  91.  
  92. 4.   Halt and restart the CPU at 0.  The tape should rewind.
  93.      The console should type `='.
  94.  
  95. 5.   Copy the  magtape  to  disk  by  the  following.   This
  96.      assumes  TU10  and RK05; see 6 below for other devices.
  97.      The machine's printouts are shown in  italic  (the  `='
  98.      signs  should  be  considered  italic).  Terminate each
  99.      line you type by carriage return or line-feed.
  100.  
  101.           = tmrk
  102.           _d_i_s_k _o_f_f_s_e_t
  103.           0
  104.           _t_a_p_e _o_f_f_s_e_t
  105.           100       (See 6 below)
  106.           _c_o_u_n_t
  107.           1         (The tape should move)
  108.           = tmrk
  109.           _d_i_s_k _o_f_f_s_e_t
  110.           1
  111.           _t_a_p_e _o_f_f_s_e_t
  112.           101       (See 7 below)
  113.           _c_o_u_n_t
  114.           3999      (The tape moves lots more)
  115.           =
  116.  
  117.      To explain: the _t_m_r_k program copies tape to  disk  with
  118.      the  given  offsets and counts.  Its first use copies a
  119.      bootstrap program to  disk  block  0;  the  second  use
  120.      copies  the  file system itself onto the disk.  You may
  121.      get back to `=' level by starting at 137000.
  122.  
  123. 6.   If you have TU16 tape say `htrk' instead of  `tmrk'  in
  124.      the  above  example.   If  you  have  an RP03 disk, say
  125.      `tmrp' or `htrp', and use a 99 instead of 100 tape off-
  126.      set.   If  you  have an RP04 disk, use `tmhp' or `hthp'
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.                              -3-
  137.  
  138.  
  139.      instead or `tmrk', and use a 98  instead  of  100  tape
  140.      offset.   The different offsets load bootstrap programs
  141.      appropriate to the disk they will live on.
  142.  
  143. 7.   This  procedure  generates  the  `binary'   disk;   the
  144.      `source'  disk  may  be generated on another RK pack by
  145.      using a tape offset of 4101 instead of 101.  The `docu-
  146.      ment'  disk  is  at offset 8101 instead of 101.  Unless
  147.      you have only a single RK drive, it is probably wise to
  148.      wait  on  generating  these  disks.   Better  tools are
  149.      available using UNIX itself.
  150.  
  151. BBoooottiinngg UUNNIIXX
  152.  
  153.      Once the UNIX `binary' disk is obtained, the system  is
  154. booted  by keying in and executing one of the following pro-
  155. grams at 100000.  These programs correspond to the DEC  bulk
  156. ROMs  for  disks,  since they read in and execute block 0 at
  157. location 0.
  158.  
  159.        RK05           RP03           RP04
  160.      012700         012700         (to be added)
  161.      177414         176726
  162.      005040         005040
  163.      005040         005040
  164.      010040         005040
  165.      012740         010040
  166.      000005         012740
  167.      105710         000005
  168.      002376         105710
  169.      005007         002376
  170.                     005007
  171.  
  172. Now follow the indicated  dialog,  where  `@'  and  `#'  are
  173. prompts:
  174.  
  175.      @ rkunix       (or `rpunix' or `hpunix')
  176.      _m_e_m _= _x_x_x
  177.      _l_o_g_i_n_:  root
  178.      _#
  179.  
  180. The  _m_e_m message gives the memory available to user programs
  181. in .1K units.  Most of the UNIX software will run  with  120
  182. (for 12K words), but some things require much more.
  183.  
  184.      UNIX is now running, and the `UNIX Programmer's manual'
  185. applies; references below of the form X-Y mean  the  subsec-
  186. tion  named  X  in  section Y of the manual.  The `#' is the
  187. prompt from the UNIX Shell, and indicates you are logged  in
  188. as the super-user.  The only valid user names are `root' and
  189. `bin'.  The root is the super-user and bin is the  owner  of
  190. nearly every file in the file system.
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.                              -4-
  203.  
  204.  
  205.      Before  UNIX  is turned up completely, a few configura-
  206. tion dependent exercises must be performed.  At this  point,
  207. it  would  be wise to read all of the manuals and to augment
  208. this reading with hand to hand combat.  It might be instruc-
  209. tive to examine the Shell run files mentioned below.
  210.  
  211. RReeccoonnffiigguurraattiioonn
  212.  
  213.      The  UNIX  system  running  is  configured to run on an
  214. 11/40 with the given disk, TU10 magtape  and  TU56  DECtape.
  215. This  is  almost  certainly  not  the correct configuration.
  216. Print (cat-I) the file /usr/sys/run.  This file is a set  of
  217. Shell  commands  that  will  completely recompile the system
  218. source, install it in the correct libraries  and  build  the
  219. three configurations for rk, rp and hp.
  220.  
  221.      Using  the  Shell  file  as a guide, compile (cc-I) and
  222. rename (mv-I) the configuration program `mkconf'.   Run  the
  223. configuration  program  and  type into it a list of the con-
  224. trollers on your system.  Choose from:
  225.  
  226.      pc   (PC11)
  227.      lp   (LP11)
  228.      rf   (RS11)
  229.      hs   (RS03/RS04)
  230.      tc   (TU56)
  231.      rk   (RK03/RK05)
  232.      tm   (TU10)
  233.      rp   (RP03)
  234.      hp   (RP04)
  235.      ht   (TU16)
  236.      dc*  (DC11)
  237.      kl*  (KL11/DL11-ABC)
  238.      dl*  (DL11-E)
  239.      dp   (DP11)
  240.      dn   (DN11)
  241.      dh   (DH11)
  242.      dhdm (DM11-BB)
  243.  
  244. The devices marked with * should be  preceded  by  a  number
  245. specifying  how  many.  (The console typewriter is automati-
  246. cally included; don't count it  in  the  kl  specification.)
  247. Mkconf  will  generate  the two files l.s (trap vectors) and
  248. c.c (configuration table).  Take a careful look  at  l.s  to
  249. make  sure  that all the devices that you have are assembled
  250. in the correct interrupt vectors.  If your configuration  is
  251. non-standard,  you  will have to modify l.s to fit your con-
  252. figuration.
  253.  
  254.      In the run Shell file, the 11/45 code is commented out.
  255. If  you  have  an  11/45  you must also edit (ed-I) the file
  256. /usr/sys/conf/m45.s to set the assembly flag fpp to  reflect
  257. if  you  have the FP11-B floating point unit.  The main dif-
  258. ference between an 11/40 and an 11/45 (or 11/70)  system  is
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.                              -5-
  269.  
  270.  
  271. that  in the former instruction restart after a segmentation
  272. violation caused by overflowing a user stack must be handled
  273. by  software, while in the latter machines there is hardware
  274. help.  As mentioned  above,  the  11/45  and  11/70  systems
  275. include conditionally-enabled code to save the status of the
  276. floating point unit when switching users.   The  source  for
  277. such things is in one of the two files m40.s and m45.s.
  278.  
  279.      Another  difference  is that in 11/45 and 11/70 systems
  280. the instruction and data spaces are  separated  inside  UNIX
  281. itself.   Since  the  layout  of  addresses in the system is
  282. somewhat peculiar, and not directly supported by  the  link-
  283. editor  _l_d_,  the  _s_y_s_f_i_x  program  has  to be run before the
  284. loaded output file can be booted.
  285.  
  286.      There  are  certain  magic  numbers  and  configuration
  287. parameters  imbedded  in various device drivers that you may
  288. want to change.  The device addresses  of  each  device  are
  289. defined  in  each driver.  In case you have any non-standard
  290. device addresses, just change  the  address  and  recompile.
  291. (The device drivers are in the directory /usr/sys/dmr.)
  292.  
  293.      The  DC11  driver  is set to run 14 lines.  This can be
  294. changed in dc.c.
  295.  
  296.      The DH11 driver will only handle a  single  DH  with  a
  297. full complement of 16 lines.  If you have less, you may want
  298. to edit dh.c.
  299.  
  300.      The DN11 driver will handle 3 DN's.  Edit dn.c.
  301.  
  302.      The DP11 driver can only handle a single DP.  This can-
  303. not be easily changed.
  304.  
  305.      The  KL/DL driver is set up to run a single DL11-A, -B,
  306. or -C (the console) and no DL11-E's.  To change  this,  edit
  307. kl.c  to  have  NKL11 reflect the total number of DL11-ABC's
  308. and NDL11 to reflect the number of DL11-E's.  So far as  the
  309. driver  is  concerned, the difference between the devices is
  310. their addresses.
  311.  
  312.      The line printer driver is set up to print the 96 char-
  313. acter  set on 80 column paper (LP11-H) with indenting.  Edit
  314. lp.c.
  315.  
  316.      All of the disk and tape  drivers  (rf.c,  rk.c,  rp.c,
  317. tm.c, tc.c, hs.c, hp.c, ht.c) are set up to run 8 drives and
  318. should not need to be changed.  The big disk  drivers  (rp.c
  319. and  hp.c)  have partition tables in them which you may want
  320. to experiment with.
  321.  
  322.      After  all  the  corrections  have   been   made,   use
  323. /usr/sys/run  as  a  guide to recompile the changed drivers,
  324. install them in  /usr/sys/lib2  and  to  assemble  the  trap
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.                              -6-
  335.  
  336.  
  337. vectors  (l.s),  configuration  table (c.c) and machine lan-
  338. guage assist (m40.s or m45.s).  After all  this,  link  edit
  339. the  objects  (ld-I)  and  if  you have an 11/45, sysfix the
  340. result.  The final object file  (a.out)  should  be  renamed
  341. /unix and booted.  See Boot Procedures-VIII for a discussion
  342. of booting.  (Note: remember, before booting, always perform
  343. a sync-VIII to force delayed output to the disk.)
  344.  
  345. SSppeecciiaall FFiilleess
  346.  
  347.      Next  you  must  put in all of the special files in the
  348. directory /dev using mknod-VIII.   Print  the  configuration
  349. file  c.c created above.  This is the major device switch of
  350. each device class (block and character).  There is one  line
  351. for  each  device  configured in your system and a null line
  352. for place holding for those  devices  not  configured.   The
  353. block special devices are put in first by executing the fol-
  354. lowing generic command for each disk or tape  drive.   (Note
  355. that  some  of  these  files  already exist in the directory
  356. /dev.  Examine each file with ls-I with -l flag  to  see  if
  357. the file should be removed.)
  358.  
  359.           /etc/mknod /dev/NAME b MAJOR MINOR
  360.  
  361. The NAME is selected from the following list:
  362.  
  363.      c.c  NAME device
  364.      rf   rf0  RS fixed head disk
  365.      tc   tap0 TU56 DECtape
  366.      rk   rk0  RK03 RK05 moving head disk
  367.      tm   mt0  TU10 TU16 magtape
  368.      rp   rp0  RP moving head disk
  369.      hs   hs0  RS03 RS04 fixed head disk
  370.      hp   hp0  RP04 moving head disk
  371.  
  372. The  major  device  number  is selected by counting the line
  373. number (from zero) of the device's entry in the  block  con-
  374. figuration  table.  Thus the first entry in the table bdevsw
  375. would be major device zero.
  376.  
  377.      The minor device is the drive number,  unit  number  or
  378. partition as described under each device in section IV.  The
  379. last digit of the name (all given as 0 in the  table  above)
  380. should reflect the minor device number.  For tapes where the
  381. unit is dial selectable, a special file may be made for each
  382. possible selection.
  383.  
  384.      The  same  goes  for  the  character devices.  Here the
  385. names are arbitrary except that devices meant to be used for
  386. teletype  access  should  be named /dev/ttyX, where X is any
  387. character.  The files tty8 (console), mem,  kmem,  null  are
  388. already correctly configured.
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.                              -7-
  401.  
  402.  
  403.      The  disk and magtape drivers provide a `raw' interface
  404. to the device which provides direct transmission between the
  405. user's  core  and  the  device and allows reading or writing
  406. large records.  The raw device counts as a character device,
  407. and should have the name of the corresponding standard block
  408. special file with `r' prepended.  Thus the raw magtape files
  409. would be called /dev/rmtX.
  410.  
  411.      When  all  the  special  files  have been created, care
  412. should be taken to change  the  access  modes  (chmod-I)  on
  413. these files to appropriate values.
  414.  
  415. TThhee SSoouurrccee DDiisskk
  416.  
  417.      You  should  now  extract the source disk.  This can be
  418. done as described above or the  UNIX  command  dd-I  may  be
  419. used.   The  disk image begins at block 4100 on the tape, so
  420. the command
  421.  
  422.      dd if=/dev/mt0 of=/dev/rk1 count=4000 skip=4100
  423.  
  424. might be used to extract the disk to RK drive 1.
  425.  
  426.      This   disk   should   be   mounted   (mount-VIII)   on
  427. /usr/source;  it  contains  directories  of source code.  In
  428. each directory is a Shell file run that will  recompile  all
  429. the source in the directory.  These run files should be con-
  430. sulted whenever you need to recompile.
  431.  
  432. FFllooaattiinngg PPooiinntt
  433.  
  434.      UNIX only supports  the  11/45  FP11-B  floating  point
  435. unit.   For  machines without this hardware, there is a user
  436. subroutine available that  will  catch  illegal  instruction
  437. traps and interpret floating point operations.  (See fptrap-
  438. III.)  The system as delivered has this code included in all
  439. commands  that have floating point.  This code is never used
  440. if the FP hardware is available and therefore does not  need
  441. to  be  changed.   The penalty is a little bit of disk space
  442. and loading time for the few floating commands.
  443.  
  444.      The C compiler  in  /usr/source/c  probably  should  be
  445. changed  if  floating  point  is available.  The fpp flag in
  446. c0t.s should be set and C should be recompiled and  reloaded
  447. and  installed.  This allows floating point C programs to be
  448. compiled without the -f flag and prevents the floating point
  449. interpreter  from  getting into new floating programs.  (See
  450. /usr/source/c/run.)
  451.  
  452. TTiimmee CCoonnvveerrssiioonn
  453.  
  454.      If your machine is not in the Eastern  time  zone,  you
  455. must  edit  (ed-I)  the subroutine /usr/source/s4/ctime.c to
  456. reflect your local time.  The variable `timezone' should  be
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.                              -8-
  467.  
  468.  
  469. changed  to  reflect  the time difference between local time
  470. and GMT.  For EST, this is 5*60*60;  for  PST  it  would  be
  471. 8*60*60.   This routine also contains the names of the stan-
  472. dard and Daylight Savings time  zone;  so  `EST'  and  `EDT'
  473. might  be  changed  to `PST' and `PDT' respectively.  Notice
  474. that these two names are in upper case and  escapes  may  be
  475. needed  (tty-IV).  Finally, there is a `daylight' flag; when
  476. it is 1 it causes the time  to  shift  to  Daylight  Savings
  477. automatically  between the last Sundays in April and October
  478. (or other algorithms in 1974 and 1975).  Normally this  will
  479. not  have  to  be  reset.   After ctime.c has been edited it
  480. should be compiled  and  installed  in  its  library.   (See
  481. /usr/source/s4/run.)   Then  you  should  (at  your leisure)
  482. recompile and reinstall all programs performing time conver-
  483. sion.   These include: (in s1) date, dump, ls, cron, (in s2)
  484. mail, pr, restor, who, sa and tp.
  485.  
  486. DDiisskk LLaayyoouutt
  487.  
  488.      If there are to be more file systems mounted than  just
  489. the  root,  use  mkfs-VIII to create the new file system and
  490. put its mounting in the  file  /etc/rc  (see  init-VIII  and
  491. mount-VIII).   (You might look at /etc/rc anyway to see what
  492. has been provided for you.)
  493.  
  494.      There are two considerations in deciding how to  adjust
  495. the  arrangement of things on your disks: the most important
  496. is making sure there is adequate space for what is required;
  497. secondarily,  throughput  should  be maximized.  The RK disk
  498. (or its image) as distributed has 4000 blocks for file stor-
  499. age, and the remainder of the disk (872 blocks) is set aside
  500. for swap space.  In our own system, which allows 14 simulta-
  501. neous  users, this amount of swap space is not quite enough,
  502. so we use 1872 blocks for this purpose; it is  large  enough
  503. so running out of swap space never occurs.
  504.  
  505.      Many  common system programs (C, the editor, the assem-
  506. bler etc.)  create intermediate files in the /tmp directory,
  507. so  the file system where this is stored also should be made
  508. large enough to accommodate most high-water  marks.   In  an
  509. idle state, we have about 900 free blocks on the file system
  510. where /tmp resides, and hit the bottom every few days or so.
  511. (This  causes  a  momentary  disruption, but not a crash, as
  512. swap-space runout does.)  All the programs that create files
  513. in  /tmp  try  to take care to delete them, but most are not
  514. immune to events like being hung  up  upon,  and  can  leave
  515. dregs.   The directory should be examined every so often and
  516. the old files deleted.
  517.  
  518.      Exhaustion of user-file space is certain to  occur  now
  519. and  then;  the  only  mechanisms  for controlling this phe-
  520. nomenon are occasional use of du-I and threatening  messages
  521. of the day and personal letters.
  522.  
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.                              -9-
  533.  
  534.  
  535.      The  efficiency  with which UNIX is able to use the CPU
  536. is largely  dictated  by  the  configuration  of  disk  con-
  537. trollers.   For  general time-sharing applications, the best
  538. strategy is to try to split user files, the  root  directory
  539. (including the /tmp directory) and the swap area among three
  540. controllers.  In our own system, for example, we  have  user
  541. files  on an RP, the root on an RF fixed-head disk, and swap
  542. on an RK.  This is best for us since the  RK  has  a  faster
  543. transfer  rate  than the rather slow RF, and in swapping the
  544. transfer rate rather than access time is the dominant influ-
  545. ence on throughput.
  546.  
  547.      Once  you  have  decided  how  to make best use of your
  548. hardware, the question is how to initialize it.  If you have
  549. the equipment, the best way to move a file system is to dump
  550. it (dump-VIII) to magtape, use mkfs-VIII to create  the  new
  551. file  system,  and restore the tape.  If you don't have mag-
  552. tape, dump accepts an argument  telling  where  to  put  the
  553. dump;  you  might  use another disk or DECtape.  Sometimes a
  554. file system has to be  increased  in  logical  size  without
  555. copying.   The  super-block  of the device has a word giving
  556. the highest address which can be allocated.  For  relatively
  557. small increases, this word can be patched using the debugger
  558. (db-I) and the free list  reconstructed  using  icheck-VIII.
  559. The  size should not be increased very greatly by this tech-
  560. nique, however, since although the  allocatable  space  will
  561. increase  the maximum number of files will not (that is, the
  562. i-list size can't be  changed).   Read  and  understand  the
  563. description given in file system-VI before playing around in
  564. this way.
  565.  
  566.      If you have only an RP disk, see section rp-IV for some
  567. suggestions  on  how  to lay out the information on it.  The
  568. file systems distributed on tape, containing the binary, the
  569. source,  and  the  manuals,  are each only 4000 blocks long.
  570. Perhaps the simplest way to integrate the latter two into  a
  571. large file system is to extract the tape into the upper part
  572. of the RP, dump it, and  restore  it  into  an  empty,  non-
  573. overlapping  file  system structure.  If you have to merge a
  574. file system into another, existing one, the best bet  is  to
  575. use  ncheck-VIII to get a list of names, then edit this list
  576. into a sequence of mkdir and cp commands which will serve as
  577. input  to  the Shell.  (But notice that owner information is
  578. lost.)
  579.  
  580. NNeeww UUsseerrss
  581.  
  582.      Install  new  users  by  editing  the   password   file
  583. /etc/passwd  (passwd-V).  You'll have to make current direc-
  584. tories for the new users and  change  their  owners  to  the
  585. newly  installed  name.  Login as each user to make sure the
  586. password file is correctly edited.  For example:
  587.  
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.                             -10-
  599.  
  600.  
  601.      ed /etc/passwd
  602.      $a
  603.      joe::10:1::/usr/joe:
  604.      w
  605.      q
  606.      mkdir /usr/joe
  607.      chown joe /usr/joe
  608.      login joe
  609.      ls -la
  610.      login root
  611.  
  612. This will make a new login entry for joe.  His default  cur-
  613. rent  directory  is  /usr/joe  which  has been created.  The
  614. delivered password file has the user _k_e_n in it to be used as
  615. a prototype.
  616.  
  617. MMuullttiippllee UUsseerrss
  618.  
  619.      If  UNIX  is  to  support simultaneous access from more
  620. than just the console teletype, the file /etc/ttys  (ttys-V)
  621. has  to  be  edited.  For some historical reason tty8 is the
  622. name of the console typewriter.  To add new  typewriters  be
  623. sure  the  device is configured and the special file exists,
  624. then set the first character  of  the  appropriate  line  of
  625. /etc/ttys  to  1 (or add a new line).  Note that init.c will
  626. have to be recompiled if there are to be more than 20  type-
  627. writers.  Also note that if the special file is inaccessible
  628. when init tries to create a process for it, the system  will
  629. thrash trying and retrying to open it.
  630.  
  631. FFiillee SSyysstteemm HHeeaalltthh
  632.  
  633.      Periodically  (say  every day or so) and always after a
  634. crash, you should check all the file systems for consistency
  635. (icheck,  dcheck-VIII).   It  is  quite important to execute
  636. sync (VIII) before rebooting or  taking  the  machine  down.
  637. This  is  done  automatically every 30 seconds by the update
  638. program (VIII) when a multiple-user system is  running,  but
  639. you should do it anyway to make sure.
  640.  
  641.      Dumping  of  the  file system should be done regularly,
  642. since once the system is going it is  very  easy  to  become
  643. complacent.  Just remember that our RP controller has failed
  644. three times, each time in such a way that all information on
  645. the  disk  was  wiped  out without any error status from the
  646. controller.  Complete and incremental dumps are easily  done
  647. with  the  dump command (VIII) but restoration of individual
  648. files is painful.  Dumping of files by name is best done  by
  649. tp (I) but the number of files is limited.  Finally if there
  650. are enough drives entire disks can be copied using cp-I,  or
  651. preferably  with  dd-I  using  the  raw special files and an
  652. appropriate block size.  Note that there is  no  stand-alone
  653. program  with  UNIX  that will restore any of these formats.
  654. Unless some action has been taken to prevent destruction  of
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.                             -11-
  665.  
  666.  
  667. a  running  version  of UNIX, you can find yourself stranded
  668. even though you have backup.
  669.  
  670.  
  671.  
  672.  
  673.  
  674.  
  675.  
  676.  
  677.  
  678.  
  679.  
  680.  
  681.  
  682.  
  683.  
  684.  
  685.  
  686.  
  687.  
  688.  
  689.  
  690.  
  691.  
  692.  
  693.  
  694.  
  695.  
  696.  
  697.  
  698.  
  699.  
  700.  
  701.  
  702.  
  703.  
  704.  
  705.  
  706.  
  707.  
  708.  
  709.  
  710.  
  711.  
  712.  
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719.  
  720.  
  721.  
  722.  
  723.  
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730.                             -12-
  731.  
  732.  
  733. OOddddss aanndd EEnnddss
  734.  
  735.      The programs  dump,  icheck,  dcheck,  ncheck,  and  df
  736. (source  in  /usr/source/s1  and  /usr/source/s2)  should be
  737. changed to reflect your default mounted file system devices.
  738. Print  the first few lines of these programs and the changes
  739. will be obvious.
  740.  
  741.      If you would like to share any UNIX compatible software
  742. with  others, please let us know about it.  If you find bugs
  743. in the software or the documentation, again let us know.
  744.  
  745.      Lastly, there is a UNIX users' group forming.   To  get
  746. on their mailing list, send your name(s) and address to:
  747.  
  748.      Prof. Melvin Ferentz
  749.      Physics Dept.
  750.      Brooklyn College of CUNY
  751.      Brooklyn, N.Y. 11210
  752.  
  753.  
  754.  
  755.                Good luck.
  756.                Ken Thompson
  757.                Dennis Ritchie
  758.  
  759.  
  760.  
  761.  
  762.  
  763.  
  764.  
  765.  
  766.  
  767.  
  768.  
  769.  
  770.  
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779.  
  780.  
  781.  
  782.  
  783.  
  784.  
  785.  
  786.  
  787.  
  788.  
  789.  
  790.  
  791.  
  792.  
  793.