*BSD News Article 20690


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