161 lines
6.0 KiB
Plaintext
161 lines
6.0 KiB
Plaintext
Note: As of FreeBSD 2.0.5 pcvt is integrated into the FreeBSD source tree and
|
|
the item #1 no longer applies!
|
|
|
|
|
|
How to install the pcvt driver on a FreeBSD 2.0 machine (pcvt rel. 3.20)
|
|
-------------------------------------------------------------------------------
|
|
last edit-date: [Fri Jun 30 20:35:28 1995]
|
|
|
|
(1) Copy the driver distribution files into appropriate directories:
|
|
|
|
(1a) make a fresh directory
|
|
|
|
mkdir /usr/src/sys/i386/isa/pcvt
|
|
cd /usr/src/sys/i386/isa/pcvt
|
|
|
|
(1b) copy the pcvt distribution (or unshar it) into this newly
|
|
created directory (/usr/src/sys/i386/isa/pcvt)
|
|
|
|
(1c) copy the ioctl-header file into its destination directory
|
|
|
|
cp pcvt_ioctl.h /usr/include/machine
|
|
|
|
(2) You have the choice of two keyboard layouts regarding the placement of
|
|
the vt220 function keys and the HELP and DO keys.
|
|
|
|
Both configurations are documented in the files Keyboard.HP and Keyboard.VT
|
|
respectively.
|
|
|
|
Decide which one to use and set the "#define" of PCVT_VT220KEYB to
|
|
compile the one you choosed.(see also pcvt_conf.h and pcvt_kbd.c)
|
|
Note: the preferable way to do all option hacking is to add "options"
|
|
lines to the kernel's config file. See the pcvt(4) man page (in this
|
|
directory).
|
|
|
|
(3) There are several other configuration "#define"-able options located at
|
|
the beginning of pcvt_conf.h. "user"-settable options all start with
|
|
"PCVT_".
|
|
Please (!!!) read the comments for them in the header file !
|
|
|
|
(4) Add a line
|
|
|
|
option "PCVT_FREEBSD=200"
|
|
|
|
into your kernel config file. The quotes are important. The number
|
|
should represent the version of your kernel, "200" stands for "2.00",
|
|
which is the official version number for FreeBSD 2.0 (Release).
|
|
|
|
(5) Edit your kernel configuration file and comment the following line out
|
|
by placing a "#" in front of it:
|
|
|
|
device sc0 at isa? port "IO_KBD" tty irq 1 vector scintr
|
|
|
|
add a new config-line just below it:
|
|
|
|
device vt0 at isa? port "IO_KBD" tty irq 1 vector pcrint
|
|
|
|
The lines in my config file look like this:
|
|
|
|
#device sc0 at isa? port "IO_KBD" tty irq 1 vector scintr
|
|
device vt0 at isa? port "IO_KBD" tty irq 1 vector pcrint
|
|
|
|
You can use now either the pccons driver or the pcvt driver (or possibly
|
|
other console drivers too!) by simply un-commenting ONE of them.
|
|
|
|
YOU CANNOT USE/UNCOMMENT MORE THAN __ONE__ CONSOLE DRIVER !!!
|
|
|
|
(6) Configure a new kernel using config(8).
|
|
|
|
(7) Run "make depend" for the new kernel !!!!
|
|
|
|
(8) Compile the new kernel
|
|
|
|
(9) Test the new kernel and check whether it still works with your
|
|
keyboard and your videoboard. Testing could be done best by entering
|
|
the kernel name (e.g. /kernel.pcvt) at the boot prompt, append a
|
|
"-s" flag to prevent it from booting multi-user! The multi-user
|
|
boot phase requires the kernel to be named "/kernel".
|
|
|
|
If the kernel works, rename the old kernel (you don't need it any
|
|
more?), link the new one to "/kernel", and reboot up to multi-user.
|
|
|
|
(10) Change into the distribution subdirectory "Util".
|
|
Copy Makefile.inc.FreeBSD to Makefile.inc and edit Makefile.inc
|
|
to suit your needs, especially have a look at "MANDIR" and "BINDIR".
|
|
Then execute "make". This makes all the utilities in their directories.
|
|
when you are satisfied with the results, execute "make install". This
|
|
installs all programs in all subdirs in "BINDIR" and all manual pages
|
|
in "MANDIR", all fonts in "FONTDIR" and the keycap database in "CAPDIR".
|
|
NB: unless you've got this distribution along with a FreeBSD distrib-
|
|
ution (where it is pre-installed:-), you WILL have to edit Makefile.inc
|
|
in order to get the man pages installed in source form.
|
|
|
|
Change into the distribution subdirectory "Doc" and edit Makefile
|
|
to suit your needs. Then execute "make" to prepare the manpage for
|
|
the driver.
|
|
|
|
(11) If necessary, edit /usr/share/misc/keycap to match your keyboard.
|
|
Keycap uses special codes which are documented in Util/kcon/keycap.3
|
|
and Util/kcon/keycap.5. Also have a look at Util/kcon/kcon.1.
|
|
|
|
(12) There are example termcap entries for the various screen resolutions
|
|
in the file "Etc/Termcap". Integrate them into your termcap file if
|
|
you don't have a "normal" vt220 entry or want to use pcvt's extensions.
|
|
Don't forget to run cap_mkdb after changing your termcap file !
|
|
|
|
NOTE: pcvt works with an unmodified VT220 termcap entry !
|
|
(it was written to do that .... ;-)
|
|
|
|
(13) To use the virtual terminals, one must "mknod" this devices, they have
|
|
major number 12 and minor numbers 0 to n. The MAKEDEV script in the
|
|
/dev directory is suitable for this task, just change into the /dev
|
|
directory and execute 'sh ./MAKEDEV vty8' to make devicefiles for 8
|
|
virtual terminals.
|
|
|
|
If you want to use the mouse emulator, see the comments in pcvt(4).
|
|
|
|
(14) edit /etc/ttys to enable login on the virtual consoles, mine looks like
|
|
this:
|
|
|
|
ttyv0 "/usr/libexec/getty Pc" pcvt25h on secure
|
|
ttyv1 "/usr/libexec/getty Pc" pcvt25h on secure
|
|
ttyv2 "/usr/libexec/getty Pc" pcvt25h on secure
|
|
ttyv3 "/usr/libexec/getty Pc" pcvt25h on secure
|
|
ttyv4 "/usr/libexec/getty Pc" pcvt25h on secure
|
|
ttyv5 "/usr/libexec/getty Pc" pcvt25h on secure
|
|
ttyv6 "/usr/libexec/getty Pc" pcvt25h on secure
|
|
ttyv7 "/usr/libexec/getty Pc" pcvt25h on secure
|
|
|
|
|
|
(15) Edit /etc/rc.local to download fonts and establish emulation modes, mine
|
|
looks like the example provided in Etc/rc.local
|
|
|
|
|
|
(16) For FreeBSD 2.0 there is a patch to cons.c necessary, if you don't
|
|
apply this patch, you don't have a console device; Joerg Wunsch
|
|
provided this patch:
|
|
|
|
*** cons.c.orig Mon Oct 31 18:20:14 1994
|
|
--- cons.c Tue Dec 13 16:16:52 1994
|
|
***************
|
|
*** 67,73 ****
|
|
#endif
|
|
|
|
struct consdev constab[] = {
|
|
! #if NSC > 0
|
|
{ pccnprobe, pccninit, pccngetc, pccncheckc, pccnputc },
|
|
#endif
|
|
#if NSIO > 0
|
|
--- 67,73 ----
|
|
#endif
|
|
|
|
struct consdev constab[] = {
|
|
! #if NSC > 0 || NVT > 0
|
|
{ pccnprobe, pccninit, pccngetc, pccncheckc, pccnputc },
|
|
#endif
|
|
#if NSIO > 0
|
|
|
|
|
|
|
|
good luck !
|