NetBSD Problem Report #41668
From mmondor@pulsar-zone.net Sat Jul 4 02:14:55 2009
Return-Path: <mmondor@pulsar-zone.net>
Received: from mail.netbsd.org (mail.netbsd.org [204.152.190.11])
by www.NetBSD.org (Postfix) with ESMTP id 6EB2963B883
for <gnats-bugs@gnats.NetBSD.org>; Sat, 4 Jul 2009 02:14:55 +0000 (UTC)
Message-Id: <200907040214.n642EqMV007013@ginseng.xisop>
Date: Fri, 3 Jul 2009 22:14:52 -0400 (EDT)
From: mm_lists@pulsar-zone.net
Reply-To: mm_lists@pulsar-zone.net
To: gnats-bugs@gnats.NetBSD.org
Subject: MONOLITHIC should probably also be included in HEAD builds
X-Send-Pr-Version: 3.95
>Number: 41668
>Category: kern
>Synopsis: MONOLITHIC should probably also be included in HEAD builds
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: tron
>State: closed
>Class: change-request
>Submitter-Id: net
>Arrival-Date: Sat Jul 04 02:15:00 +0000 2009
>Closed-Date: Fri Oct 02 06:23:13 +0000 2009
>Last-Modified: Thu Jan 28 05:10:03 +0000 2010
>Originator: Matthew Mondor
>Release: -current
>Organization:
>Environment:
Architecture: i386
Machine: i386
>Description:
It would be a good idea in my opinion to always include a
MONOLITHIC kernel for -current releases, which GENERIC now
appears dependent on modules. A monolothic kernel will
greatly simplify upgrades or testing when a bug on another
branch must be tested for existence on -current.
>How-To-Repeat:
Follow a standard -current tracking procedure and discover
problems when using GENERIC. Discover that MONOLITHIC
should be built but is not already available in daily
snapshots.
>Fix:
I think that the following could be added to
etc/etc.i386/Makefile.inc:
KERNEL_SETS+= MONOLITHIC
>Release-Note:
>Audit-Trail:
From: matthew green <mrg@eterna.com.au>
To: gnats-bugs@NetBSD.org
Cc: kern-bug-people@netbsd.org, gnats-admin@netbsd.org,
netbsd-bugs@netbsd.org
Subject: re: kern/41668: MONOLITHIC should probably also be included in HEAD builds
Date: Sat, 04 Jul 2009 13:05:01 +1000
yes please.
From: Izumi Tsutsui <tsutsui@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/41668 CVS commit: src
Date: Wed, 15 Jul 2009 14:11:02 +0000
Module Name: src
Committed By: tsutsui
Date: Wed Jul 15 14:11:02 UTC 2009
Modified Files:
src/distrib/notes/common: contents
src/etc/etc.i386: Makefile.inc
Log Message:
Add MONOLITHIC kernel to i386 release binaries. PR#41668
To generate a diff of this commit:
cvs rdiff -u -r1.155 -r1.156 src/distrib/notes/common/contents
cvs rdiff -u -r1.61 -r1.62 src/etc/etc.i386/Makefile.inc
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Responsible-Changed-From-To: kern-bug-people->ad
Responsible-Changed-By: ad@NetBSD.org
Responsible-Changed-When: Wed, 15 Jul 2009 14:24:59 +0000
Responsible-Changed-Why:
take
From: Matthew Mondor <mm_lists@pulsar-zone.net>
To: gnats-bugs@netbsd.org
Cc: tsutsui@netbsd.org
Subject: Re: kern/41668: MONOLITHIC should probably also be included in HEAD
builds
Date: Wed, 15 Jul 2009 23:46:42 -0400
Thanks for the commit on netbsd/i386.
Should this also be done for other architectures supporting MODULAR
kernels as well?
Thanks,
--
Matt
From: Andrew Doran <ad@NetBSD.org>
To: gnats-bugs@NetBSD.org
Cc: gnats-admin@netbsd.org, netbsd-bugs@netbsd.org,
mm_lists@pulsar-zone.net
Subject: Re: kern/41668: MONOLITHIC should probably also be included in HEAD builds
Date: Thu, 16 Jul 2009 08:11:20 +0000
On Thu, Jul 16, 2009 at 03:50:03AM +0000, Matthew Mondor wrote:
> The following reply was made to PR kern/41668; it has been noted by GNATS.
>
> From: Matthew Mondor <mm_lists@pulsar-zone.net>
> To: gnats-bugs@netbsd.org
> Cc: tsutsui@netbsd.org
> Subject: Re: kern/41668: MONOLITHIC should probably also be included in HEAD
> builds
> Date: Wed, 15 Jul 2009 23:46:42 -0400
>
> Thanks for the commit on netbsd/i386.
>
> Should this also be done for other architectures supporting MODULAR
> kernels as well?
Not it should not, and it should not have been done for i386 in the first
place.
From: Izumi Tsutsui <tsutsui@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/41668 CVS commit: src
Date: Thu, 16 Jul 2009 10:43:23 +0000
Module Name: src
Committed By: tsutsui
Date: Thu Jul 16 10:43:23 UTC 2009
Modified Files:
src/distrib/notes/common: contents
src/etc/etc.i386: Makefile.inc
Log Message:
Revert previous per comment from ad@ in PR 41668, which is no longer orphaned.
To generate a diff of this commit:
cvs rdiff -u -r1.156 -r1.157 src/distrib/notes/common/contents
cvs rdiff -u -r1.62 -r1.63 src/etc/etc.i386/Makefile.inc
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
From: Matthew Mondor <mm_lists@pulsar-zone.net>
To: gnats-bugs@netbsd.org
Cc:
Subject: Re: kern/41668: MONOLITHIC should probably also be included in HEAD
builds
Date: Fri, 17 Jul 2009 07:54:40 -0400
On Thu, 16 Jul 2009 12:04:39 +0000
ad@NetBSD.org wrote:
> The monolithic kernel an aid for people developing core kernel code,
> compiling their own kernels, and generally playing about in areas where one
> can shoot oneself in the foot rather easily. I have never had the need for
> it but I can see the utility.
>
> When considered in the frame of a NetBSD release it offers nothing.
> Releases are all about a shipped product for end users ... unless the
> landscape has changed so dramatically that releases are all about us
> hackers and our toys, which would be a desperately sad state of affairs.
Unfortunately, our notion of what toys might and might not be seems to
differ significantly :)
Personally, using a dedicated build host, it doesn't matter much if a
MONOLITHIC binary kenel isn't provided, although I sure hope that the
configuration file will be maintained (your answer raises doubts
about this, describing it as a "toy" you never used). I admire your
work on the modular system which will probably prove useful to many use
cases, but I don't agree that the most straightforward approach to a
working system should suddenly be delegated to the level of a luxury
developer toy.
However, when I filed the PR I was thinking of end users who I
occasionally meet on IRC, needing to try a -current kernel and finding
it non-trivial. Of course, in an ideal world, they wouldn't have to,
but it does happen.
They end up either having to mess with GENERIC and modules from a daily
build or having to read tracking-current documentation and build their
own kernel from source (also realizing that they need MONOLITHIC and
not GENERIC for the documented procedure to work properly), when they
could simply download a single kernel image to test. Even for
developers, an end user being able to confirm if a kernel problem
subsists or not on HEAD is useful.
Thanks,
--
Matt
From: David Holland <dholland-bugs@netbsd.org>
To: gnats-bugs@NetBSD.org
Cc:
Subject: Re: kern/41668: MONOLITHIC should probably also be included in
HEAD builds
Date: Sun, 19 Jul 2009 18:24:33 +0000
On Fri, Jul 17, 2009 at 11:55:01AM +0000, Matthew Mondor wrote:
> However, when I filed the PR I was thinking of end users who I
> occasionally meet on IRC, needing to try a -current kernel and finding
> it non-trivial. Of course, in an ideal world, they wouldn't have to,
> but it does happen.
>
> They end up either having to mess with GENERIC and modules from a daily
> build or having to read tracking-current documentation and build their
> own kernel from source (also realizing that they need MONOLITHIC and
> not GENERIC for the documented procedure to work properly), when they
> could simply download a single kernel image to test. Even for
> developers, an end user being able to confirm if a kernel problem
> subsists or not on HEAD is useful.
Yes, this.
ad, don't you think the fact that several people have asked for this
for a number of good reasons is an indication that it should be there,
at least for HEAD builds? Whether it's kept on release branches is an
entirely different issue.
--
David A. Holland
dholland@netbsd.org
Responsible-Changed-From-To: ad->tron
Responsible-Changed-By: tron@NetBSD.org
Responsible-Changed-When: Fri, 02 Oct 2009 06:23:13 +0000
Responsible-Changed-Why:
I'll handle this PR.
State-Changed-From-To: open->closed
State-Changed-By: tron@NetBSD.org
State-Changed-When: Fri, 02 Oct 2009 06:23:13 +0000
State-Changed-Why:
The MONOLITHIC is now built by default and distributed with snapshots.
This should probably be undone after the release of NetBSD 6.0 if the
problems with the module framework have been fixed in the meantime.
From: Andrew Doran <ad@NetBSD.org>
To: gnats-bugs@NetBSD.org
Cc: tron@NetBSD.org, netbsd-bugs@netbsd.org, gnats-admin@netbsd.org,
mm_lists@pulsar-zone.net
Subject: Re: kern/41668 (MONOLITHIC should probably also be included in
HEAD builds)
Date: Tue, 26 Jan 2010 10:14:26 +0000
On Fri, Oct 02, 2009 at 06:23:13AM +0000, tron@NetBSD.org wrote:
> Synopsis: MONOLITHIC should probably also be included in HEAD builds
>
> Responsible-Changed-From-To: ad->tron
> Responsible-Changed-By: tron@NetBSD.org
> Responsible-Changed-When: Fri, 02 Oct 2009 06:23:13 +0000
> Responsible-Changed-Why:
> I'll handle this PR.
>
>
> State-Changed-From-To: open->closed
> State-Changed-By: tron@NetBSD.org
> State-Changed-When: Fri, 02 Oct 2009 06:23:13 +0000
> State-Changed-Why:
> The MONOLITHIC is now built by default and distributed with snapshots.
> This should probably be undone after the release of NetBSD 6.0 if the
> problems with the module framework have been fixed in the meantime.
This should definitely be undone. It confuses the needs of the producers
of the product with the needs of the consumers of the product. If the
user base is so insignficant that these two sets of people are one and the
same, then it's appropriate. That would be rather sad.
From: Matthias Scheler <tron@NetBSD.org>
To: Andrew Doran <ad@NetBSD.org>
Cc: NetBSD GNATS <gnats-bugs@NetBSD.org>
Subject: Re: kern/41668 (MONOLITHIC should probably also be included in HEAD builds)
Date: Tue, 26 Jan 2010 10:18:38 +0000
On Tue, Jan 26, 2010 at 10:14:26AM +0000, Andrew Doran wrote:
> On Fri, Oct 02, 2009 at 06:23:13AM +0000, tron@NetBSD.org wrote:
> > Synopsis: MONOLITHIC should probably also be included in HEAD builds
> >
> > Responsible-Changed-From-To: ad->tron
> > Responsible-Changed-By: tron@NetBSD.org
> > Responsible-Changed-When: Fri, 02 Oct 2009 06:23:13 +0000
> > Responsible-Changed-Why:
> > I'll handle this PR.
> >
> >
> > State-Changed-From-To: open->closed
> > State-Changed-By: tron@NetBSD.org
> > State-Changed-When: Fri, 02 Oct 2009 06:23:13 +0000
> > State-Changed-Why:
> > The MONOLITHIC is now built by default and distributed with snapshots.
> > This should probably be undone after the release of NetBSD 6.0 if the
> > problems with the module framework have been fixed in the meantime.
>
> This should definitely be undone.
I'm sorry but I have to disagree. While the module framework is a step
in the right direction it is at the moment incomplete. This should be
addressed *before* it gets widely deployed.
> It confuses the needs of the producers of the product with the needs
> of the consumers of the product.
The module framework caused a lot of problems for the consumers of
the product. Please have a look at the archive of the
"current-users" mailing list to see how many users ended up with
non bootable systems.
Kind regards
--
Matthias Scheler http://zhadum.org.uk/
From: "Martin S. Weber" <Ephaeton@gmx.net>
To: Andrew Doran <ad@NetBSD.org>
Cc: gnats-bugs@NetBSD.org, tron@NetBSD.org, netbsd-bugs@netbsd.org,
gnats-admin@netbsd.org, mm_lists@pulsar-zone.net
Subject: Re: kern/41668 (MONOLITHIC should probably also be included in HEAD builds)
Date: Tue, 26 Jan 2010 07:27:21 -0500
On Tue, Jan 26, 2010 at 10:14:26AM +0000, Andrew Doran wrote:
> On Fri, Oct 02, 2009 at 06:23:13AM +0000, tron@NetBSD.org wrote:
> > Synopsis: MONOLITHIC should probably also be included in HEAD builds
> > (...)
> > State-Changed-From-To: open->closed
> > State-Changed-By: tron@NetBSD.org
> > State-Changed-When: Fri, 02 Oct 2009 06:23:13 +0000
> > State-Changed-Why:
> > The MONOLITHIC is now built by default and distributed with snapshots.
> > This should probably be undone after the release of NetBSD 6.0 if the
> > problems with the module framework have been fixed in the meantime.
>
> This should definitely be undone. It confuses the needs of the producers
> of the product with the needs of the consumers of the product.
Cannot mount sense in root argument.
Error 79.
Choose different root argument or explain, pls [?] :
From: Robert Elz <kre@munnari.OZ.AU>
To: gnats-bugs@NetBSD.org
Cc:
Subject: Re: kern/41668 (MONOLITHIC should probably also be included in HEAD builds)
Date: Tue, 26 Jan 2010 20:13:04 +0700
Date: Tue, 26 Jan 2010 10:20:04 +0000 (UTC)
From: Matthias Scheler <tron@NetBSD.org>
Message-ID: <20100126102004.D1B6263BA2A@www.NetBSD.org>
| > > The MONOLITHIC is now built by default and distributed with snapshots.
| > > This should probably be undone after the release of NetBSD 6.0 if the
| > > problems with the module framework have been fixed in the meantime.
| >
| > This should definitely be undone.
|
| I'm sorry but I have to disagree.
Yes, definitely - what's more, aside from some build time consumed in
making an extra kernel, I cannot even imagine how having MONOLITITHIC
as well as a (modular) GENERIC can possibly harm anyone - all that does
is give users an easy choice of which kernel they prefer, and how that
can possibly be considered as "confusing the needs of the producers with
the needs of the consumers" is beyond my comprehension.
If the discussion was about the exact opposite, I could see where that
comment could be relevant - that is, if the developers wanted to maintain
just one kernel (the modular one, or the monolithic one), then you could
say that would be putting the needs of the producers above the needs of the
consumers, but in adding one???
The only possible drawback to including MONOLITHIC (aside from build time
and release size) is that the end users wouldn't be forced to run a
modular kernel (or recompile from source) which might just upset some
people's ideas of what the users are supposed to be wanting when some of
them (perhaps many of them) actually select the MONOLITHIC kernel, despite
all the (bogus) assurances that all end users really want modular kernels.
Personally, I'd prefer if the default kernel for 6.0 was switched back
to MONOLITITHIC (ie:
mv GENERIC MODULAR
mv MONOLITHIC GENERIC
plus the obvious related changes) - I suspect that will end up causing
far less problems after 6.0 is released and starts being used by real
end users (note all random problems people have been having with modules
in current - where the users are supposed to have some understanding of
the correct procedures, and how to deal with problems, then imagine what
will happen with the genuine end users who only run release versions)
Note: I totally support having modules as part of NetBSD, and in being able
to build and run modular kernels - there's no question that there is a
community for whom that's the best way to operate. And with that, I also
support having the GENERIC kernel being a modular kernel in current - since
the modular system is new, that's the best way to cause it to be used, so
the problems can be found and corrected. So, I'd do the above mv's on the
netbsd_6 branch after it is created - before 6.0 alpha releases start being
created, ie: first thing after the branch is created - either that or on
current just before the branch, then undo it again on current (6.99.*)
immediately after the branch.
kre
From: Matthew Mondor <mm_lists@pulsar-zone.net>
To: gnats-bugs@NetBSD.org
Cc:
Subject: Re: kern/41668 (MONOLITHIC should probably also be included in HEAD
builds)
Date: Tue, 26 Jan 2010 18:51:14 -0500
On Tue, 26 Jan 2010 13:15:04 +0000 (UTC)
Robert Elz <kre@munnari.OZ.AU> wrote:
> Yes, definitely - what's more, aside from some build time consumed in
> making an extra kernel, I cannot even imagine how having MONOLITITHIC
> as well as a (modular) GENERIC can possibly harm anyone - all that does
> is give users an easy choice of which kernel they prefer, and how that
> can possibly be considered as "confusing the needs of the producers with
> the needs of the consumers" is beyond my comprehension.
I agree here, but could perhaps be biased as I tend to also build my
own NetBSD releases (and packages repository). Although I'm also a
programmer, I'm not a registered NetBSD developper, however, so I
consider myself an advanced user. I might assume that most users have
the same needs as mine, or use NetBSD the same way. Also, we're pretty
far away from a desktop-ready Ubuntu-like system, so I assume that
NetBSD users expect something different.
> Note: I totally support having modules as part of NetBSD, and in being able
> to build and run modular kernels - there's no question that there is a
> community for whom that's the best way to operate. And with that, I also
> support having the GENERIC kernel being a modular kernel in current - since
> the modular system is new, that's the best way to cause it to be used, so
> the problems can be found and corrected. So, I'd do the above mv's on the
> netbsd_6 branch after it is created - before 6.0 alpha releases start being
> created, ie: first thing after the branch is created - either that or on
> current just before the branch, then undo it again on current (6.99.*)
> immediately after the branch.
I'm not against modules either, but I feel that something is missing to
be using them in the current state of things. Another interesting
related thread, to which I also participated should be linked here:
http://mail-index.netbsd.org/current-users/2009/12/21/msg011759.html
One important problem for me is that although it's way easy to compile
and install a new monolithic kernel, this is more troublesome with
modules. If advanced users think that way, how about novice users when
having to deal with the modular system?
build.sh (and the build system) probably should be updated with a new
target to build a modular kernel image along with its modules together
in a pack (i.e. perhaps a directory named GENERIC containing both an
image and the hierarchy of corresponding kernel modules)?
As it now is, modules seem to be built and installed as part of
userland, in a fixed location. This makes testing or upgrading a new
kernel troublesome, unless it's monolithic. And yes, users do need to
occasionally test a -current kernel, or to first test-boot a new kernel
when upgrading their system before upgrading userland.
With kernel modules at a fixed location and a modular kernel, to
upgrade a system, one would have to move the old modules away, install
the ones from the new userland build, install the new kernel image,
update the boot code, boot it and test it, to then install the rest of
userland if all seems fine, and then deal with etcupdate/postinstall as
necessary. With a monolithic system, userland doesn't need to be built
first (perhaps the tools only) and there's no problem mixing
image/modules together, or even upgrading the boot code before the
first test-boot.
Couldn't it be as simple for modular with a sound hierarchy? Other
than the boot code having to also be updated more often than before
because of fs modules needing to be loaded, of course.
An example of another modular system is Linux, where modules are built
and installed as part of the kernel build scripts, in a directory which
name includes the kernel version. Since NetBSD is not only a kernel,
perhaps we could use the custom kernel name (i.e. the name of the
configuration file)?
Another option would be to guarantee binary compatibility of modules
and for new kernels to continue to support old modules, but that is
probably absurd (it makes sense for OS userland compatibility only IMO).
Or are NetBSD "end users" supposed to never test new kernels or upgrade
their systems, and we should make this as hard as possible?
Thanks,
--
Matt
From: David Holland <dholland-bugs@netbsd.org>
To: gnats-bugs@NetBSD.org
Cc: mm_lists@pulsar-zone.net
Subject: Re: kern/41668 (MONOLITHIC should probably also be included in
HEAD builds)
Date: Thu, 28 Jan 2010 05:07:21 +0000
On Tue, Jan 26, 2010 at 11:55:02PM +0000, Matthew Mondor wrote:
> One important problem for me is that although it's way easy to compile
> and install a new monolithic kernel, this is more troublesome with
> modules. If advanced users think that way, how about novice users when
> having to deal with the modular system?
> [...]
> Or are NetBSD "end users" supposed to never test new kernels or upgrade
> their systems, and we should make this as hard as possible?
All these points have been raised repeatedly in the past without
affecting Andrew's opinion. However, core has decided that MONOLITHIC
will remain and continue to be autobuilt, so hopefully this argument
can finally be dropped.
--
David A. Holland
dholland@netbsd.org
>Unformatted:
(Contact us)
$NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.