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?

------------------------------------------------------------------------------