Annotation of 43BSDTahoe/new/X/doc/installation/in.3, revision 1.1.1.1

1.1       root        1: .NH
                      2: Installation Steps
                      3: .PP
                      4: This chapter explains in greater detail the steps covered in the overview.
                      5: It presumes the source hierarchy has been loaded in some convenient location,
                      6: and that the \fI/usr/new\fP directory
                      7: and \fI/usr/new/lib\fP directory already exist.
                      8: If you
                      9: have source or object for other display types in their device dependent
                     10: directories, you should edit the X/X/Makefile to build them.
                     11: .PP
                     12: This distribution was tested under the following versions of different
                     13: vendors systems.
                     14: .DS
                     15:        4.3BSD
                     16:        Ultrix 1.2
                     17:        Sun 3.0
                     18:        Apollo 9.5
                     19:        Integrated Solutions 3.07
                     20:        IBM 4.2A Release 2.
                     21: .DE
                     22: You are on your own if you are using versions prior to those listed above.
                     23: We recommend upgrading to the later releases.
                     24: In particular, the server will not run on IBM 4.2A release 1,
                     25: and previous releases of the other systems may or may not work properly.
                     26: It is impossible for us to keep straight all the different versions
                     27: of different vendor's systems.
                     28: .PP
                     29: This distribution has not been tested for the Integrated Solutions
                     30: machine, as we had none available for testing.
                     31: .PP
                     32: The Apollo testing showed the installation to be quite rocky,
                     33: due to some problems with their C preprocessor,
                     34: and there was not time for complete integration of the changes required.
                     35: Good luck; you may need it, but it has been seen to work.
                     36: .PP
                     37: The client code should be easily portable to other 4.2BSD based systems,
                     38: the CCI for example.
                     39: Some System V based Unix systems also have the Berkeley network
                     40: support in them, but you are on your own here.
                     41: .NH 2
                     42: Prelude
                     43: .PP
                     44: NOTE:
                     45: As X is a network transparent window system, client programs use
                     46: network facilities to communicate with the window system.
                     47: Make sure your network code works properly BEFORE attempting to use X.
                     48: For example, \fItalk(1)\fP should be working properly between normal terminals,
                     49: or you should be able to \fIrlogin\fP to either the local or to
                     50: another machine if you have a network.
                     51: .PP
                     52: Also make sure you have made as many pseudo-teletypes as possible
                     53: (cd /dev; MAKEDEV pty0; MAKEDEV pty1).
                     54: These are used for terminal emulator windows, and it is possible you
                     55: may use quite a few of them.
                     56: .PP
                     57: If you have other machines in your network that run a 4.2BSD derived
                     58: system, you can also move the C language source code and recompile it
                     59: on those machines.
                     60: Performance of the terminal emulator will be improved by use of
                     61: 4.3BSD's improved pty driver, which is six times faster than the 4.2BSD
                     62: version.
                     63: The C applications should be able to communicate with the X server on
                     64: your display.
                     65: .NH 2
                     66: Font and Firmware Files
                     67: .PP
                     68: For each device type supported by X, fonts may differ.
                     69: There may also be local installation restrictions which may
                     70: prohibit you from using the default location of \fI/usr/new/lib/X\fP
                     71: for the fonts or other files needed by X (for example, Vs100 firmware).
                     72: In each device dependent X library should be a file \fIvssite.h\fP
                     73: which can be tailored to find the fonts and firmware in a different location.
                     74: Another reason why you may want to change the font and firmware directory
                     75: locations would be to allow use of the display while not having all of
                     76: your file systems mounted.
                     77: Tailor this file to your taste, and modify the master make file to move
                     78: the fonts and firmware to your location.
                     79: .PP
                     80: The binaries are normally installed into \fI/usr/new\fP.
                     81: If you want to change this, edit the master Makefile and change
                     82: CONFDIR to the directory you choose.
                     83: The entry ``make reconfig'' can be used to automatically edit the Makefiles
                     84: in the directories from \fI/usr/new\fP to your new configuration.
                     85: .NH 2
                     86: Reading the distribution.
                     87: .PP
                     88: The software comes on a single 1600 BPI magnetic tape in \fItar\fP(1) format.
                     89: All files will be extracted into a directory named \fBX\fP.
                     90: An example command would be:
                     91: .DS
                     92: \(bu   tar xf /dev/rmt8
                     93: .DE
                     94: .PP
                     95: If you move the distribution to a different machine than the
                     96: one you read the tape on, use care to preserve
                     97: the symbolic links, either by moving the distribution as a single file
                     98: or by using \fItar\fP across the net.
                     99: If you don't, you will end up with more than one copy of certain key
                    100: include files, and may get confused later if you make changes.
                    101: .NH 2
                    102: Building the server
                    103: .PP
                    104: If you only want to build the client programs on a machine that does
                    105: not have a display, you can skip this step.
                    106: .PP
                    107: If you have a display on your workstation, you can build a server
                    108: for your display.
                    109: The types of displays supported under the MIT distribution include
                    110: the DEC VS100, VS-1, VS-2 and VS-2 RC, most Sun workstation displays,
                    111: the Apollo displays, the IBM RT/PC displays under 4.2A only
                    112: (this distribution will NOT run under AIX!), and the Integrated
                    113: Solutions Optimim V workstations.
                    114: Servers for other displays may only be available from the manufacturers.
                    115: Examples of this include the Vaxstation II/GPX from Digital, the
                    116: HP Bobcats, and Sony displays.
                    117: .PP
                    118: To build the server for your machine,
                    119: type one of the following:
                    120: .DS
                    121: .ta .5i 2.0i
                    122: .TA .5i 2.0i
                    123: \(bu   make dec        # for Digital Vs100 and VS1 and VS2
                    124: \(bu   make sun        # for Sun workstations
                    125: \(bu   make apollo     # for Apollo Computer workstations
                    126: \(bu   make is         # for Integrated Solutions workstations
                    127: \(bu   make ibm        # for IBM RT/PC under 4.2A
                    128: .DE
                    129: .PP
                    130: This should complete with no errors on the DEC, Sun, and IBM workstations.
                    131: The Apollo compiler may generate a number of warnings, and
                    132: X/dispatch.c takes a LONG time to compile.
                    133: The Apollo preprocessor has problems with several macros new to release 4;
                    134: you will have to edit out all occurences of "B16", and "UBPS" should be
                    135: changed to 1.
                    136: These macros are defined to make it easier to port X to
                    137: machines where a short is not 2 bytes.
                    138: .NH 2
                    139: Building Software
                    140: .PP
                    141: To build executable versions of all X programs,
                    142: execute the command 
                    143: .DS
                    144: \(bu   make all
                    145: .DE
                    146: in the main directory.
                    147: .PP
                    148: Compiling all software takes quite a while. 
                    149: Building the X library takes the longest, as there are more than one
                    150: hundred fifty modules.
                    151: This should complete without error on most machines.
                    152: .NH 2
                    153: Installing the X Executables
                    154: .PP
                    155: As super user,
                    156: execute the command 
                    157: .DS
                    158: \(bu   make install
                    159: .DE
                    160: This should complete without error.
                    161: .PP
                    162: This  also copies all necessary files for users to program
                    163: using X into \fI/usr/include/X\fP.
                    164: .PP
                    165: You should also install the correct termcap and terminfo (if
                    166: applicable)
                    167: files out of
                    168: \fIxterm/termcap\fP and \fIxterm/terminfo\fP into \fI/etc/termcap\fP
                    169: and your terminfo database if they are not already there.
                    170: .PP
                    171: The \fIxinit\fP program, useful
                    172: on machines without the proper init support for login,
                    173: expects that the running server to be called "X".
                    174: You can either rename the appropriate server for your display,
                    175: or use the correct arguments to \fIxinit\fP.
                    176: .NH 2
                    177: Building a Kernel With the Device Driver
                    178: .PP
                    179: On some machines, the display driver or other
                    180: auxilary file may not come configured into
                    181: the system or other device files may not exist.
                    182: You must add a line to your configuration file for each display you have.
                    183: Make sure the CSR address matches between your configuration file and your
                    184: hardware.
                    185: The VS100 driver comes with 4.3BSD.
                    186: Configure, make, and install the kernel containing the display driver.
                    187: When you reboot the machine, make sure that your display auto configures
                    188: during boot.
                    189: .PP
                    190: You should also make a device entry for each display.
                    191: For a Vs100, change directory to \fI/dev\fP,
                    192: and perform a ``MAKEDEV vs?'', where `?' is the number of the Vs100 as root.
                    193: For a QVSS on a MicroVAX,
                    194: the command would be 
                    195: .DS
                    196: \(bu   /etc/mknod /dev/mouse c 35 2    # if /dev/mouse does not exist on a VS-2.
                    197: \(bu   /etc/mknod /dev/bell c 12 2     # for bell to ring on a Sun.
                    198: \(bu   MAKEDEV displays                # for displays on the RT/PC
                    199: .DE
                    200: Normally, the protection on the device would be only user read/write,
                    201: but for debugging purposes you may want to temporarily change it.
                    202: On a DEC VS-2, you should also adb /sys/vaxuba/qv.o and change
                    203: the variable "qv_def_scrn" to 2 and rebuild your system.
                    204: This will cause the correct screen parameters to be used on the VR-260 monitor.
                    205: .NH 2
                    206: Testing and Trouble Shooting
                    207: .PP
                    208: We highly recommend testing before attempting to enable
                    209: login on the display.
                    210: Error messages will go to your terminal, rather than being logged in 
                    211: the file \fI/usr/adm/X?.hosts\fP.
                    212: You can use \fIxinit(1)\fP to aid you in testing, but
                    213: it is most easily performed from terminal or from across the network.
                    214: .PP
                    215: To test a Vs100 on line 0, for example,
                    216: you would change directory to /usr/new (or wherever you decided to put the
                    217: executable programs), and would type ``Xvs100 0 0 &''.
                    218: (For a MicroVAX, the command would be ``Xqvss 0 0 &'').
                    219: The first argument is which device to use (in this case \fI/dev/vs0\fP
                    220: will be used).
                    221: There can only be one display on a MicroVAX.
                    222: The second argument is ignored.
                    223: See the \fIX(8c)\fP and the manual pages
                    224: for particular servers manual page for other options.
                    225: .PP
                    226: If everything succeeds, you should get a grey background and a large
                    227: X cursor on the screen.
                    228: For reasons we have never understood, it may take three tries to get a
                    229: VS100 display to respond.
                    230: If not, the most common mistake is the fonts or firmware to be in the
                    231: wrong location or a directory or file to not be readable.
                    232: .PP
                    233: You should now be able to run any of the X programs.
                    234: A common beginning mistake would be to forget to set the "DISPLAY"
                    235: environment variable.
                    236: Most programs also take arguments to specify the host and display number.
                    237: So, for convenience while testing, you might execute the
                    238: command ``setenv DISPLAY \fIyourhost\fP:0'' where \fIyourhost\fP is the name of your
                    239: machine when using the C-shell.
                    240: This variable will be set for you automatically
                    241: when you log in in the future.
                    242: .PP
                    243: A common problem that might prevent the \fIxterm(1)\fP
                    244: program from working is it
                    245: not being set user ID and owned by root.
                    246: The installation makefiles should be installing \fIxterm(1)\fP this way.
                    247: \fIXterm\fP may also fail if the files described in the previous
                    248: section are not consistent, or if you attempt to use an xterm built
                    249: before the \fI/etc/init\fP changes were installed.
                    250: .PP
                    251: If everything is working, you should be ready to enable the line for login.
                    252: .NH 2
                    253: Automatic Login Support
                    254: .PP
                    255: Some systems are capable of starting the server and a login \fIxterm\fP
                    256: automatically, in particular 4.3BSD and Ultrix 1.2 and later.
                    257: If your system does not support the new /etc/ttys format,
                    258: you should skip this section.
                    259: On other systems, if you have source for 4.3BSD you may want to
                    260: install this support.
                    261: Mere mortals should probably think long and hard before risking such
                    262: installation, but wizards may find it not too difficult.
                    263: Affected programs include \fI/etc/init\fP, \fI/etc/getty\fP, \fI/bin/login\fP,
                    264: and C library routines \fIttyname\fP(3), \fIisatty\fP(3), \fIttyslot\fP(3) and
                    265: all programs that depend on the format of \fI/etc/ttys\fP, \fI/etc/gettytab\fP
                    266: and \fI/etc/utmp\fP.
                    267: The programs need to be installed as a set, and \fIxterm\fP must be recompiled.
                    268: .PP
                    269: To avoid a possible race condition, and to allow consistent Unix program
                    270: behavior, we dedicate a pseudo teletype for each display's login window.
                    271: All other pty's are allocated dynamically when used.
                    272: You will use many pty's, so make as many as possible.
                    273: Pseudo TTY's come in pairs, the master and the slave.
                    274: We rename them to be ``ttyv?'' where `?' is the number of the display.
                    275: .PP
                    276: So for example,
                    277: we might execute the commands:
                    278: .DS
                    279: \(bu   cd /dev
                    280: \(bu   MAKEDEV pty0
                    281: \(bu   MAKEDEV pty1
                    282: \(bu   mv ttyqf ttyv0          # may already exist on some machines
                    283: \(bu   mv ptyqf ptyv0
                    284: .DE
                    285: and similarly for any other displays.
                    286: When logged in, you would appear to be logged in on ``ttyv0'' in this case.
                    287: We use the last pseudo teletypes since all other utilities start searching
                    288: from lower to higher, and we'd just as soon have them find a pty as soon
                    289: as they can.
                    290: .NH 2
                    291: Configuring Lines in /etc/ttys
                    292: .PP
                    293: If you started X in the previous step, you will want to abort it now.
                    294: For each display you have on a machine, you
                    295: must have a line in \fI/etc/ttys\fP to drive the terminal emulator used for
                    296: login and the window system server.
                    297: NOTE:
                    298: The format of the \fI/etc/ttys\fP file has changed radically between 4.2 and
                    299: 4.3.
                    300: You cannot set up a display for login on a 4.2BSD system without installing
                    301: new versions of \fI/etc/init\fP,
                    302: \fI/etc/getty\fP, and \fI/bin/login\fP from 4.3.
                    303: .PP
                    304: An example line in \fI/etc/ttys\fP is given in the \fIX(8c)\fP manual page
                    305: (though you will have to customize the line for the location and names of
                    306: the executable programs).
                    307: An example for a Vs100 installed without any reconfiguration on 4.3BSD
                    308: might be:
                    309: .sp
                    310:        ttyv0 "/usr/new/xterm -L =-1+1 :0" xterms on window="/usr/new/Xvs100 0"
                    311: .sp
                    312: You can customize these commands to taste.
                    313: .PP
                    314: You can tell \fIinit(8)\fP to re-read the \fI/etc/ttys\fP file by the command
                    315: ``kill -1 1'' as super user.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.