1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
|
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 !
|