Subject: Re: Thanks NetBSD [Was Re: Debian redefines itself]
To: None <>
From: Douglas Allan Tutty <>
List: netbsd-users
Date: 04/22/2007 18:03:50
On Mon, Apr 23, 2007 at 03:25:31AM +0800, Joseph A. Dacuma wrote:
> > I would be interested in reading a technical comparision of NetBSD and
> > Debian (not a flame fest or a religious debate) to understand for
> > example, _why_ the rc system is better than sysVinit (as implemented by
> > debian), _how_ the kernel differs.
> >
> IMHO, rc system is simpler than Debian's or most GNU/Linux distros' System
> V Init. Theres no confusing  /etc/init.d and  the numerous links to rcN.d
> with S or K and XXservice for every run level.

What isn't clear is what order things happen in the rc system.  For
example, if I'm (or advising someone on) tracking down a problem related
to a service in Debian, I can start in single user mode and go down the
rcS.d links one at a time with the param 'start'.  Similar if
'something' is doing 'something', I can suggest they go through the
rc6.d links one at a time until the 'something' stops.  I wouldn't yet
know how to do that with the rc system.

I'm used to programming for slow hardware.  I know its only the boot up,
but both systems seem to take a lot of cycles to complete.  

> How the kernel differs? Hmmm... exploits galore is one! The link below as
> an example:

I know that there have been exploits found in both the kernel and GNU
apps.  What exploits have been found in NetBSD over the years?

I'm also interested in design philosophy.  For example, there's the GNU
design/coding standard, and there's the linux kernel coding standard
which starts with something like "first, throw out the GNU coding

My _own_ coding standard is different too.  Some people find perverse
pleasure in one-liners whereas I would rather spread something out so
that its clear to me a 2:a.m. how something is _supposed_ to work.  I
also don't like a coding language to look like the output from a one-way
has function so I don't program in perl or even sh; I do python.  I don't do much C; I do
fortran.  Some of it is the philosophy of the coder and some the
philosophy of the people who created the language.  I know: you can't
write a kernel in fortran.  But I digress.

The linux focus seems to be to support the latest and greatest hardware.
Older hardware support gets dropped and security support for old kernels
gets dropped.  NetBSD provides a security-audited system that runs on
old (as well as new and yet-to-be-dreamed-of) hardware.   There is a lot
of hardware that they both run on; they have to solve some of the same
problems; how does the approach of the two teams differ?