Subject: Minimal 5000/25 and 5000/200 compatible kernel config
To: None <port-pmax@netbsd.org>
From: NetBSD Bob <nbsdbob@weedcon1.cropsci.ncsu.edu>
List: port-pmax
Date: 06/15/2000 16:32:31
I am trying to strip out a minimal NetBSD kernel configuration for
running on both a 5000/25 and a 5000/200 class machine.
The only things the machines need to do is serve a few web pages on
the net and ftp a little. root and I will be the only users aboard.
The idea is to strip it down to the absolute minimum that will run well.
This is what I have stripped down to, so far. It builds the kernel but
fails to ecoff it. The kernel runs fine, though. The ecoff blew up
on an nfs something not found (maybe related to a leftover nfs option
below?).
This is for NetBSD-1.4.2.
How much else can I strip out of it, and why? The why is important,
for the sake of discussion, assuming I am the dummy here, wanting
to learn a little from the collective guru nirvana crewe.....
Thanks
Bob
# $NetBSD: GENERIC,v 1.39.2.2 1999/04/26 16:03:50 perry Exp $
#
# Distribution kernel (any model) kernel config file
#
include "arch/pmax/conf/std.pmax"
maxusers 64
How many users are really needed? I was figuring 8 would probably do?
I would expect it could be cut down to a root and user login of 2?
options MIPS1 # R2000/R3000 CPUs
options DEC_3MAX # DECstation 5000/200 (kn02)
options DEC_MAXINE # Personal DECstation 5000/xx (kn02ca)
options "NKMEMCLUSTERS=1024" # 4K pages in kernel malloc pool
What should NKMEMCLUSTERS be adjusted to for a minimal kernel or for
a kernel optimised for speed? I would assume the 1024 is a generic
compromise?
options SCSIVERBOSE # Verbose SCSI errors
I can get rid of the verbosity after testing.
options NTP # network time protocol
Is NTP really needed?
file-system FFS # fast filesystem with user and group quotas
file-system CD9660 # ISO 9660 + Rock Ridge file system
FFS is required, and I like the ability to read a CD if necessary, but
the ISO FS could be removed.
options INET # Internet protocols
options "TCP_COMPAT_42" # compatibility with 4.2BSD TCP/IP
options IPFILTER_LOG # ipmon(8) log support
What are the pros and cons of keeping or removing the COMPAT and IPFILTER
options?
options "HZ=256" # RTC rate required
Can someone explain what this is doing?
options NFS_BOOT_DHCP # superset of BOOTP
This can probably be removed?
config netbsd root on ? type ?
config nfsnetbsd root on ? type nfs
nfsnetbsd can probably be removed if no nfs capability is required?
mainbus0 at root
cpu* at mainbus0
include "arch/pmax/conf/tc.std"
include "arch/pmax/conf/builtin.ioasic"
include "arch/pmax/conf/builtin.maxine"
include "arch/pmax/conf/builtin.3max"
oldscsibus* at asc?
include "arch/pmax/conf/scsi.pmax"
How much of the include config scripts can be stripped out?
I would assume that would have to be hand stripped to a minimal
configuration, file by file. My only consideration here is that
the kernel run on both the 5000/25 and the 5000/200 machines,
so I only have to build once, and can clone drives to install on
the other machine.
pseudo-device loop 1 # network loopback
pseudo-device sl 4 # serial-line IP ports
pseudo-device ppp 2 # serial-line IP ports
pseudo-device pty 64 # pseudo ptys
pseudo-device bpfilter 16 # packet filter ports
pseudo-device ipfilter # IP filter, NAT
pseudo-device vnd 4 # virtual disk ick
pseudo-device ccd 4 # concatenated disks
pseudo-device rasterconsole 1 # NB: raster console requires "fb"
pseudo-device fb 1 # up to 3 framebuffers
pseudo-device rnd # /dev/random and in-kernel generator
What pseudo devices are really required and why, and what can be
stripped out?
So far, the kernel has shrunk from 2.2 mb to 1.3mb. How much more can it go?
Thanks for the discussion...
Bob