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@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