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:

NetBSD Home
NetBSD PR Database Search

(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.