Return to BSD News archive
Newsgroups: comp.unix.bsd Path: sserve!newshost.anu.edu.au!munnari.oz.au!news.Hawaii.Edu!ames!agate!spool.mu.edu!umn.edu!maroon.tc.umn.edu!m4 From: m4@maroon.tc.umn.edu (Marshall M Midden-4) Subject: Want to stress test a BSD system (and sparc 4.4 installation notes) Message-ID: <CD3uss.2Fz@news2.cis.umn.edu> Sender: news@news2.cis.umn.edu (Usenet News Administration) Nntp-Posting-Host: maroon.tc.umn.edu Organization: University of Minnesota Date: Thu, 9 Sep 1993 21:01:42 GMT Lines: 177 I am looking for scripts/stuff/programs that especially stress test a BSD Unix system. For example test: a) all system calls giving typical bad parameters, etc, b) by stress the various file systems types, c) executing all possible instructions and fault conditions. Anyone know of any? Help on any of my other needs would be greatly appreciated. [list at the tail of this message.] Like is there some generic scsi tape stuff someplace that would easily drop in? {Never asked Chris why the HP stuff can't be used...} Would it be useful to try to merge some bsdi source into this system? ============================================================================== Following is my BSD4.4 SPARC installation notes for others: This is my current list of problems that I have found installing BSD4.4 on the sparc, and fixes/work arounds. Garbled text files I succeded in getting from Kirk McKusick (who is currently on two weeks vacation), and Chris Torek has been extremely helpful. My current system is two Wren 6's (600mb each), and that appears to be a reasonable amount of disk space for getting it up, and recompiling everything. Much of the contrib software compiles in the current directory, instead of in the suggested /usr/obj directory tree. BSD4.4 (sparc) things found: NOTES: 1) Must be in single user mode to do a "make install" of utilities (or a "make build"). 2) /usr/src/contrib/gcc-2.3.3 always recompiles everything! Takes a long time! 3) mfs file systems are unmounted when going from multi-user to single user mode ("kill 1") -- and you'll lose your /tmp ... .Also be careful not to mount them twice. 4) Before doing a kernel build, remember to: cd /usr/src/sys/libkern make ============================================================================== 1) It don't boot (on my sparc-1+). a) FROM Chris Torek: To get past this point you might try munging the `rominterpret' function to just return. Using your SunOS system, run (save vmunix first): adb -w /bsdroot/vmunix and replace the first two instructions in rominterpret() with `retl; nop': rominterpret?2i _rominterpret: _rominterpret: save %sp, -0x70, %sp sethi %hi(0xf80c7c00), %o0 .?2X _rominterpret: _rominterpret: 9de3bf90 113e031f .?W 81c3e008 _rominterpret: 0x9de3bf90 = 0x81c3e008 .+4?W 1000000 _rominterpret+4: 0x113e031f = 0x1000000 rominterpret?2i _rominterpret: _rominterpret: jmp %o7 + 0x8 nop ============================================================================== 2) Certain files are corrupted. Probably a vm problem due to using gcc2.3.3, according to Chris: a) cc1 gives bus segment errors. (this could stop you dead if you don't have a sparc binary to transfer over.) A) Move all /usr/lib/*.s[ao]* files from sunos to bsd4.4 system. B) Move /etc/ld.so.cache to the bsd4.4 system. C) Move gcc from working system (mine was 2.3.3 by chance): tar cf GCC /usr/local/lib/gcc-lib /usr/local/lib/gcc \ /usr/local/bin/gcc /usr/local/bin/c++ /usr/local/bin/g++ \ /usr/local/bin/protoize /usr/local/bin/unprotoize \ /usr/local/include/assert.h D) Change the directories to where you installed them. E) Get rid of the /usr/local/lib/gcc-lib/sparc-sunos-sunos4.1.3/2.3.3/include directory (change to include.save or something), and make an empty one. F) Create on_exit.o from: ----------------------------------------------------------------------------- /* kludge up on_exit to do something -- satisfies linker requirements */ /* NOTE: arguments are lost! */ extern int atexit(); int on_exit(fn, arguments) void (*fn)(); char *arguments; { return(atexit(handler)); } /* end of file on_exit.c */ ----------------------------------------------------------------------------- ar rv /usr/lib/libc.a on_exit.o # NOTE: you better save libc.a first!! G) In the kernel make, it requires libg.a, which isn't on the bsd4.4 distribution. Probably from the gcc "copy" install. Copied libg.a from SunOS.4.1.3, and it continues past the complaint. H) remember to try and make /usr/src/contrib/gcc-2.3.3 and get the shipped compiler installed ("make; make install") -- this'll save a lot of warning messages. b) /usr/src/usr.bin/telnet/commands.c is trashed. A) With an addition of welldefined to a structure, and fixing for gcc's bad coding warnings, bsd4.4alpha works. B) Upon getting a "real one" from Kirk: I) Added a "extern int shell();" definition in the tn3270 area. II) Found it was missing decodeflags() needed for tn3270. Went to the bsd-tahoe release, grabbed the tn3270/commands.c file, grabbed decodeflags routine from it, and plopped it into the bsd4.4 commands.c, and it works. c) Garbled files in /usr/src/sys: /usr/src/sys/nfs/nfs_srvcache.c /usr/src/sys/nfs/nfs_subs.c Kirk McKusic sent these to me. d) Other garbled text files: /usr/src/usr.sbin/sendmail/src/mailstats.h /usr/src/usr.sbin/sendmail/src/main.c /usr/src/usr.bin/gprof/arcs.c e) /usr/src/contrib/perl-4.036 does not compile. It runs out of virtual memory. I commented it out of the /usr/src/contrib/Makefile, as a newer version will be available anyway, and I'll be installing that later. ============================================================================== 3) /usr/src/lib/libc/net/Makefile.inc references link_addr.0, should not have _. ============================================================================== 4) Something wierd happens when the man pages for mh are created. This can be gotten around by: cd /usr/src/contrib/mh-6.8/doc; make clean;make;make install ============================================================================== 5) Either garbled, or not compiled with shipped compiler (couldn't tell): a) most mh-6.8 binaries. b) /usr/games/fortune c) /usr/old/bin/refer d) /usr/old/libexec/hunt e) /usr/sbin/amd f) /usr/sbin/config g) /usr/sbin/named 6) Garbled files: a) /usr/bin/find -- made finding cc1 originally fun! b) /usr/games/xroach c) /usr/libexec/fingerd d) /usr/libexec/rshd e) /usr/libexec/gcc2/cc1 f) /usr/sbin/make_s_table g) /usr/share/dict/web2a - latter part of file merged with beginning. h) /usr/share/games/ching/hexagrams i) /usr/share/games/fortune/fortunes2-o j) /usr/share/games/fortune/startrek 7) So different it is impossible to tell: /usr/share/games/fortune/zippy ============================================================================== 8) Library libg++ was apparently originally compiled without the -g (symbols). ls -lgF /usr/lib/libg++.a /usr.old/lib/libg++.a -r--r--r-- 1 root wheel 16215496 Sep 8 12:11 /usr/lib/libg++.a -r--r--r-- 1 root wheel 1621618 Jul 25 09:33 /usr.old/lib/libg++.a ============================================================================== BUGS that must be fixed for production: a) extraneous panics from keyboard serial lines ? upon booting. If you press a key while bsd4.4 is booting, it panics. b) "panic: dma crosses " 16mb dma boundary. Supposedly the sysctl kludge at the end of rc.local slows the system down. It really panics if clusters are allowed. ============================================================================== Basic things to add/check before production: a) scsi tape support -- absolute need. b) floppy disk support. c) openwindows support (choke). d) Get a replacement /boot that knows the new file system format. I need 32 bit uid/gid everywhere. (got source for sun's -- yuck!) ============================================================================== Marshall M. Midden e-mail: m4@umn.edu University Networking Services Voice: +1 612 625 1335 130 Lind Hall FAX: +1 612 626 1002 207 Church Street S.E. University of Minnesota, Minneapolis, Mn. 55455-0134, USA -- Marshall M. Midden e-mail: m4@umn.edu University Networking Services Voice: +1 612 625 1335 130 Lind Hall FAX: +1 612 626 1002 207 Church Street S.E. University of Minnesota, Minneapolis, Mn. 55455-0134, USA