From wkt at csadfa.cs.adfa.oz.au Fri Dec 1 08:54:53 1995 From: wkt at csadfa.cs.adfa.oz.au (Warren Toomey) Date: Fri, 1 Dec 1995 09:54:53 +1100 (EST) Subject: v5, v6 on /34 In-Reply-To: from "Bob Manners" at Nov 29, 95 10:55:58 am Message-ID: <9511302254.AA08974@dolphin> In atricle by Bob Manners: > > > Having got past the emulator stage now (and having had my RK05 fitted > with new heads after a _spectacular_ crash), I've been setting to the > task of resurecting UNIX on the system. > > Thanks to John Wilson's excellent KSERVE Kermit server for RT11 I've > been able to transfer v5 and v6 disk images to RK05. > > v6 boots just fine, and runs without any real drama. v5, much to my > suprise, does not ... Bob, I got the v5 image from the PUPS archive to run under Bob Supnik's emulator by using the bootblock from the v6 image: /usr/local/src/Megan: ./pdp11 PDP-11 simulator V1.0 Unknown command Unknown command Unknown command Unknown command @unix login: root # ls -l total 60 drwxr-xr-x 2 bin 944 Nov 26 18:13 bin drwxr-xr-x 2 bin 96 Mar 21 12:07 dev drwxr-xr-x 2 bin 240 Mar 21 12:07 etc drwxr-xr-x 2 bin 224 Nov 26 18:13 lib drwxr-xr-x 2 bin 32 Nov 26 18:13 mnt drwxrwxrwx 2 bin 144 Mar 21 12:08 tmp -rwxrwxrwx 1 bin 25802 Mar 21 12:07 unix Amazing size, huh?! drwxr-xr-x 14 bin 224 Nov 26 18:13 usr # The bootblock is uuencoded below. I've modified the simulator to have a .pdp11rc so I don't have to type in the boot commands. I should put the diffs somewhere. Warren begin 600 bootblk M!P&^`0`````````````!`,85`+Z!$0`*P2$*AA Greetings: All I did was add 1 DEQNA, 3 DLV's (total 4), 1 DLV. Has anyone tried this? The Makefile proceeds without errors until the final (massive) link run. Then it says too big for type 431 and exits code 2. I tried playing with Makefile, deleted some modules, like the rk, which I do not have, and moved a couple around. Same result. Obviously I'm new at this. Any assistance appreciated. ************************************************************************* * A Personal Message from * BASILISK * * Danny R. Brown * "Try our other fine flavors!" * * ( sysyphus at crl.com ) * (404) 392-1691 * * Pager:(404)397-0516 * LYNC host mode * ************************************************************************* From rjm at swift.eng.ox.ac.uk Sat Dec 2 04:39:49 1995 From: rjm at swift.eng.ox.ac.uk (Bob Manners) Date: Fri, 1 Dec 1995 18:39:49 +0000 (GMT) Subject: Serial lines and v6 ... Message-ID: Having given up trying to work out why v6 runs on my /34a, and v5 doesn't, I've turned my mind to the problem of trying to get a second DL11 up and running so I can use a terminal as well as my trusty teletype. I've set up a second DL11 on CSR address 176500, vector 300. This device is set for 96008N1, for what it's worth, and works just fine under RT11. I rebuilt the v6 kernel to enable a second DL11 interface. I have no guide to the source, so all this is based on my guesswork. Needless to say, it doesn't work, and I'm now out of ideas: Modified /usr/sys/dmr/kl.c, the KL/DL-11 driver source. I'm assured that the KL11 is an ancient serial interface ... Extract from said file ... /* base address */ #define KLADDR 0177560 /* console */ #define KLBASE 0176500 /* kl and dl11-a */ #define DLBASE 0175610 /* dl-e */ #define NKL11 1 #define NDL11 0 #define DSRDY 02 #define RDRENB 01 I simply changed the number of KL11's from one to two: #define NKL11 2 A further comment in the code says: * set up minor 0 to address KLADDR * set up minor 1 thru NKL11-1 to address from KLBASE * set up minor NKL11 on to addresss from DLBASE What this is saying is that minor 0 will be 0177560 (my console, which works fine), minor 1 will be 0176500 (which should be my second DL11). The code even does what the comment says ... ;) So I rebuild the kernel, reboot. Now, /etc/mknod /dev/tty1 c 0 1 makes the device, and echo Hi >/dev/tty1 gives: /dev/tty1: cannot create What is up? Naturally if I set up a login for that terminal by editing /etc/ttys, the process loops and causes a great deal of disk thrashing. Something is clearly up with the configuration of the device drivers here ... Does anyone know how I'm supposed to do this properly? Advice and guidance would be much appreciated ... ********************************************************************* On a completely different note, would someone be so kind as to give me the source for a very small Bourne shell and accompanying utilities (/bin/test etc...) that I could port to v6 without too much difficulty? ********************************************************************* Thanks, Bob. -- ---------------------------------------------------------------------------- Robert Manners Osney Laboratory rjm at swift.eng.ox.ac.uk Dept of Engineering Science University of Oxford 01865 288762 Try: http://swift.eng.ox.ac.uk Linux - the only choice "Wall Street or Crack Dealer Avenue, the last routes left to the American Dream" - Jello Biafra ---------------------------------------------------------------------------- From sysyphus at crl.com Sat Dec 2 00:03:50 1995 From: sysyphus at crl.com (Danny R. Brown) Date: Fri, 1 Dec 1995 06:03:50 -0800 (PST) Subject: Followup to compiling BSD2.11 w/Deqna Message-ID: Uh, sorry... I rebuilt the unmodified GENERIC kernal. It also terminates abnormally, same point, same message. I'm going to sleep for a while and then go out and buy another Unix book. ************************************************************************* * A Personal Message from * BASILISK * * Danny R. Brown * "Try our other fine flavors!" * * ( sysyphus at crl.com ) * (404) 392-1691 * * Pager:(404)397-0516 * LYNC host mode * ************************************************************************* From sms at wlv.iipo.gtegsc.com Sat Dec 2 14:05:36 1995 From: sms at wlv.iipo.gtegsc.com (Steven M. Schultz) Date: Fri, 1 Dec 1995 20:05:36 -0800 Subject: Followup to compiling BSD2.11 w/Deqna Message-ID: <199512020405.UAA17751@wlv.iipo.gtegsc.com> Hello - > From: "Danny R. Brown" > Subject: Followup to compiling BSD2.11 w/Deqna > > > Uh, sorry... I rebuilt the unmodified GENERIC kernal. It also terminates > abnormally, same point, same message. I'm going to sleep for a while > and then go out and buy another Unix book. That is strange. The GENERIC kernel should build with no problems - efforts were made to keep the Make.* files in /sys/conf in sync with the GENERIC system. Alas, it sounds like I didn't keep the template Makefiles current enough ;-( I doubt there are any books out there that know anything about overlays - it's a a lost art from what I've seen. I'll follow up with a mini tutorial on how to build a kernel. One note for now: it is 99.999% certain that after configuring a non-GENERIC kernel you will get a size error from the linker and you will have to adjust the overlay layout in your kernel build directory. Steven Schultz sms at wlv.iipo.gtegsc.com From wkt at csadfa.cs.adfa.oz.au Sat Dec 2 15:15:38 1995 From: wkt at csadfa.cs.adfa.oz.au (Warren Toomey) Date: Sat, 2 Dec 1995 16:15:38 +1100 (EST) Subject: Serial lines and v6 ... In-Reply-To: from "Bob Manners" at Dec 1, 95 06:39:49 pm Message-ID: <9512020515.AA14858@dolphin> In atricle by Bob Manners: > I rebuilt the v6 kernel to enable a second DL11 interface. I have no > guide to the source, so all this is based on my guesswork. Needless to > say, it doesn't work, and I'm now out of ideas: Bob, check out the manual for mkconf(1), and also the documentation about rebuilding the Unix kernel in /usr/doc/setup??. I'm sure it mentions the DL code, so that might get you going. I'm at home & don't have my paper copies at hand. But looking at the v7 docs, maybe you need to put a line like 1 kl in your config file. Don't put 2 kl, the software automatically counts the console. > On a completely different note, would someone be so kind as to give me > the source for a very small Bourne shell and accompanying utilities > (/bin/test etc...) that I could port to v6 without too much difficulty? Yeah, v6 comes with all of these in /usr/src/cmd :-) Maybe you meant something else? Warren From sms at wlv.iipo.gtegsc.com Sat Dec 2 15:01:42 1995 From: sms at wlv.iipo.gtegsc.com (Steven M. Schultz) Date: Fri, 1 Dec 1995 21:01:42 -0800 Subject: Compiling BSD2.11 w/DEQNA support Message-ID: <199512020501.VAA18261@wlv.iipo.gtegsc.com> Greetings - > From: "Danny R. Brown" > All I did was add 1 DEQNA, 3 DLV's (total 4), 1 DLV. Has anyone tried > this? The Makefile proceeds without errors until the final (massive) > link run. Then it says > too big for type 431 > and exits code 2. > I tried playing with Makefile, deleted some modules, like the rk, which > I do not have, and moved a couple around. Same result. > Obviously I'm new at this. Any assistance appreciated. This is not unexpected. In fact I was placing bets with myself as to when the first person would encounter the 'too big' message ;-) As distributed only the GENERIC kernel will (or should - apparently I screwed up) configure and build without errors. What to do when the linker complains about the size of a kernel is not covered in the documentation - sorry 'bout that, perhaps I'll take the mini-tutorial below and add it to the setup documentation some day. As a bit of background here is what goes on when a kernel is configured: cd /sys/conf cp GENERIC PICKLE vi PICKLE ... turn on/off desired featuers,drivers,etc ... ./config PICKLE At this point the 'config' script creates the directory /sys/PICKLE and populates it with various .h files describing what devices are present and so on. Also copied into /sys/PICKLE are the various _prototype_ Makefiles: Makefile, Make.pdp, Make.pdpuba, etc. Of these makefiles you are only concerned with "Makefile" - the others should almost _never_ be edited. cd ../PICKLE make ld: too big for type 431 First - what does that message mean? '431' is the magic number for a split I/D overlaid executable. Kernels are *always* split I/D and overlaid. The 'too big' part of the message means that the base segment and/or one of the overlays is larger than allowed. What are the limits on the sizes (I hear you ask)? Kernels are a special case of overlaid program (user mode programs may be overlaid too but have less restrictive size rules). The BASE segment (non-overlaid portion) may be up to 56kb (57344) bytes in size. Each of the 15 (maximum) overlays (OV1 thru OV15) may be up to 8kb (8192) bytes. When 'ld' gives you a "too big" message the first thing you should do is: size unix.o That will produce something similar to: text data bss dec hex 58304 7778 41206 107288 1a318 total text: 119360 overlays: 8192,6976,7680,7616,8000,7872,7680,7040 As we see the base segment is over 57344. To reduce the base we must move one of the files from the BASE group to one of the OV groups. Which one? It is not critical but a the general rule is: The smallest one which will solve the problem. It is perfectly ok to put device drivers in overlays - especially disk drivers which tend to move large chunks of data per interrupt or call. It is desireable to keep terminal drivers in the base but nothing bad will happen if you need to put one (such as dh.o) into an overlay. Next, look in the Makefile at the line starting with "BASE=" and do: a "size " command on all the files listed in the BASE section. How much do we need to reduce the base? 58304 - 57344 = 960. So, we need to find a .o (or more than one - it's the total of sizes that counts) in the BASE that is >= 960 bytes of text. In my kernel the overlay description looks like this: BASE= br.o cons.o dh.o dhu.o dhv.o dr.o dz.o hk.o ht.o init_sysent.o \ kern_clock.o kern_descrip.o kern_mman.o kern_proc.o kern_prot.o \ kern_subr.o kern_synch.o machdep.o ram.o kern_fork.o \ rk.o ra.o rx.o si.o subr_rmap.o sys_inode.o sys_kern.o \ tm.o tty.o tty_conf.o tty_subr.o tty_tb.o ufs_alloc.o \ ufs_bio.o ufs_dsort.o ufs_fio.o ufs_inode.o ufs_namei.o \ vm_sched.o vm_text.o xp.o quota_subr.o OV1= sys_generic.o ufs_syscalls.o OV2= kern_acct.o kern_exec.o kern_exit.o kern_resource.o OV3= kern_time.o sys_process.o ufs_mount.o ufs_subr.o \ uipc_syscalls.o OV4= dkbad.o kern_sig.o mem.o subr_xxx.o trap.o tty_pty.o tty_tty.o OV5= quota_kern.o quota_ufs.o quota_sys.o ufs_bmap.o \ sys_pipe.o # OV6 gets the (hopefully) never used routines OV6= clock.o dn.o init_main.o kern_pdp.o machdep2.o subr_prf.o syscalls.o \ subr_log.o toy.o vm_swap.o OV7= tmscp.o lp.o vm_swp.o rl.o mch_fpsim.o ts.o OV8= kern_sysctl.o ingreslock.o ufs_disksubr.o kern_xxx.o vm_proc.o We see that size kern_subr.o ufs_dsort.o gives text data bss 820 34 0 272 0 0 820 + 272 = 1092 58304 - 1092 = 57212 which is great! It's below 57344. So, we've found the .o files which when moved to an overlay will generate a valid kernel. Where should we put it? Well - OV2 looks a little small, is there room there? 8192-6976=1216. Yes, there is room. So, the kern_subr.o and ufs_dsort.o files are removed from the BASE section and added to OV2: BASE= br.o cons.o dh.o dhu.o dhv.o dr.o dz.o hk.o ht.o init_sysent.o \ kern_clock.o kern_descrip.o kern_mman.o kern_proc.o kern_prot.o \ kern_synch.o machdep.o ram.o kern_fork.o \ rk.o ra.o rx.o si.o subr_rmap.o sys_inode.o sys_kern.o \ tm.o tty.o tty_conf.o tty_subr.o tty_tb.o ufs_alloc.o \ ufs_bio.o ufs_fio.o ufs_inode.o ufs_namei.o \ vm_sched.o vm_text.o xp.o quota_subr.o OV2= kern_acct.o kern_exec.o kern_exit.o kern_resource.o kern_subr.o \ ufs_dsort.o Then exit the editor and type "make". And voila - no error and doing "size unix" yields: text data bss dec hex 57280 7778 41206 106264 19f18 total text: 119424 overlays: 8192,8064,7680,7616,8000,7872,7680,7040 Perfect! *NEVER* simply delete files from the Makefile! If you did not select a device in the config file - the .o is 0 bytes in size. If for example you do not have an RK05 configured do a "size rk.o" and you will see that it is "0 0 0". The .o is only 16 bytes long. That is why you didn't notice any difference when moving/deleting files - they didn't have anything in them. "size" is your friend when adjusting overlays - trust him. NOTE: There are some .o files which *must not* be moved out of the base segment. These are identified as such in the Makefile. NOTE: You can not have any gaps in the overlays. This means that there can not be a 0 length (empty) overlay between two populated overlays. The last overlay used may be empty. IF all the overlays are full - then add OV7, OV8, OV9, etc lines (up to OV15) as needed and put .o files in them. The Makefile will use the new OV lines automatically. I hope this makes things a little bit clearer for anyone building a 2.11BSD kernel. Good Luck! Steven Schultz sms at wlv.iipo.gtegsc.com From wkt at dolphin.cs.adfa.oz.au Sat Dec 2 15:41:04 1995 From: wkt at dolphin.cs.adfa.oz.au (Warren Toomey) Date: Sat, 2 Dec 1995 16:41:04 +1100 (EST) Subject: Compiling 2.11 - also 2.9BSD Message-ID: <9512020541.AA15007@dolphin> In atricle by Steven M. Schultz: > Kernels are a special case of overlaid program (user mode programs > may be overlaid too but have less restrictive size rules). The > BASE segment (non-overlaid portion) may be up to 56kb (57344) bytes > in size. Each of the 15 (maximum) overlays (OV1 thru OV15) may be > up to 8kb (8192) bytes. Firstly, thanks to Steven for a great email. Yes, add it to the docs NOW before you forget! Secondly, most of what Steven said also applies to 2.9BSD, because it also uses overlays. However, v6 and v7 do not use overlays, so you can't use these techniques with them. Ciao, Warren From sms at wlv.iipo.gtegsc.com Sat Dec 2 16:03:57 1995 From: sms at wlv.iipo.gtegsc.com (Steven M. Schultz) Date: Fri, 1 Dec 1995 22:03:57 -0800 Subject: Compiling 2.11 - also 2.9BSD Message-ID: <199512020603.WAA18663@wlv.iipo.gtegsc.com> Hello - > From: wkt at dolphin.cs.adfa.oz.au (Warren Toomey) > > In article by Steven M. Schultz: > > Kernels are a special case of overlaid program (user mode programs > > may be overlaid too but have less restrictive size rules). The > > BASE segment (non-overlaid portion) may be up to 56kb (57344) bytes > > in size. Each of the 15 (maximum) overlays (OV1 thru OV15) may be > > Firstly, thanks to Steven for a great email. Yes, add it to the docs NOW > before you forget! Secondly, most of what Steven said also applies to > 2.9BSD, because it also uses overlays. However, v6 and v7 do not use You're quite welcome. I should have had another sentence in the paragraph above: the kernel overlays must be between 48kb and 56kb. 56 is the max, but the kernel also has a minimum BASE size of 48kb (but this is all too easy to achieve ;-)). Steven Schultz sms at wlv.iipo.gtegsc.com From sms at wlv.iipo.gtegsc.com Mon Dec 4 05:30:55 1995 From: sms at wlv.iipo.gtegsc.com (Steven M. Schultz) Date: Sun, 3 Dec 1995 11:30:55 -0800 Subject: Followup to compiling BSD2.11 w/Deqna Message-ID: <199512031930.LAA07500@wlv.iipo.gtegsc.com> Hi Robin - > From: Robin Birch > > Hi Steve, > The most recent version (Rev 280) will build GENERIC fine but previous ones > didn't. The makefile required tweaking. Maybe all he needs is the last few > patches. That is most likely what happened - I'd made some changes to the kernel just before creating the Rev 277 images (which is what was entered into Warren's archive) and didn't double check that the GENERIC kernel would build correctly. I don't believe I've mentioned it on this mailing list yet but the complete collection of 2.11BSD patches/updates are available via anonymous FTP to the host FTP.IIPO.GTEGSC.COM in the directory /pub/2.11BSD. There have been 4 updates released recently: 278 thru 281. Cheers. Steven From robin at falstaf.demon.co.uk Sun Dec 3 23:36:18 1995 From: robin at falstaf.demon.co.uk (Robin Birch) Date: Sun, 3 Dec 1995 13:36:18 GMT Subject: Followup to compiling BSD2.11 w/Deqna Message-ID: <199512031336.NAA00267@falstaf.demon.co.uk> Hi Steve, The most recent version (Rev 280) will build the GENERIC fine but previous ones didn't. The makefile required tweaking. Maybe all he needs is the last few patches. Cheers Robin From robin at falstaf.demon.co.uk Sun Dec 3 23:34:28 1995 From: robin at falstaf.demon.co.uk (Robin Birch) Date: Sun, 3 Dec 1995 13:34:28 GMT Subject: Compiling BSD2.11 w/DEQNA support Message-ID: <199512031334.NAA00261@falstaf.demon.co.uk> Hi, Well I havn't tried your mix but a DEQNA fits ok. What you need to do is do a size on the unix file that has been generated and workout which overlays are blowing the loader. If you add the size of the base code and any overlay together they can't be more than 64k. Then just move things between overlays and base until they work. You don't have to delete the modules that you don't want, they don't add anything. Good luck, it can be tricky but it does work after you have pushed a few modules around. Robin From sysyphus at crl.com Mon Dec 4 10:28:57 1995 From: sysyphus at crl.com (Danny R. Brown) Date: Sun, 3 Dec 1995 16:28:57 -0800 (PST) Subject: Building 2.11BSD...Huzzah! Message-ID: 1. That little doc you sent out, Steven, made my day. 2. I got your note on the updates. Thanks again. 3. BSD2.11 is now running fine with a modified kernel. At this point it is my pleasure to give you this Bug Report (or, what do I do now?) a: The Netnix burps at link time. It says: ............. long list of modules...uipc_ustteq.o d.netnix.o Undefined: _arpresolve _arpwhohas _arpinput It continues to build, but does issue a stop 1 (ignored) message. At boot time netnix generates a bad magick number and fails to load. I made the minimum number of modifications to the SYSYTEM file to install the net. Questions: Where do I look for the abovementioned symbols? Do I have to run Netnix to go multi-user? Unrelated questions: Will a DZV-11 (four line mux) work in place of DZ-11? In my experience the Unibus and Q-Buss versions of this board are 100% software compatible, but I'm failing to get a second terminal going... Now, the Real Doozie... I have, to date, been unable to make any of the Games work. The message is always " not found". I tried worm, backgammon, wump, fortune, others from the games directory. Binary dumps show what looks like valid data in these files. Spooky, huh? The Saga Continues... ************************************************************************* * A Personal Message from * BASILISK * * Danny R. Brown * "Try our other fine flavors!" * * ( sysyphus at crl.com ) * (404) 392-1691 * * Pager:(404)397-0516 * LYNC host mode * ************************************************************************* From sysyphus at crl.com Mon Dec 4 12:04:49 1995 From: sysyphus at crl.com (Danny R. Brown) Date: Sun, 3 Dec 1995 18:04:49 -0800 (PST) Subject: Building BSD2.11 Huzzah! #2 Message-ID: Greetings! In my earlier I asked a question about DZ vs. DZV11 support. I am glad to note that the distributed Kermit works quite happily on /dev/tty0, the first line on the DZV-11. I still can't log on to that line, but the night is young. Cheers, D.Brown ************************************************************************* * A Personal Message from * BASILISK * * Danny R. Brown * "Try our other fine flavors!" * * ( sysyphus at crl.com ) * (404) 392-1691 * * Pager:(404)397-0516 * LYNC host mode * ************************************************************************* From sms at wlv.iipo.gtegsc.com Mon Dec 4 16:06:03 1995 From: sms at wlv.iipo.gtegsc.com (Steven M. Schultz) Date: Sun, 3 Dec 1995 22:06:03 -0800 Subject: Building BSD2.11 Huzzah! #2 Message-ID: <199512040606.WAA10558@wlv.iipo.gtegsc.com> Greetings - > From: "Danny R. Brown" > In my earlier I asked a question about DZ vs. DZV11 support. I am > glad to note that the distributed Kermit works quite happily on > /dev/tty0, the first line on the DZV-11. > I still can't log on to that line, but the night is young. You have to enable a getty on the port before you can log in on it. Edit /etc/ttys, adding if needed a tty00 line. There are numerous examples in the file - it should be pretty easy to figure out what to add or change. Then you need to tell 'init' about the change by doing a "kill -HUP 1". NOTE: ports are NOT bidirectional - if you're going to enable logins on a line you won't be able to kermit _out_. And vice versa, if you're going to kermit out you'll need to disable logins on that line. Yes it'd be nice to have bidirectional ports - but someone keeps stealing my copious supply of free time ;-) Steven From sms at wlv.iipo.gtegsc.com Mon Dec 4 16:01:18 1995 From: sms at wlv.iipo.gtegsc.com (Steven M. Schultz) Date: Sun, 3 Dec 1995 22:01:18 -0800 Subject: Building 2.11BSD...Huzzah! Message-ID: <199512040601.WAA10542@wlv.iipo.gtegsc.com> Hi - > From: "Danny R. Brown" > > 1. That little doc you sent out, Steven, made my day. > 2. I got your note on the updates. Thanks again. You're welcome. > a: The Netnix burps at link time. It says: > ............. long list of modules...uipc_ustteq.o d.netnix.o > Undefined: > _arpresolve > _arpwhohas > _arpinput I wager you forgot to select the 'NETHER' option in your kernel config file. Setting NETHER to 1 brings in the ARP modules. > It continues to build, but does issue a stop 1 (ignored) message. Hmmm, - the 'netbind' process gives an error about undefined symbols. It sounds like that was ignored. That's the signal not to run the kernel. > At boot time netnix generates a bad magick number and fails to > load. I made the minimum number of modifications to the SYSYTEM That's because the netnix image was not successfully loaded - the linker left the header set to something other than a valid a.out header. > Questions: Where do I look for the abovementioned symbols? > Do I have to run Netnix to go multi-user? In your kernel config file make sure that 'NETHER' is set to 1. You could go multi user but you'd likely see a number of errors as programs try to use sockets to communicate. Best to have a valid kernel+netnix image set before going multiuser. > Unrelated questions: Will a DZV-11 (four line mux) work in place > of DZ-11? In my experience the Unibus and Q-Buss versions of this It should. Just don't try to use ports 4,5,6, or 7 that a DZ-11\ would have. > I have, to date, been unable to make any of the Games work. The message > is always " not found". I tried worm, backgammon, wump, fortune, sigh. Did you put /usr/games into your search path? The games are not in /usr/bin or /usr/ucb with the system programs. Try putting /usr/games in your PATH (or simply typing /usr/games/robots). Good Luck. Steven From rjm at swift.eng.ox.ac.uk Tue Dec 5 20:12:17 1995 From: rjm at swift.eng.ox.ac.uk (Bob Manners) Date: Tue, 5 Dec 1995 10:12:17 +0000 (GMT) Subject: Still trying v6 build for multiple DL11s ... Message-ID: OK, I'm still attempting kernel builds of v6 to support my 2nd DL11-W. Thanks to everyone who's given me advice so far -- sadly it doesn't work yet ... I have two DL11-Ws, one as the console (CSR=0177560, VEC=0060), one as the first local interface (CSR=0176500, VEC=0300). Under RT11, I'm able to use both interfaces without trouble (using CONSOL.MAC to switch from one to the other, since I haven't SYSGENed for multi-terminal support). Thus I know the hardware works and is correctly configured. According to the docs in /usr/docs/start, all I need do to get support for the second DL11-W is edit /usr/sys/dmt/kl.c to increase NKL11 from 1 to 2. (As far as the KL/DL driver is concerned the only difference between the two types of interface is the base addresses, and it happens to be configured so that the first KL11 other than the console will have a CSR of 0176500, so I choose that one.) I can then rebuild everything and run /usr/sys/conf/mkconf. At the mkconf prompt I enter "rk", and "1kl", as stated in the docs. /usr/sys/conf/c.c and /usr/sys/conf/l.s are built. Inspection of l.s suggests that the correct interrupt vector of 300 is used ... Inspection of c.c implies that the KL11 character devices will all have major device number 0. Looking at kl.c, it seems that: c 0 0 Console 177560 c 0 1 1st KL11 176500 c 0 2 2nd KL11 176510 ... c 0 3 1st DL11 175610 c 0 4 2nd DL11 etc. 175620 I then finish building the kernel and boot from it --- no errors. Creating the character devices as shown, I get: echo fred >/dev/tty0 (the console) works fine echo fred >/dev/tty1 (1st DL11) gives ... /dev/tty1: cannot create So I'm back to square one. As a test I set NKL11 and NDL11 to 4 and ran mkconf with rk and 8kl. Still doesn't work. What am I doing wrong? I'm out of ideas ... Another interesting thing caught my eye as I was looking at the docs. Apparently, the system should print out memory size as it boots. Looking at /usr/sys/ken/main.c, I can see a whole bunch of "printf"s which print out a copyright message and memory details. Nothing is actually displayed on the console during boot! _main is called from m40.s, and printf is a function defined within the kernel code itself (of course ;) Any ideas? Cheers, Bob. -- ---------------------------------------------------------------------------- Robert Manners Osney Laboratory rjm at swift.eng.ox.ac.uk Dept of Engineering Science University of Oxford 01865 288762 Try: http://swift.eng.ox.ac.uk Linux - the only choice "There's more to life than books you know, but not much more" ---------------------------------------------------------------------------- From rjm at swift.eng.ox.ac.uk Tue Dec 5 20:56:06 1995 From: rjm at swift.eng.ox.ac.uk (Bob Manners) Date: Tue, 5 Dec 1995 10:56:06 +0000 (GMT) Subject: v6 kernel stuff again ... Message-ID: I've found out the reason for the non-printing printf's. The code in prf.c only actually outputs to the console if the contents of the switch register are non-zero... the code in question is the function putchar() in /usr/sys/ken/prf.c Still can't get the second DL11 going though ;) -- ---------------------------------------------------------------------------- Robert Manners Osney Laboratory rjm at swift.eng.ox.ac.uk Dept of Engineering Science University of Oxford 01865 288762 Try: http://swift.eng.ox.ac.uk Linux - the only choice "There's more to life than books you know, but not much more" ---------------------------------------------------------------------------- From rjm at swift.eng.ox.ac.uk Wed Dec 6 22:01:19 1995 From: rjm at swift.eng.ox.ac.uk (Bob Manners) Date: Wed, 6 Dec 1995 12:01:19 +0000 (GMT) Subject: v6 with two DL11s now works ... silly me! Message-ID: I've recently been deluging the list with problems and obseervations concerning the v6 kernel. Most recently, I discussed the putchar() routine in /usr/sys/ken/prf.c, which prints messages only if the front panel switches are set appropriately. I modified that routine by commenting out an if, so the messages would always be sent to the console regardless. Having edited prf.c and rebuilt the kernel, I was suprised to find no change in the behavior on bootup. Comparing the 'new' and 'old' kernels (with cmp) showed them to be the same. The problem then is that the kernel was not being rebuilt correctly. Accordingly I removed all .o files, and the files /usr/sys/lib1 and /usr/sys/lib2. I rebuilt again. The lib1 and lib2 files do not build directly from the /usr/sys/run script, but rather use "ar r" to replace the files in the libraries with the newly-built object files. Thus I had to manually build the libraries. NOTE: it is important to get the object files into the library in the correct order -- I simply copied the order as for the distributed files... I remember using tsort and lorder for Minix to determine library component ordering, but I forget how that works ;) Having rebuilt everything, not only did the messages print, but also the second KL11 magically worked. Thus what I had been doing all along was OK, but the kernel was not being properly built using all the new object files. Summary - to set up a second DL11 (configured as the first "local" interface): 1) ed /usr/sys/dmr/kl.c changing NKL11 to 2 2) modify /usr/sys/run to call mkconf with the additional parameter: 1kl 3) Bob, so to speak, is your uncle. Be sure everyhing is rebuilt. I wonder if there is a bug in "ar r", whereby certain files fail to be inserted into the library, so that old versions persist. Using the "ar rv" verbose option may be wise ... Hope this info is useful to those mad enough to want to use v6 ;) Thanks for all your help. Next project --- port the v7 shell to v6. Hmmmmmmmmm. Bob -- ---------------------------------------------------------------------------- Robert Manners Osney Laboratory rjm at swift.eng.ox.ac.uk Dept of Engineering Science University of Oxford 01865 288762 Try: http://swift.eng.ox.ac.uk Linux - the only choice "I'd rather stay a child and keep my self respect, if being an adult means being like you" Jello Biafra ---------------------------------------------------------------------------- From sysyphus at crl.com Thu Dec 7 11:31:36 1995 From: sysyphus at crl.com (Danny R. Brown) Date: Wed, 6 Dec 1995 17:31:36 -0800 (PST) Subject: Undefined Inconsistency Message-ID: Greetings: When I do a "reboot" the system declares that /dev/ra0f has an undefined inconsistency (during fsck). It tells me to run fsck manually, then aborts before starting the daemons. I have dchecked, ichecked and fscked /dev/ra0f, and it seems to be a happy partition. ra0f starts on an even cylinder boundary. It has one file which occupies some 54% of the space on it. reboot -f brings everything up normally. reboot worked at least twice without finding any faults prior to this boo-boo. Looking through the man pages did not point me in any yet untried direction. I did encounter a 'bad block' on /dev/ra0d, the /usr partition, while doing a make clean in usr/src/sys, but this turned out to be bogus, and did not involve ra0f. Coincidence or ? All hints appreciated... ************************************************************************* * A Personal Message from * BASILISK * * Danny R. Brown * "Try our other fine flavors!" * * ( sysyphus at crl.com ) * (404) 392-1691 * * Pager:(404)397-0516 * LYNC host mode * ************************************************************************* From sms at wlv.iipo.gtegsc.com Thu Dec 7 13:47:48 1995 From: sms at wlv.iipo.gtegsc.com (Steven M. Schultz) Date: Wed, 6 Dec 1995 19:47:48 -0800 Subject: Undefined Inconsistency Message-ID: <199512070347.TAA02505@wlv.iipo.gtegsc.com> Howdy - > From: "Danny R. Brown" > > When I do a "reboot" the system declares that /dev/ra0f has an > undefined inconsistency (during fsck). It tells me to run fsck > manually, then aborts before starting the daemons. What aborts? If by 'abort' you mean that the process of the system coming up ceases and you get dropped into a single user shell then that's exactly what should happen. > I have dchecked, ichecked and fscked /dev/ra0f, and it seems to > be a happy partition. Ok - at that point if a manual "fsck /dev/rra0f" (and you should be using the raw (rra) form of the device) works, then all you need to do is hit a ^D and the system will finish coming up to a multi user state. Hmmm - I think we'll need some more information before hazarding a guess as to what's not working right. The contents of /etc/fstab and the current disklabel would be good starting points. > ra0f starts on an even cylinder boundary. It has one file which > occupies some 54% of the space on it. > reboot -f brings everything up normally. Well, yes, it will - by bypassing all filesystem checks. Usually that'll work ok - but it's not something to do after a crash or a power failure. > this boo-boo. Looking through the man pages did not point me in > any yet untried direction. I did encounter a 'bad block' on /dev/ra0d, Hmmm - a bad block? Shouldn't be related to anything in ra0f unless you've accidentally created overlapping partitions. If that were the case though I'd expect massive and widespread corruption. What was the error when the bad block was encountered? If this is an MSCP disk you'll need to find the MicroPDP-11 Formatter and see if it will revector the bad sector for you (BSD MSCP drivers can not do this - probably just as well because I've heard it's fiendishly difficult and if you get it wrong you've hosed your drive). Steven Schultz sms at wlv.iipo.gtegsc.com From wkt at dolphin.cs.adfa.oz.au Thu Dec 7 14:07:59 1995 From: wkt at dolphin.cs.adfa.oz.au (Warren Toomey) Date: Thu, 7 Dec 1995 15:07:59 +1100 (EST) Subject: Fsck tips In-Reply-To: <199512070347.TAA02505@wlv.iipo.gtegsc.com> from "Steven M. Schultz" at Dec 6, 95 07:47:48 pm Message-ID: <9512070407.AA12021@dolphin> In atricle by Steven M. Schultz: > > I have dchecked, ichecked and fscked /dev/ra0f, and it seems to > > be a happy partition. > > Ok - at that point if a manual "fsck /dev/rra0f" (and you should be > using the raw (rra) form of the device) works, then all you need to > do is hit a ^D and the system will finish coming up to a multi user > state. Apropos fsck'ing, always work on a raw device. Only fsck on an unmounted partition, or a quiescent one (no disk activity, this means single-user mode and sync BEFORE doing the fsck). If fsck finds an error, DONT sync the system before shutting down; sync will flush out anything still in the cache, possibly overwriting the changes fsck made to the disk. Someone had to point this out to me a few years ago, I kept doing sync sync sync reboot after fsck reported errors. Deary me! Cheers all, Warren From wkt at dolphin.cs.adfa.oz.au Thu Dec 7 15:00:43 1995 From: wkt at dolphin.cs.adfa.oz.au (Warren Toomey) Date: Thu, 7 Dec 1995 16:00:43 +1100 (EST) Subject: Fsck for v7 Message-ID: <9512070500.AA12847@dolphin> Hmm, while we're on the topic of fsck, the RL02 image of 7th Edition that was given to me by Torsten Hippe had an fsck for v7 filesystems, but no source code. Torsten did say that Johnny Billquist had the original tape, but Johnny says he's not in a position to read the tape. Anyway, does anybody have the source code to this or another v7 fsck? Any clues as to who wrote it etc.? Thanks, Warren From rjm at swift.eng.ox.ac.uk Thu Dec 7 20:40:17 1995 From: rjm at swift.eng.ox.ac.uk (Bob Manners) Date: Thu, 7 Dec 1995 10:40:17 +0000 (GMT) Subject: fsck tips Message-ID: As Warren says, you don't want to sync after an fsck run has made changes to the disk. Simply turn off and reboot. One gotcha Warren omitted was the process /etc/update, which is usually started at boot-time from /etc/rc. This process does a sync every 30 secs automatically. Before fscking a live filesystem, kill update first! If fsck finds anything wrong, shutdown immediately without a sync. Of course, fscking unmounted filesystems is far safer, but not always possible for the root partition ... Cheers, Bob. -- ---------------------------------------------------------------------------- Robert Manners Osney Laboratory rjm at swift.eng.ox.ac.uk Dept of Engineering Science University of Oxford 01865 288762 Try: http://swift.eng.ox.ac.uk Linux - the only choice This message brought to you from an entirely Microsoft free system. ---------------------------------------------------------------------------- From rjm at swift.eng.ox.ac.uk Tue Dec 12 21:26:10 1995 From: rjm at swift.eng.ox.ac.uk (Bob Manners) Date: Tue, 12 Dec 1995 11:26:10 +0000 (GMT) Subject: version 7 Message-ID: I just thought I'd share a few more of my experiences with you in the hope that they may help someone out.... Over the weekend, I finally succeeded in ftping Tapes/Torsten/v7.gz - version 7 as an RL02 image. (International ftp to the UK is terrible at present!). I have no RL02, so I booted the image on Bob Supnic's pdp11 emulator, built a kernel to support both RL and RK05 drives and set about transferring the vital parts of the system to an RK05 image, with the kernel source, games and other non-essentials going to a second image. The two RK05 images are pretty full! I built kernels for the 11/40 (m40.o) and 11/34 (smch.o), to support just the RK05, and added a second DL-11 as previously discussed on this list. Kermiting the root image to an RK05 on my 11/34 was no trouble. My 11/34 will booth the m40.o image just fine, but the smch.o image caused much disk activity, but no console output. Version 7 thus can be persuaded to work on an 11/34a, with a single RK05. The second DL11 is recognised and works as expected. Version 7 seems significantly slower than version 6, when multi-user mode is entered. Thus, I think I'd recommend version 6 for a small system ... Cheers, Bob. -- ---------------------------------------------------------------------------- Robert Manners Osney Laboratory rjm at swift.eng.ox.ac.uk Dept of Engineering Science University of Oxford 01865 288762 Try: http://swift.eng.ox.ac.uk Linux - the only choice This message brought to you from an entirely Microsoft free system. ---------------------------------------------------------------------------- From sysyphus at crl.com Tue Dec 19 11:24:12 1995 From: sysyphus at crl.com (Danny R. Brown) Date: Mon, 18 Dec 1995 17:24:12 -0800 (PST) Subject: What is lonex? Message-ID: Greetings: I've been playing with the mail system. Mailing to root brings up can't find usr/lonex/xmail This in itself is not a problem, as I only tried this to see what would happen. However, I am curious as to what the lonex directory is (was). It does not appear in my listing of the contents of tape 2. Cheers! ************************************************************************* * A Personal Message from * BASILISK * * Danny R. Brown * "Try our other fine flavors!" * * ( sysyphus at crl.com ) * (404) 392-1691 * * Pager:(404)397-0516 * LYNC host mode * ************************************************************************* From sms at wlv.iipo.gtegsc.com Tue Dec 19 13:59:39 1995 From: sms at wlv.iipo.gtegsc.com (Steven M. Schultz) Date: Mon, 18 Dec 1995 19:59:39 -0800 Subject: What is lonex? Message-ID: <199512190359.TAA04159@wlv.iipo.gtegsc.com> Hi - > From: "Danny R. Brown" > Subject: What is lonex? LONEX _was_ "Laboratory Office Network EXperiment" - a project I worked on for many years (we started with V7) and which just ended a couple or three years ago. We used 11/44s and 70s right up till the end - by which point they were all running 2.11BSD. It was a really neat system - had a common user namespace (YP before there was YP;-)) amoungst all systems, a (for the time) spiffy text-mode menuing interface to shield users from the fact it was Unix and so on. > I've been playing with the mail system. Mailing to root brings up > can't find usr/lonex/xmail The sendmail.cf as distributed in the 'GENERIC' system kit wasn't cleaned up enough. That reference to a local mailer that I use should have been removed. Several things to note: 1) the sendmail.fc file does not exist - on purpose. You'll need to perform step 2 and then do a "/usr/lib/sendmail -bz" to freeze (pre-process for faster loading) the config file. 2) the sendmail.cf file is not suitable for use without customizing (filling in the domain name, relay system, etc). 3) The aliases database (/usr/lib/aliases.{dir,pag}) are not present, on purpose. You'll want to edit /usr/lib/aliases to suit local tastes and then do "/usr/lib/sendmail -bi" to create the dbm aliases database. > This in itself is not a problem, as I only tried this to see what would > happen. However, I am curious as to what the lonex directory is (was). It's a directory I keep local works of art such as the local mailer 'xmail' which knew the details about routing mail within the "Office Network" we ran. > It does not appear in my listing of the contents of tape 2. It shouldn't have been there at all. You should have something like: # Mlocal, P=/bin/mail, F=rlsDFMmn, S=10, R=20, A=mail -d $u Mlocal, P=/usr/lonex/bin/xmail, F=lsSDFMmn, S=10, R=20, A=xmail -f $g $u in sendmail.cf. Simply reverse the commented status of the two lines to be: Mlocal, P=/bin/mail, F=rlsDFMmn, S=10, R=20, A=mail -d $u # Mlocal, P=/usr/lonex/bin/xmail, F=lsSDFMmn, S=10, R=20, A=xmail -f $g $u And you'll be all set. Steven Schultz sms at wlv.iipo.gtegsc.com From wkt at csadfa.cs.adfa.oz.au Fri Dec 1 08:54:53 1995 From: wkt at csadfa.cs.adfa.oz.au (Warren Toomey) Date: Fri, 1 Dec 1995 09:54:53 +1100 (EST) Subject: v5, v6 on /34 In-Reply-To: from "Bob Manners" at Nov 29, 95 10:55:58 am Message-ID: <9511302254.AA08974@dolphin> In atricle by Bob Manners: > > > Having got past the emulator stage now (and having had my RK05 fitted > with new heads after a _spectacular_ crash), I've been setting to the > task of resurecting UNIX on the system. > > Thanks to John Wilson's excellent KSERVE Kermit server for RT11 I've > been able to transfer v5 and v6 disk images to RK05. > > v6 boots just fine, and runs without any real drama. v5, much to my > suprise, does not ... Bob, I got the v5 image from the PUPS archive to run under Bob Supnik's emulator by using the bootblock from the v6 image: /usr/local/src/Megan: ./pdp11 PDP-11 simulator V1.0 Unknown command Unknown command Unknown command Unknown command @unix login: root # ls -l total 60 drwxr-xr-x 2 bin 944 Nov 26 18:13 bin drwxr-xr-x 2 bin 96 Mar 21 12:07 dev drwxr-xr-x 2 bin 240 Mar 21 12:07 etc drwxr-xr-x 2 bin 224 Nov 26 18:13 lib drwxr-xr-x 2 bin 32 Nov 26 18:13 mnt drwxrwxrwx 2 bin 144 Mar 21 12:08 tmp -rwxrwxrwx 1 bin 25802 Mar 21 12:07 unix Amazing size, huh?! drwxr-xr-x 14 bin 224 Nov 26 18:13 usr # The bootblock is uuencoded below. I've modified the simulator to have a .pdp11rc so I don't have to type in the boot commands. I should put the diffs somewhere. Warren begin 600 bootblk M!P&^`0`````````````!`,85`+Z!$0`*P2$*AA Greetings: All I did was add 1 DEQNA, 3 DLV's (total 4), 1 DLV. Has anyone tried this? The Makefile proceeds without errors until the final (massive) link run. Then it says too big for type 431 and exits code 2. I tried playing with Makefile, deleted some modules, like the rk, which I do not have, and moved a couple around. Same result. Obviously I'm new at this. Any assistance appreciated. ************************************************************************* * A Personal Message from * BASILISK * * Danny R. Brown * "Try our other fine flavors!" * * ( sysyphus at crl.com ) * (404) 392-1691 * * Pager:(404)397-0516 * LYNC host mode * ************************************************************************* From rjm at swift.eng.ox.ac.uk Sat Dec 2 04:39:49 1995 From: rjm at swift.eng.ox.ac.uk (Bob Manners) Date: Fri, 1 Dec 1995 18:39:49 +0000 (GMT) Subject: Serial lines and v6 ... Message-ID: Having given up trying to work out why v6 runs on my /34a, and v5 doesn't, I've turned my mind to the problem of trying to get a second DL11 up and running so I can use a terminal as well as my trusty teletype. I've set up a second DL11 on CSR address 176500, vector 300. This device is set for 96008N1, for what it's worth, and works just fine under RT11. I rebuilt the v6 kernel to enable a second DL11 interface. I have no guide to the source, so all this is based on my guesswork. Needless to say, it doesn't work, and I'm now out of ideas: Modified /usr/sys/dmr/kl.c, the KL/DL-11 driver source. I'm assured that the KL11 is an ancient serial interface ... Extract from said file ... /* base address */ #define KLADDR 0177560 /* console */ #define KLBASE 0176500 /* kl and dl11-a */ #define DLBASE 0175610 /* dl-e */ #define NKL11 1 #define NDL11 0 #define DSRDY 02 #define RDRENB 01 I simply changed the number of KL11's from one to two: #define NKL11 2 A further comment in the code says: * set up minor 0 to address KLADDR * set up minor 1 thru NKL11-1 to address from KLBASE * set up minor NKL11 on to addresss from DLBASE What this is saying is that minor 0 will be 0177560 (my console, which works fine), minor 1 will be 0176500 (which should be my second DL11). The code even does what the comment says ... ;) So I rebuild the kernel, reboot. Now, /etc/mknod /dev/tty1 c 0 1 makes the device, and echo Hi >/dev/tty1 gives: /dev/tty1: cannot create What is up? Naturally if I set up a login for that terminal by editing /etc/ttys, the process loops and causes a great deal of disk thrashing. Something is clearly up with the configuration of the device drivers here ... Does anyone know how I'm supposed to do this properly? Advice and guidance would be much appreciated ... ********************************************************************* On a completely different note, would someone be so kind as to give me the source for a very small Bourne shell and accompanying utilities (/bin/test etc...) that I could port to v6 without too much difficulty? ********************************************************************* Thanks, Bob. -- ---------------------------------------------------------------------------- Robert Manners Osney Laboratory rjm at swift.eng.ox.ac.uk Dept of Engineering Science University of Oxford 01865 288762 Try: http://swift.eng.ox.ac.uk Linux - the only choice "Wall Street or Crack Dealer Avenue, the last routes left to the American Dream" - Jello Biafra ---------------------------------------------------------------------------- From sysyphus at crl.com Sat Dec 2 00:03:50 1995 From: sysyphus at crl.com (Danny R. Brown) Date: Fri, 1 Dec 1995 06:03:50 -0800 (PST) Subject: Followup to compiling BSD2.11 w/Deqna Message-ID: Uh, sorry... I rebuilt the unmodified GENERIC kernal. It also terminates abnormally, same point, same message. I'm going to sleep for a while and then go out and buy another Unix book. ************************************************************************* * A Personal Message from * BASILISK * * Danny R. Brown * "Try our other fine flavors!" * * ( sysyphus at crl.com ) * (404) 392-1691 * * Pager:(404)397-0516 * LYNC host mode * ************************************************************************* From sms at wlv.iipo.gtegsc.com Sat Dec 2 14:05:36 1995 From: sms at wlv.iipo.gtegsc.com (Steven M. Schultz) Date: Fri, 1 Dec 1995 20:05:36 -0800 Subject: Followup to compiling BSD2.11 w/Deqna Message-ID: <199512020405.UAA17751@wlv.iipo.gtegsc.com> Hello - > From: "Danny R. Brown" > Subject: Followup to compiling BSD2.11 w/Deqna > > > Uh, sorry... I rebuilt the unmodified GENERIC kernal. It also terminates > abnormally, same point, same message. I'm going to sleep for a while > and then go out and buy another Unix book. That is strange. The GENERIC kernel should build with no problems - efforts were made to keep the Make.* files in /sys/conf in sync with the GENERIC system. Alas, it sounds like I didn't keep the template Makefiles current enough ;-( I doubt there are any books out there that know anything about overlays - it's a a lost art from what I've seen. I'll follow up with a mini tutorial on how to build a kernel. One note for now: it is 99.999% certain that after configuring a non-GENERIC kernel you will get a size error from the linker and you will have to adjust the overlay layout in your kernel build directory. Steven Schultz sms at wlv.iipo.gtegsc.com From wkt at csadfa.cs.adfa.oz.au Sat Dec 2 15:15:38 1995 From: wkt at csadfa.cs.adfa.oz.au (Warren Toomey) Date: Sat, 2 Dec 1995 16:15:38 +1100 (EST) Subject: Serial lines and v6 ... In-Reply-To: from "Bob Manners" at Dec 1, 95 06:39:49 pm Message-ID: <9512020515.AA14858@dolphin> In atricle by Bob Manners: > I rebuilt the v6 kernel to enable a second DL11 interface. I have no > guide to the source, so all this is based on my guesswork. Needless to > say, it doesn't work, and I'm now out of ideas: Bob, check out the manual for mkconf(1), and also the documentation about rebuilding the Unix kernel in /usr/doc/setup??. I'm sure it mentions the DL code, so that might get you going. I'm at home & don't have my paper copies at hand. But looking at the v7 docs, maybe you need to put a line like 1 kl in your config file. Don't put 2 kl, the software automatically counts the console. > On a completely different note, would someone be so kind as to give me > the source for a very small Bourne shell and accompanying utilities > (/bin/test etc...) that I could port to v6 without too much difficulty? Yeah, v6 comes with all of these in /usr/src/cmd :-) Maybe you meant something else? Warren From sms at wlv.iipo.gtegsc.com Sat Dec 2 15:01:42 1995 From: sms at wlv.iipo.gtegsc.com (Steven M. Schultz) Date: Fri, 1 Dec 1995 21:01:42 -0800 Subject: Compiling BSD2.11 w/DEQNA support Message-ID: <199512020501.VAA18261@wlv.iipo.gtegsc.com> Greetings - > From: "Danny R. Brown" > All I did was add 1 DEQNA, 3 DLV's (total 4), 1 DLV. Has anyone tried > this? The Makefile proceeds without errors until the final (massive) > link run. Then it says > too big for type 431 > and exits code 2. > I tried playing with Makefile, deleted some modules, like the rk, which > I do not have, and moved a couple around. Same result. > Obviously I'm new at this. Any assistance appreciated. This is not unexpected. In fact I was placing bets with myself as to when the first person would encounter the 'too big' message ;-) As distributed only the GENERIC kernel will (or should - apparently I screwed up) configure and build without errors. What to do when the linker complains about the size of a kernel is not covered in the documentation - sorry 'bout that, perhaps I'll take the mini-tutorial below and add it to the setup documentation some day. As a bit of background here is what goes on when a kernel is configured: cd /sys/conf cp GENERIC PICKLE vi PICKLE ... turn on/off desired featuers,drivers,etc ... ./config PICKLE At this point the 'config' script creates the directory /sys/PICKLE and populates it with various .h files describing what devices are present and so on. Also copied into /sys/PICKLE are the various _prototype_ Makefiles: Makefile, Make.pdp, Make.pdpuba, etc. Of these makefiles you are only concerned with "Makefile" - the others should almost _never_ be edited. cd ../PICKLE make ld: too big for type 431 First - what does that message mean? '431' is the magic number for a split I/D overlaid executable. Kernels are *always* split I/D and overlaid. The 'too big' part of the message means that the base segment and/or one of the overlays is larger than allowed. What are the limits on the sizes (I hear you ask)? Kernels are a special case of overlaid program (user mode programs may be overlaid too but have less restrictive size rules). The BASE segment (non-overlaid portion) may be up to 56kb (57344) bytes in size. Each of the 15 (maximum) overlays (OV1 thru OV15) may be up to 8kb (8192) bytes. When 'ld' gives you a "too big" message the first thing you should do is: size unix.o That will produce something similar to: text data bss dec hex 58304 7778 41206 107288 1a318 total text: 119360 overlays: 8192,6976,7680,7616,8000,7872,7680,7040 As we see the base segment is over 57344. To reduce the base we must move one of the files from the BASE group to one of the OV groups. Which one? It is not critical but a the general rule is: The smallest one which will solve the problem. It is perfectly ok to put device drivers in overlays - especially disk drivers which tend to move large chunks of data per interrupt or call. It is desireable to keep terminal drivers in the base but nothing bad will happen if you need to put one (such as dh.o) into an overlay. Next, look in the Makefile at the line starting with "BASE=" and do: a "size " command on all the files listed in the BASE section. How much do we need to reduce the base? 58304 - 57344 = 960. So, we need to find a .o (or more than one - it's the total of sizes that counts) in the BASE that is >= 960 bytes of text. In my kernel the overlay description looks like this: BASE= br.o cons.o dh.o dhu.o dhv.o dr.o dz.o hk.o ht.o init_sysent.o \ kern_clock.o kern_descrip.o kern_mman.o kern_proc.o kern_prot.o \ kern_subr.o kern_synch.o machdep.o ram.o kern_fork.o \ rk.o ra.o rx.o si.o subr_rmap.o sys_inode.o sys_kern.o \ tm.o tty.o tty_conf.o tty_subr.o tty_tb.o ufs_alloc.o \ ufs_bio.o ufs_dsort.o ufs_fio.o ufs_inode.o ufs_namei.o \ vm_sched.o vm_text.o xp.o quota_subr.o OV1= sys_generic.o ufs_syscalls.o OV2= kern_acct.o kern_exec.o kern_exit.o kern_resource.o OV3= kern_time.o sys_process.o ufs_mount.o ufs_subr.o \ uipc_syscalls.o OV4= dkbad.o kern_sig.o mem.o subr_xxx.o trap.o tty_pty.o tty_tty.o OV5= quota_kern.o quota_ufs.o quota_sys.o ufs_bmap.o \ sys_pipe.o # OV6 gets the (hopefully) never used routines OV6= clock.o dn.o init_main.o kern_pdp.o machdep2.o subr_prf.o syscalls.o \ subr_log.o toy.o vm_swap.o OV7= tmscp.o lp.o vm_swp.o rl.o mch_fpsim.o ts.o OV8= kern_sysctl.o ingreslock.o ufs_disksubr.o kern_xxx.o vm_proc.o We see that size kern_subr.o ufs_dsort.o gives text data bss 820 34 0 272 0 0 820 + 272 = 1092 58304 - 1092 = 57212 which is great! It's below 57344. So, we've found the .o files which when moved to an overlay will generate a valid kernel. Where should we put it? Well - OV2 looks a little small, is there room there? 8192-6976=1216. Yes, there is room. So, the kern_subr.o and ufs_dsort.o files are removed from the BASE section and added to OV2: BASE= br.o cons.o dh.o dhu.o dhv.o dr.o dz.o hk.o ht.o init_sysent.o \ kern_clock.o kern_descrip.o kern_mman.o kern_proc.o kern_prot.o \ kern_synch.o machdep.o ram.o kern_fork.o \ rk.o ra.o rx.o si.o subr_rmap.o sys_inode.o sys_kern.o \ tm.o tty.o tty_conf.o tty_subr.o tty_tb.o ufs_alloc.o \ ufs_bio.o ufs_fio.o ufs_inode.o ufs_namei.o \ vm_sched.o vm_text.o xp.o quota_subr.o OV2= kern_acct.o kern_exec.o kern_exit.o kern_resource.o kern_subr.o \ ufs_dsort.o Then exit the editor and type "make". And voila - no error and doing "size unix" yields: text data bss dec hex 57280 7778 41206 106264 19f18 total text: 119424 overlays: 8192,8064,7680,7616,8000,7872,7680,7040 Perfect! *NEVER* simply delete files from the Makefile! If you did not select a device in the config file - the .o is 0 bytes in size. If for example you do not have an RK05 configured do a "size rk.o" and you will see that it is "0 0 0". The .o is only 16 bytes long. That is why you didn't notice any difference when moving/deleting files - they didn't have anything in them. "size" is your friend when adjusting overlays - trust him. NOTE: There are some .o files which *must not* be moved out of the base segment. These are identified as such in the Makefile. NOTE: You can not have any gaps in the overlays. This means that there can not be a 0 length (empty) overlay between two populated overlays. The last overlay used may be empty. IF all the overlays are full - then add OV7, OV8, OV9, etc lines (up to OV15) as needed and put .o files in them. The Makefile will use the new OV lines automatically. I hope this makes things a little bit clearer for anyone building a 2.11BSD kernel. Good Luck! Steven Schultz sms at wlv.iipo.gtegsc.com From wkt at dolphin.cs.adfa.oz.au Sat Dec 2 15:41:04 1995 From: wkt at dolphin.cs.adfa.oz.au (Warren Toomey) Date: Sat, 2 Dec 1995 16:41:04 +1100 (EST) Subject: Compiling 2.11 - also 2.9BSD Message-ID: <9512020541.AA15007@dolphin> In atricle by Steven M. Schultz: > Kernels are a special case of overlaid program (user mode programs > may be overlaid too but have less restrictive size rules). The > BASE segment (non-overlaid portion) may be up to 56kb (57344) bytes > in size. Each of the 15 (maximum) overlays (OV1 thru OV15) may be > up to 8kb (8192) bytes. Firstly, thanks to Steven for a great email. Yes, add it to the docs NOW before you forget! Secondly, most of what Steven said also applies to 2.9BSD, because it also uses overlays. However, v6 and v7 do not use overlays, so you can't use these techniques with them. Ciao, Warren From sms at wlv.iipo.gtegsc.com Sat Dec 2 16:03:57 1995 From: sms at wlv.iipo.gtegsc.com (Steven M. Schultz) Date: Fri, 1 Dec 1995 22:03:57 -0800 Subject: Compiling 2.11 - also 2.9BSD Message-ID: <199512020603.WAA18663@wlv.iipo.gtegsc.com> Hello - > From: wkt at dolphin.cs.adfa.oz.au (Warren Toomey) > > In article by Steven M. Schultz: > > Kernels are a special case of overlaid program (user mode programs > > may be overlaid too but have less restrictive size rules). The > > BASE segment (non-overlaid portion) may be up to 56kb (57344) bytes > > in size. Each of the 15 (maximum) overlays (OV1 thru OV15) may be > > Firstly, thanks to Steven for a great email. Yes, add it to the docs NOW > before you forget! Secondly, most of what Steven said also applies to > 2.9BSD, because it also uses overlays. However, v6 and v7 do not use You're quite welcome. I should have had another sentence in the paragraph above: the kernel overlays must be between 48kb and 56kb. 56 is the max, but the kernel also has a minimum BASE size of 48kb (but this is all too easy to achieve ;-)). Steven Schultz sms at wlv.iipo.gtegsc.com From sms at wlv.iipo.gtegsc.com Mon Dec 4 05:30:55 1995 From: sms at wlv.iipo.gtegsc.com (Steven M. Schultz) Date: Sun, 3 Dec 1995 11:30:55 -0800 Subject: Followup to compiling BSD2.11 w/Deqna Message-ID: <199512031930.LAA07500@wlv.iipo.gtegsc.com> Hi Robin - > From: Robin Birch > > Hi Steve, > The most recent version (Rev 280) will build GENERIC fine but previous ones > didn't. The makefile required tweaking. Maybe all he needs is the last few > patches. That is most likely what happened - I'd made some changes to the kernel just before creating the Rev 277 images (which is what was entered into Warren's archive) and didn't double check that the GENERIC kernel would build correctly. I don't believe I've mentioned it on this mailing list yet but the complete collection of 2.11BSD patches/updates are available via anonymous FTP to the host FTP.IIPO.GTEGSC.COM in the directory /pub/2.11BSD. There have been 4 updates released recently: 278 thru 281. Cheers. Steven From robin at falstaf.demon.co.uk Sun Dec 3 23:36:18 1995 From: robin at falstaf.demon.co.uk (Robin Birch) Date: Sun, 3 Dec 1995 13:36:18 GMT Subject: Followup to compiling BSD2.11 w/Deqna Message-ID: <199512031336.NAA00267@falstaf.demon.co.uk> Hi Steve, The most recent version (Rev 280) will build the GENERIC fine but previous ones didn't. The makefile required tweaking. Maybe all he needs is the last few patches. Cheers Robin From robin at falstaf.demon.co.uk Sun Dec 3 23:34:28 1995 From: robin at falstaf.demon.co.uk (Robin Birch) Date: Sun, 3 Dec 1995 13:34:28 GMT Subject: Compiling BSD2.11 w/DEQNA support Message-ID: <199512031334.NAA00261@falstaf.demon.co.uk> Hi, Well I havn't tried your mix but a DEQNA fits ok. What you need to do is do a size on the unix file that has been generated and workout which overlays are blowing the loader. If you add the size of the base code and any overlay together they can't be more than 64k. Then just move things between overlays and base until they work. You don't have to delete the modules that you don't want, they don't add anything. Good luck, it can be tricky but it does work after you have pushed a few modules around. Robin From sysyphus at crl.com Mon Dec 4 10:28:57 1995 From: sysyphus at crl.com (Danny R. Brown) Date: Sun, 3 Dec 1995 16:28:57 -0800 (PST) Subject: Building 2.11BSD...Huzzah! Message-ID: 1. That little doc you sent out, Steven, made my day. 2. I got your note on the updates. Thanks again. 3. BSD2.11 is now running fine with a modified kernel. At this point it is my pleasure to give you this Bug Report (or, what do I do now?) a: The Netnix burps at link time. It says: ............. long list of modules...uipc_ustteq.o d.netnix.o Undefined: _arpresolve _arpwhohas _arpinput It continues to build, but does issue a stop 1 (ignored) message. At boot time netnix generates a bad magick number and fails to load. I made the minimum number of modifications to the SYSYTEM file to install the net. Questions: Where do I look for the abovementioned symbols? Do I have to run Netnix to go multi-user? Unrelated questions: Will a DZV-11 (four line mux) work in place of DZ-11? In my experience the Unibus and Q-Buss versions of this board are 100% software compatible, but I'm failing to get a second terminal going... Now, the Real Doozie... I have, to date, been unable to make any of the Games work. The message is always " not found". I tried worm, backgammon, wump, fortune, others from the games directory. Binary dumps show what looks like valid data in these files. Spooky, huh? The Saga Continues... ************************************************************************* * A Personal Message from * BASILISK * * Danny R. Brown * "Try our other fine flavors!" * * ( sysyphus at crl.com ) * (404) 392-1691 * * Pager:(404)397-0516 * LYNC host mode * ************************************************************************* From sysyphus at crl.com Mon Dec 4 12:04:49 1995 From: sysyphus at crl.com (Danny R. Brown) Date: Sun, 3 Dec 1995 18:04:49 -0800 (PST) Subject: Building BSD2.11 Huzzah! #2 Message-ID: Greetings! In my earlier I asked a question about DZ vs. DZV11 support. I am glad to note that the distributed Kermit works quite happily on /dev/tty0, the first line on the DZV-11. I still can't log on to that line, but the night is young. Cheers, D.Brown ************************************************************************* * A Personal Message from * BASILISK * * Danny R. Brown * "Try our other fine flavors!" * * ( sysyphus at crl.com ) * (404) 392-1691 * * Pager:(404)397-0516 * LYNC host mode * ************************************************************************* From sms at wlv.iipo.gtegsc.com Mon Dec 4 16:06:03 1995 From: sms at wlv.iipo.gtegsc.com (Steven M. Schultz) Date: Sun, 3 Dec 1995 22:06:03 -0800 Subject: Building BSD2.11 Huzzah! #2 Message-ID: <199512040606.WAA10558@wlv.iipo.gtegsc.com> Greetings - > From: "Danny R. Brown" > In my earlier I asked a question about DZ vs. DZV11 support. I am > glad to note that the distributed Kermit works quite happily on > /dev/tty0, the first line on the DZV-11. > I still can't log on to that line, but the night is young. You have to enable a getty on the port before you can log in on it. Edit /etc/ttys, adding if needed a tty00 line. There are numerous examples in the file - it should be pretty easy to figure out what to add or change. Then you need to tell 'init' about the change by doing a "kill -HUP 1". NOTE: ports are NOT bidirectional - if you're going to enable logins on a line you won't be able to kermit _out_. And vice versa, if you're going to kermit out you'll need to disable logins on that line. Yes it'd be nice to have bidirectional ports - but someone keeps stealing my copious supply of free time ;-) Steven From sms at wlv.iipo.gtegsc.com Mon Dec 4 16:01:18 1995 From: sms at wlv.iipo.gtegsc.com (Steven M. Schultz) Date: Sun, 3 Dec 1995 22:01:18 -0800 Subject: Building 2.11BSD...Huzzah! Message-ID: <199512040601.WAA10542@wlv.iipo.gtegsc.com> Hi - > From: "Danny R. Brown" > > 1. That little doc you sent out, Steven, made my day. > 2. I got your note on the updates. Thanks again. You're welcome. > a: The Netnix burps at link time. It says: > ............. long list of modules...uipc_ustteq.o d.netnix.o > Undefined: > _arpresolve > _arpwhohas > _arpinput I wager you forgot to select the 'NETHER' option in your kernel config file. Setting NETHER to 1 brings in the ARP modules. > It continues to build, but does issue a stop 1 (ignored) message. Hmmm, - the 'netbind' process gives an error about undefined symbols. It sounds like that was ignored. That's the signal not to run the kernel. > At boot time netnix generates a bad magick number and fails to > load. I made the minimum number of modifications to the SYSYTEM That's because the netnix image was not successfully loaded - the linker left the header set to something other than a valid a.out header. > Questions: Where do I look for the abovementioned symbols? > Do I have to run Netnix to go multi-user? In your kernel config file make sure that 'NETHER' is set to 1. You could go multi user but you'd likely see a number of errors as programs try to use sockets to communicate. Best to have a valid kernel+netnix image set before going multiuser. > Unrelated questions: Will a DZV-11 (four line mux) work in place > of DZ-11? In my experience the Unibus and Q-Buss versions of this It should. Just don't try to use ports 4,5,6, or 7 that a DZ-11\ would have. > I have, to date, been unable to make any of the Games work. The message > is always " not found". I tried worm, backgammon, wump, fortune, sigh. Did you put /usr/games into your search path? The games are not in /usr/bin or /usr/ucb with the system programs. Try putting /usr/games in your PATH (or simply typing /usr/games/robots). Good Luck. Steven From rjm at swift.eng.ox.ac.uk Tue Dec 5 20:12:17 1995 From: rjm at swift.eng.ox.ac.uk (Bob Manners) Date: Tue, 5 Dec 1995 10:12:17 +0000 (GMT) Subject: Still trying v6 build for multiple DL11s ... Message-ID: OK, I'm still attempting kernel builds of v6 to support my 2nd DL11-W. Thanks to everyone who's given me advice so far -- sadly it doesn't work yet ... I have two DL11-Ws, one as the console (CSR=0177560, VEC=0060), one as the first local interface (CSR=0176500, VEC=0300). Under RT11, I'm able to use both interfaces without trouble (using CONSOL.MAC to switch from one to the other, since I haven't SYSGENed for multi-terminal support). Thus I know the hardware works and is correctly configured. According to the docs in /usr/docs/start, all I need do to get support for the second DL11-W is edit /usr/sys/dmt/kl.c to increase NKL11 from 1 to 2. (As far as the KL/DL driver is concerned the only difference between the two types of interface is the base addresses, and it happens to be configured so that the first KL11 other than the console will have a CSR of 0176500, so I choose that one.) I can then rebuild everything and run /usr/sys/conf/mkconf. At the mkconf prompt I enter "rk", and "1kl", as stated in the docs. /usr/sys/conf/c.c and /usr/sys/conf/l.s are built. Inspection of l.s suggests that the correct interrupt vector of 300 is used ... Inspection of c.c implies that the KL11 character devices will all have major device number 0. Looking at kl.c, it seems that: c 0 0 Console 177560 c 0 1 1st KL11 176500 c 0 2 2nd KL11 176510 ... c 0 3 1st DL11 175610 c 0 4 2nd DL11 etc. 175620 I then finish building the kernel and boot from it --- no errors. Creating the character devices as shown, I get: echo fred >/dev/tty0 (the console) works fine echo fred >/dev/tty1 (1st DL11) gives ... /dev/tty1: cannot create So I'm back to square one. As a test I set NKL11 and NDL11 to 4 and ran mkconf with rk and 8kl. Still doesn't work. What am I doing wrong? I'm out of ideas ... Another interesting thing caught my eye as I was looking at the docs. Apparently, the system should print out memory size as it boots. Looking at /usr/sys/ken/main.c, I can see a whole bunch of "printf"s which print out a copyright message and memory details. Nothing is actually displayed on the console during boot! _main is called from m40.s, and printf is a function defined within the kernel code itself (of course ;) Any ideas? Cheers, Bob. -- ---------------------------------------------------------------------------- Robert Manners Osney Laboratory rjm at swift.eng.ox.ac.uk Dept of Engineering Science University of Oxford 01865 288762 Try: http://swift.eng.ox.ac.uk Linux - the only choice "There's more to life than books you know, but not much more" ---------------------------------------------------------------------------- From rjm at swift.eng.ox.ac.uk Tue Dec 5 20:56:06 1995 From: rjm at swift.eng.ox.ac.uk (Bob Manners) Date: Tue, 5 Dec 1995 10:56:06 +0000 (GMT) Subject: v6 kernel stuff again ... Message-ID: I've found out the reason for the non-printing printf's. The code in prf.c only actually outputs to the console if the contents of the switch register are non-zero... the code in question is the function putchar() in /usr/sys/ken/prf.c Still can't get the second DL11 going though ;) -- ---------------------------------------------------------------------------- Robert Manners Osney Laboratory rjm at swift.eng.ox.ac.uk Dept of Engineering Science University of Oxford 01865 288762 Try: http://swift.eng.ox.ac.uk Linux - the only choice "There's more to life than books you know, but not much more" ---------------------------------------------------------------------------- From rjm at swift.eng.ox.ac.uk Wed Dec 6 22:01:19 1995 From: rjm at swift.eng.ox.ac.uk (Bob Manners) Date: Wed, 6 Dec 1995 12:01:19 +0000 (GMT) Subject: v6 with two DL11s now works ... silly me! Message-ID: I've recently been deluging the list with problems and obseervations concerning the v6 kernel. Most recently, I discussed the putchar() routine in /usr/sys/ken/prf.c, which prints messages only if the front panel switches are set appropriately. I modified that routine by commenting out an if, so the messages would always be sent to the console regardless. Having edited prf.c and rebuilt the kernel, I was suprised to find no change in the behavior on bootup. Comparing the 'new' and 'old' kernels (with cmp) showed them to be the same. The problem then is that the kernel was not being rebuilt correctly. Accordingly I removed all .o files, and the files /usr/sys/lib1 and /usr/sys/lib2. I rebuilt again. The lib1 and lib2 files do not build directly from the /usr/sys/run script, but rather use "ar r" to replace the files in the libraries with the newly-built object files. Thus I had to manually build the libraries. NOTE: it is important to get the object files into the library in the correct order -- I simply copied the order as for the distributed files... I remember using tsort and lorder for Minix to determine library component ordering, but I forget how that works ;) Having rebuilt everything, not only did the messages print, but also the second KL11 magically worked. Thus what I had been doing all along was OK, but the kernel was not being properly built using all the new object files. Summary - to set up a second DL11 (configured as the first "local" interface): 1) ed /usr/sys/dmr/kl.c changing NKL11 to 2 2) modify /usr/sys/run to call mkconf with the additional parameter: 1kl 3) Bob, so to speak, is your uncle. Be sure everyhing is rebuilt. I wonder if there is a bug in "ar r", whereby certain files fail to be inserted into the library, so that old versions persist. Using the "ar rv" verbose option may be wise ... Hope this info is useful to those mad enough to want to use v6 ;) Thanks for all your help. Next project --- port the v7 shell to v6. Hmmmmmmmmm. Bob -- ---------------------------------------------------------------------------- Robert Manners Osney Laboratory rjm at swift.eng.ox.ac.uk Dept of Engineering Science University of Oxford 01865 288762 Try: http://swift.eng.ox.ac.uk Linux - the only choice "I'd rather stay a child and keep my self respect, if being an adult means being like you" Jello Biafra ---------------------------------------------------------------------------- From sysyphus at crl.com Thu Dec 7 11:31:36 1995 From: sysyphus at crl.com (Danny R. Brown) Date: Wed, 6 Dec 1995 17:31:36 -0800 (PST) Subject: Undefined Inconsistency Message-ID: Greetings: When I do a "reboot" the system declares that /dev/ra0f has an undefined inconsistency (during fsck). It tells me to run fsck manually, then aborts before starting the daemons. I have dchecked, ichecked and fscked /dev/ra0f, and it seems to be a happy partition. ra0f starts on an even cylinder boundary. It has one file which occupies some 54% of the space on it. reboot -f brings everything up normally. reboot worked at least twice without finding any faults prior to this boo-boo. Looking through the man pages did not point me in any yet untried direction. I did encounter a 'bad block' on /dev/ra0d, the /usr partition, while doing a make clean in usr/src/sys, but this turned out to be bogus, and did not involve ra0f. Coincidence or ? All hints appreciated... ************************************************************************* * A Personal Message from * BASILISK * * Danny R. Brown * "Try our other fine flavors!" * * ( sysyphus at crl.com ) * (404) 392-1691 * * Pager:(404)397-0516 * LYNC host mode * ************************************************************************* From sms at wlv.iipo.gtegsc.com Thu Dec 7 13:47:48 1995 From: sms at wlv.iipo.gtegsc.com (Steven M. Schultz) Date: Wed, 6 Dec 1995 19:47:48 -0800 Subject: Undefined Inconsistency Message-ID: <199512070347.TAA02505@wlv.iipo.gtegsc.com> Howdy - > From: "Danny R. Brown" > > When I do a "reboot" the system declares that /dev/ra0f has an > undefined inconsistency (during fsck). It tells me to run fsck > manually, then aborts before starting the daemons. What aborts? If by 'abort' you mean that the process of the system coming up ceases and you get dropped into a single user shell then that's exactly what should happen. > I have dchecked, ichecked and fscked /dev/ra0f, and it seems to > be a happy partition. Ok - at that point if a manual "fsck /dev/rra0f" (and you should be using the raw (rra) form of the device) works, then all you need to do is hit a ^D and the system will finish coming up to a multi user state. Hmmm - I think we'll need some more information before hazarding a guess as to what's not working right. The contents of /etc/fstab and the current disklabel would be good starting points. > ra0f starts on an even cylinder boundary. It has one file which > occupies some 54% of the space on it. > reboot -f brings everything up normally. Well, yes, it will - by bypassing all filesystem checks. Usually that'll work ok - but it's not something to do after a crash or a power failure. > this boo-boo. Looking through the man pages did not point me in > any yet untried direction. I did encounter a 'bad block' on /dev/ra0d, Hmmm - a bad block? Shouldn't be related to anything in ra0f unless you've accidentally created overlapping partitions. If that were the case though I'd expect massive and widespread corruption. What was the error when the bad block was encountered? If this is an MSCP disk you'll need to find the MicroPDP-11 Formatter and see if it will revector the bad sector for you (BSD MSCP drivers can not do this - probably just as well because I've heard it's fiendishly difficult and if you get it wrong you've hosed your drive). Steven Schultz sms at wlv.iipo.gtegsc.com From wkt at dolphin.cs.adfa.oz.au Thu Dec 7 14:07:59 1995 From: wkt at dolphin.cs.adfa.oz.au (Warren Toomey) Date: Thu, 7 Dec 1995 15:07:59 +1100 (EST) Subject: Fsck tips In-Reply-To: <199512070347.TAA02505@wlv.iipo.gtegsc.com> from "Steven M. Schultz" at Dec 6, 95 07:47:48 pm Message-ID: <9512070407.AA12021@dolphin> In atricle by Steven M. Schultz: > > I have dchecked, ichecked and fscked /dev/ra0f, and it seems to > > be a happy partition. > > Ok - at that point if a manual "fsck /dev/rra0f" (and you should be > using the raw (rra) form of the device) works, then all you need to > do is hit a ^D and the system will finish coming up to a multi user > state. Apropos fsck'ing, always work on a raw device. Only fsck on an unmounted partition, or a quiescent one (no disk activity, this means single-user mode and sync BEFORE doing the fsck). If fsck finds an error, DONT sync the system before shutting down; sync will flush out anything still in the cache, possibly overwriting the changes fsck made to the disk. Someone had to point this out to me a few years ago, I kept doing sync sync sync reboot after fsck reported errors. Deary me! Cheers all, Warren From wkt at dolphin.cs.adfa.oz.au Thu Dec 7 15:00:43 1995 From: wkt at dolphin.cs.adfa.oz.au (Warren Toomey) Date: Thu, 7 Dec 1995 16:00:43 +1100 (EST) Subject: Fsck for v7 Message-ID: <9512070500.AA12847@dolphin> Hmm, while we're on the topic of fsck, the RL02 image of 7th Edition that was given to me by Torsten Hippe had an fsck for v7 filesystems, but no source code. Torsten did say that Johnny Billquist had the original tape, but Johnny says he's not in a position to read the tape. Anyway, does anybody have the source code to this or another v7 fsck? Any clues as to who wrote it etc.? Thanks, Warren From rjm at swift.eng.ox.ac.uk Thu Dec 7 20:40:17 1995 From: rjm at swift.eng.ox.ac.uk (Bob Manners) Date: Thu, 7 Dec 1995 10:40:17 +0000 (GMT) Subject: fsck tips Message-ID: As Warren says, you don't want to sync after an fsck run has made changes to the disk. Simply turn off and reboot. One gotcha Warren omitted was the process /etc/update, which is usually started at boot-time from /etc/rc. This process does a sync every 30 secs automatically. Before fscking a live filesystem, kill update first! If fsck finds anything wrong, shutdown immediately without a sync. Of course, fscking unmounted filesystems is far safer, but not always possible for the root partition ... Cheers, Bob. -- ---------------------------------------------------------------------------- Robert Manners Osney Laboratory rjm at swift.eng.ox.ac.uk Dept of Engineering Science University of Oxford 01865 288762 Try: http://swift.eng.ox.ac.uk Linux - the only choice This message brought to you from an entirely Microsoft free system. ---------------------------------------------------------------------------- From rjm at swift.eng.ox.ac.uk Tue Dec 12 21:26:10 1995 From: rjm at swift.eng.ox.ac.uk (Bob Manners) Date: Tue, 12 Dec 1995 11:26:10 +0000 (GMT) Subject: version 7 Message-ID: I just thought I'd share a few more of my experiences with you in the hope that they may help someone out.... Over the weekend, I finally succeeded in ftping Tapes/Torsten/v7.gz - version 7 as an RL02 image. (International ftp to the UK is terrible at present!). I have no RL02, so I booted the image on Bob Supnic's pdp11 emulator, built a kernel to support both RL and RK05 drives and set about transferring the vital parts of the system to an RK05 image, with the kernel source, games and other non-essentials going to a second image. The two RK05 images are pretty full! I built kernels for the 11/40 (m40.o) and 11/34 (smch.o), to support just the RK05, and added a second DL-11 as previously discussed on this list. Kermiting the root image to an RK05 on my 11/34 was no trouble. My 11/34 will booth the m40.o image just fine, but the smch.o image caused much disk activity, but no console output. Version 7 thus can be persuaded to work on an 11/34a, with a single RK05. The second DL11 is recognised and works as expected. Version 7 seems significantly slower than version 6, when multi-user mode is entered. Thus, I think I'd recommend version 6 for a small system ... Cheers, Bob. -- ---------------------------------------------------------------------------- Robert Manners Osney Laboratory rjm at swift.eng.ox.ac.uk Dept of Engineering Science University of Oxford 01865 288762 Try: http://swift.eng.ox.ac.uk Linux - the only choice This message brought to you from an entirely Microsoft free system. ---------------------------------------------------------------------------- From sysyphus at crl.com Tue Dec 19 11:24:12 1995 From: sysyphus at crl.com (Danny R. Brown) Date: Mon, 18 Dec 1995 17:24:12 -0800 (PST) Subject: What is lonex? Message-ID: Greetings: I've been playing with the mail system. Mailing to root brings up can't find usr/lonex/xmail This in itself is not a problem, as I only tried this to see what would happen. However, I am curious as to what the lonex directory is (was). It does not appear in my listing of the contents of tape 2. Cheers! ************************************************************************* * A Personal Message from * BASILISK * * Danny R. Brown * "Try our other fine flavors!" * * ( sysyphus at crl.com ) * (404) 392-1691 * * Pager:(404)397-0516 * LYNC host mode * ************************************************************************* From sms at wlv.iipo.gtegsc.com Tue Dec 19 13:59:39 1995 From: sms at wlv.iipo.gtegsc.com (Steven M. Schultz) Date: Mon, 18 Dec 1995 19:59:39 -0800 Subject: What is lonex? Message-ID: <199512190359.TAA04159@wlv.iipo.gtegsc.com> Hi - > From: "Danny R. Brown" > Subject: What is lonex? LONEX _was_ "Laboratory Office Network EXperiment" - a project I worked on for many years (we started with V7) and which just ended a couple or three years ago. We used 11/44s and 70s right up till the end - by which point they were all running 2.11BSD. It was a really neat system - had a common user namespace (YP before there was YP;-)) amoungst all systems, a (for the time) spiffy text-mode menuing interface to shield users from the fact it was Unix and so on. > I've been playing with the mail system. Mailing to root brings up > can't find usr/lonex/xmail The sendmail.cf as distributed in the 'GENERIC' system kit wasn't cleaned up enough. That reference to a local mailer that I use should have been removed. Several things to note: 1) the sendmail.fc file does not exist - on purpose. You'll need to perform step 2 and then do a "/usr/lib/sendmail -bz" to freeze (pre-process for faster loading) the config file. 2) the sendmail.cf file is not suitable for use without customizing (filling in the domain name, relay system, etc). 3) The aliases database (/usr/lib/aliases.{dir,pag}) are not present, on purpose. You'll want to edit /usr/lib/aliases to suit local tastes and then do "/usr/lib/sendmail -bi" to create the dbm aliases database. > This in itself is not a problem, as I only tried this to see what would > happen. However, I am curious as to what the lonex directory is (was). It's a directory I keep local works of art such as the local mailer 'xmail' which knew the details about routing mail within the "Office Network" we ran. > It does not appear in my listing of the contents of tape 2. It shouldn't have been there at all. You should have something like: # Mlocal, P=/bin/mail, F=rlsDFMmn, S=10, R=20, A=mail -d $u Mlocal, P=/usr/lonex/bin/xmail, F=lsSDFMmn, S=10, R=20, A=xmail -f $g $u in sendmail.cf. Simply reverse the commented status of the two lines to be: Mlocal, P=/bin/mail, F=rlsDFMmn, S=10, R=20, A=mail -d $u # Mlocal, P=/usr/lonex/bin/xmail, F=lsSDFMmn, S=10, R=20, A=xmail -f $g $u And you'll be all set. Steven Schultz sms at wlv.iipo.gtegsc.com