Subject: Re: Kernel compile options?
To: Glen Stewart <netbsd@associate.com>
From: Bill Studenmund <wrstuden@loki.stanford.edu>
List: port-mac68k
Date: 10/18/1997 14:58:24
> 
> HI,
>
> I'm trying my hand at compiling a custom kernel, and wonder about some options I've seen around the net for Netbsd...
>
> I'd appreciate the time anyone takes to explain these.  Maybe the results can be put in the FAQ for kernel building?

Actually, many of the items are in man options. Ones which aren't there should
get added to it.

To get a feel for what's changable and what's not, look at the GENERIC
config and the other configs in /sys/arch/mac68k/conf. If something's
duplicated in all of them, then chances are it's important.

> Thanks!
>
>
> Are there any pro's to using these?  Gene had them in his...
Gene is?

> options         SWAPPAGER               # Pager for processes
> options         DEVPAGER                # Pager for devices (mapped devices)
> 
> Is this supported and beneficial for us?
> #options        DUMMY_NOPS      # Sometimes results in a faster machine

I'd suggest you look at the GENERIC config. You won't find any of
the above options in it. The top two are in sys/arch/mac68k/conf/std.mac68k
with comments saying "REQUIRED" (all caps in the file). The first turns
on the paging code. The second permits the mmaping of devices.

DUMMY_NOPS is an i386-ism. It puts nop codes around I/O space accesses
for old motherboards/cards.

> Gene used this, but I don't understand the use
> # Filesystem options
> #options         UNION           # Union filesystem

With this one, you can mount a directory over another one, and have all
the changes appear in the upper one. For instance, you can mount a
file system over a CD-ROM, and make it appear writable.

Note: The installer can't deal with filesystems which have the
infrastructure to handle union mounting.

> FAST is my favorite word, but so is STABLE.  Is FASTLINKS good?
> #options        FASTLINKS       # Fast symbolic links in FFS
> 
> On a single-family system, can we survive without this?
> #options        QUOTA           # fast filesystem with user and group quotas

As far as I can tell, FASTLINKS doesn't do anything.

If you never turn on quota support, you certainly can live w/o QUOTA kernel
support.

> Again, is Netatalk built-in to the OpenBSD 2.1 kernel???
> options         NETATALK

You'll probably want to ask the OpenBSD folks. I know they've got NETATALK
support, but I'm not sure if it made 2.1.

NetBSD-current has had it since April, and 1.3 will.

> # Networking options
> Is there a requirement for 4.2 support anymore?
> #options        TCP_COMPAT_42   # compatibility with 4.2BSD TCP/IP

I doubt it.

> Is this used if the same box is known by more than one domain name, or is it
> used for something else?
> #options        GATEWAY         # IP packet forwarding

This turns on IP forwarding and adds more memory to the mbuf cluster map
(more packets can be sitting around in memory). I think it's OK to leave on.

> I'm thining this isn't required...
> #options        IPFILTER        # 

Unless of course you want IP filtering. :-)

> What about COMPAT_44?  How long do we have to maintain backwards compatibility?

NetBSD is a BSD4.4 variant. NetBSD doesn't have this option.

> options         COMPAT_43       # 4.3 BSD compatible system calls
> #options        COMPAT_42       # 4.2 BSD compatible system calls
> #options        NS              # Xerox XNS
> #options        NSIP            # XNS over IP

NS and NSIP you can live w/o. Check man options for COMPAT_43.

> # Mac-specific options
> #options        HWDIRECT        # must be a Quadra option ?
> 
> Is this kernel option still used?  Does it help speed of normal C execution?
> options         FPCOPROC        # Support for MC6888[1,2]

I think these are OpenBSD options. You really should look at the NetBSD
config files. HWDIRECT is the opposite of MRG_ADB. There are two ways
of accessing the ADB hardware, one using the ROMs and the other not.

I think FPCOPROC has no NetBSD equivelant.

> Why are these needed?
> options         COMPAT_NOMID    # allow nonvalid machine id executables
> options         COMPAT_SUNOS    # support to run Sun (m68k) executables

COMPAT_SUNOS will let you run SunOS executables for Sun 3 workstations,
if you have the SunOS shared libraries. I don't know what NOMID does.

> Is the IIci cache support unstable/experimental?
> options         DISABLE_EXT_CACHE # Don't use IIci external cache

Recently it came up that this option is probably no longer needed.

> Is RAM-based driver considered more efficient or stable?
> #options        MRG_ADB           # Use ROM-based ADB driver

This would turn on the ROM-based ADB driver. The alternative is to
directly access the (poorly documented) hardware.

Take care,

Bill