Subject: Compiling new kernel sources
To: Allen X Briggs <briggs@csugrad.cs.vt.edu>
From: None <jeffl@melb.arc.cpr.itg.telecom.com.au>
List: macbsd-development
Date: 12/07/1993 08:56:37
> > "config.new GENERIC" results in messages about "duplicate definition of cd" or
> > some such. It didn't like the following lines in files.mac.newconf
> >
> > device cd at scsibus: disk
> > file arch/mac/scsi/cd.c cd needs-count
> > major {cd=6}
>
> This should be fixed in sys/conf/files.newconf, the define cd should be
> commented out near the beginning of that file. You might want to make
> sure you have the latest files.newconf.
Boy, this stuff is a real moving target, isnt it.
I had all the sources, as at 27.11.93 loaded and started the whole thing
from scratch. I got the same barf about cd but knew where to fix that one
so it was easy. I edited Makefile.mac to include all your suggested
defines. Awk in place meant "make depend" worked fine.
A new bug showed up in scsi/st.c
> g->mt_density = st->density;
> g->mt_blksiz = st->blksiz;
> g->mt_density0 = st->modes[0].density;
> g->mt_density1 = st->modes[1].density;
> g->mt_density2 = st->modes[2].density;
> g->mt_density3 = st->modes[3].density;
> g->mt_blksiz0 = st->modes[0].blksiz;
> g->mt_blksiz1 = st->modes[1].blksiz;
> g->mt_blksiz2 = st->modes[2].blksiz;
> g->mt_blksiz3 = st->modes[3].blksiz;
I think these fields are not defined, even in the new mtio.h you sent out.
I put #if 0/#endif around them and it compiled ok. I dont have tapes!
Some linking problems revealed that the ..../sys/conf/files.newconf seemed a
bit short.
a. exec_aout.c was missing but kern_exec.c referred to it
(exec_aout_makecmds())
b. sysv_ipc.c was missing but sysv_shm.c referred to it (ipcaccess())
c. if_ethersubr.c was "ether needs-flag" where if_ether.c was "ether
inet" and because GENERIC only defines "inet" it only got if_ether.
(_ether_sprintf())
I stuffed about a little trying to get rid of SYSVSHM but it appears that
it gets conditionally compiled into other modules and I couldn't be
bothered waiting for a full recompile so I put it back in.
Anyway, net result. A RELINKED KERNEL. Hooray!
Now the bad news.
When I booted using the new kernel, it seemed to get confused by my Syquest
88M removable (where MacBSD lives until I get more space). It seemed to be
recognising the same drive multiple times. I can't be sure but I think
that it recognised my two fixed drives (mac-only) as drives 1 & 2 and then
thought that my Syquest was 8 (eight) seperate drives. Eventually it
started saying "Too many drives, reconfigure kernel"
Anyway, that aside, it seemed to stay up and running although I didn't want
to stress it out any. Any comments?
------------------------------------------------------------------------------