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