Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 6 Jan 2006 02:34:40 -0800
From:      Jo Rhett <jrhett@svcolo.com>
To:        "Patrick M. Hausen" <hausen@punkt.de>
Cc:        stable@freebsd.org, freebsd-stable@freebsd.org, current <current@freebsd.org>, K?vesd?n G?bor <gabor.kovesdan@t-hosting.hu>, Peter Jeremy <PeterJeremy@optushome.com.au>
Subject:   Re: FreeBSD Update is the binary update solution [Re: HEADS UP: Release schedule for 2006]
Message-ID:  <20060106103440.GB54324@svcolo.com>
In-Reply-To: <200601050947.k059lctk024288@hugo10.ka.punkt.de>
References:  <20060105093220.GJ1358@svcolo.com> <200601050947.k059lctk024288@hugo10.ka.punkt.de>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Jan 05, 2006 at 10:47:38AM +0100, Patrick M. Hausen wrote:
> > > > 1. modified kernels are foobar
> > > >   ..yet are practically mandatory on production systems
> 
> > Look around.  Every major commercial OS does it just fine.
> 
> While I agree with much of your reasoning, I know exactly zero
> people running a modified kernel of any version of Windows,
> Mac OS X or Solaris, to name just three commercial OS's.
 
You're tickling a different subject here.  All three of these operating
systems have loadable kernel modules that work.  I mean, they dynamically
load the modules they need, and you can disable kernel modules in
configuration files.  FreeBSD has loadable kernel modules, but they don't
autoload (you have to modify rc files) and you can't trim down the kernel
to minimize unused memory without recompiling.

To give you a specific example: if we could remove NFS and the 3ware
driver from the kernel in a configuration file, we could probably run
GENERIC.  (we do *a lot* of other modifications, but NFS is the main memory
hog we have to remove on small footprint systems, and the 3ware driver we
have to update independently, which requires that it be a loadable module
and not compiled in)

So yeah, this is a different problem.  However I wasn't going to tackle
this issue in this thread because the -core team appears to be very aware 
of this issue and it seems to improve a bit in every release.

> And third party drivers (which one could count as "kernel modifications")
> did fail and will fail sometimes in weird ways even for minor
> version upgrades/patches. BTDT - Windows Services Packs, Solaris patches,
> Mac OS X updates, reboot, *boom*, because some hardware suppliers
> driver didn't adhere to the OS manufacturer's standards or because
> the latter silently changed something undocumented.
 
I don't know what you're trying to say here.  I don't disagree, I'm just
not sure what you mean.  It almost sounds like you're trying to make my own
point about having the ability to backout patches, which we don't have
today.

> While I would appreciate a packaged core system or at least a
> better definition of "core system" at all, I strongly believe
> that binary updating a custom kernel is impossible.

If the kernel is consistent across the enterprise (but not, say GENERIC)
then binary updates would be trivial.

> With "better definition of core system" I mean, if you have a
> long lived production system that you might have upgraded
> from 4.x to 5.x to 6.0, you will have a lot of cruft lying
> on your filesystem that once was part of the "core" and now
> isn't. And there is no simple and automated way to find out
> what to delete ...

That's another good point for having file revisions.  We don't have that
particular problem, but I can easily imagine how having versioning of the
core OS would be useful to help isolate these orphaned files.

-- 
Jo Rhett
senior geek
SVcolo : Silicon Valley Colocation



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060106103440.GB54324>