2.11 BSD on an 11/93 with an CMD SCSI Module
Bill Gunshannon
bill.gunshannon at hotmail.com
Wed Apr 3 11:32:21 CDT 2019
On 4/2/19 11:21 PM, Glen Slick via cctalk wrote:
> On Tue, Apr 2, 2019 at 5:09 PM Bill Gunshannon via cctalk
> <cctalk at classiccmp.org> wrote:
>>
>>> Try deleting everything on the device entry lines after "cnxint"
>>>
>>> (For reference, "cnrint" and "cnxint" are the names of the interrupt
>>> handler routines in src/sys/pdp/cons.c Those names have to match to
>>> be able to link up the pointers to the interrupt handlers).
>>>
>>
>> Let's make it simple. Here's that section of my dtab file:
>>
>> # If you have DL11s, you must give each line an explicit unit number instead
>> # of using a '?' as above. If you use a '?', autoconfig(8) will start
>> # assigning unit numbers starting at 0 which will effectively move your
>> # console to that first line. Start your unit numbers with '1'.
>> #
>> # cn 1 176500 300 5 cnrint cnxint # kl/dl-11 (on mvx11-aa)
>> cn 1 176500 300 5 cnrint cnxint
>> cn 2 176510 310 5 cnrint cnxint
>> cn 3 176520 320 5 cnrint cnxint
>> cn 4 176530 330 5 cnrint cnxint
>> cn 5 176540 340 5 cnrint cnxint
>> cn 6 176550 350 5 cnrint cnxint
>> cn 7 176560 360 5 cnrint cnxint
>
> Hmm, I spent some time experimenting with this on a SIMH PDP-11 and it
> appears that the device entry lines in /etc/dtab cannot end exactly at
> the last character of an interrupt handler name. At least one
> isspace() character is required before the newline character at the
> end of the line. I would consider that a bug in the read_dtab()
> routine in src/sys/autoconfig/read_dtab.c
>
> These are the device entry lines I ended up adding to /etc/dtab to
> ensure that there is at least one isspace() character before the
> newline character at the end of the line. The '#' comment character
> isn't necessary, just makes it obvious that there is at least one
> isspace() character after the last interrupt handler name.
>
> cn 1 176500 300 5 cnrint cnxint #
> cn 2 176510 310 5 cnrint cnxint #
> cn 3 176520 320 5 cnrint cnxint #
> cn 4 176530 330 5 cnrint cnxint #
> cn 5 176540 340 5 cnrint cnxint #
> cn 6 176550 350 5 cnrint cnxint #
> cn 7 176560 360 5 cnrint cnxint #
>
> After changing the NKL definition in the kernel configuration file and
> rebuilding and installing a new kernel with that change I now get this
> when booting the system:
>
> November 1 10:44:01 init: configure system
>
> ra 0 csr 172150 vector 154 vectorset attached
> rl 0 csr 174400 vector 160 attached
> rx 0 csr 177170 vector 264 attached
> tms 0 csr 174500 vector 260 vectorset attached
> cn 1 csr 176500 vector 300 attached
> cn 2 csr 176510 vector 310 attached
> cn 3 csr 176520 vector 320 attached
> cn 4 csr 176530 vector 330 attached
> cn 5 csr 176540 vector 340 attached
> cn 6 csr 176550 vector 350 attached
> cn 7 csr 176560 vector 360 attached
> erase, kill ^U, intr ^C
>
> To create the device nodes for the additional DL lines in /dev I then
> did the following:
>
> # cd /dev
> # rm ttyl*
> # ./MAKEDEV dl1 dl2 dl3 dl4 dl5 dl6 dl7
> # ls -l ttyl*
> crw------- 1 root 0, 1 Nov 1 10:59 ttyl1
> crw------- 1 root 0, 2 Nov 1 10:59 ttyl2
> crw------- 1 root 0, 3 Nov 1 10:59 ttyl3
> crw------- 1 root 0, 4 Nov 1 10:59 ttyl4
> crw------- 1 root 0, 5 Nov 1 10:59 ttyl5
> crw------- 1 root 0, 6 Nov 1 10:59 ttyl6
> crw------- 1 root 0, 7 Nov 1 10:59 ttyl7
>
> Then to enable getty to run on those addition DL lines I added entries
> for those device in /etc/ttys. There was already an entry for ttyl1 in
> /etc/ttys, but I had to change the 'off' to 'on' for that entry:
>
> /etc/ttys new entries:
> ttyl1 "/usr/libexec/getty std.9600" vt100 on secure
> ttyl2 "/usr/libexec/getty std.9600" vt100 on secure
> ttyl3 "/usr/libexec/getty std.9600" vt100 on secure
> ttyl4 "/usr/libexec/getty std.9600" vt100 on secure
> ttyl5 "/usr/libexec/getty std.9600" vt100 on secure
> ttyl6 "/usr/libexec/getty std.9600" vt100 on secure
> ttyl7 "/usr/libexec/getty std.9600" vt100 on secure
>
> After making all of those changes and restarting the system I got
> login prompts on the additional DL lines after exiting single user
> mode.
>
> In summary the only changes I had to make from the generic 2.11BSD
> installation were:
> (1) Change the NKL definition in the kernel configuration file and
> rebuild and install a new kernel with that change
> (2) Add new 'cn' device entries for the additional DL lines in /etc/dtab
> (3) ./MAKEDEV dl1 ... dl7 in /dev for the additional DL lines
> (3) Add additional ttyl1 ... ttyl7 entries for the additional DL lines
> in /etc/ttys
>
The baby steps continue.
I made the changes recommended above adding a space and a "#"
to the end of each line. autoconfig now recognizes them and
getty doesn't complain.. No logi prompt but that could be a
cable problem as the only DEC serial cable I had handy was
labeled "Printer" and might not work. I will dig up some of
my MMJ DB9 and DB25 connectors and make a real serial cable
to see if it now works.
Networking works fine. I have been able to access the INTERNET
and login from a remote system. This will make it much easier
to move things over to the PDP-11. Probably make a dump of
the system and start applying patches.
Warren, when I get it done I will be glad to provide you with
a dump of the root and usr partitions. I may be able to do
SIMH disk images as well, but I have been working mostly with
E11. But I do SIMH as well sometimes.
I want to take this time to thank everyone who helped me get
this far. It is fun to work with a real box again. Next
step will be to use this one to make the necessary pieces
for Ultrix-11. Eventually I would like to create a complete
VTServer install for Ultrix-11 as I expect more and more
people with real 11's are running without real tape drives.
bill
More information about the cctalk
mailing list