public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Joel Becker <Joel.Becker@oracle.com>
To: Kai Germaschewski <kai@tp1.ruhr-uni-bochum.de>
Cc: Christian Zander <zander@minion.de>,
	Mark Fasheh <mark.fasheh@oracle.com>,
	Thomas Schlichter <schlicht@uni-mannheim.de>,
	"Randy.Dunlap" <rddunlap@osdl.org>,
	Sam Ravnborg <sam@ravnborg.org>,
	LKML <linux-kernel@vger.kernel.org>,
	Rusty Russell <rusty@rustcorp.com.au>
Subject: Re: no version magic, tainting kernel.
Date: Mon, 27 Jan 2003 14:15:24 -0800	[thread overview]
Message-ID: <20030127221523.GP20972@ca-server1.us.oracle.com> (raw)
In-Reply-To: <Pine.LNX.4.44.0301271208580.18686-100000@chaos.physics.uiowa.edu>

On Mon, Jan 27, 2003 at 12:31:07PM -0600, Kai Germaschewski wrote:
> Well, if you're doing things in your module which break with the command 
> line options the rest of the kernel is using, I'd claim you're playing 
> tricks in your module which you shouldn't. The only place I'm aware of 

	I'm not so sure about that.  Some gcc things tweak us, and the
some code has had to deal with it.  This isn't something that happens
often, but it still can.  In addition, CFLAGS_filename.o does not allow
removal of options, merely the addition if I am not mistaken.

> Basically, yes. The build process needs to be able to write, e.g. to 
> compile its helper code in scripts/, so init/vermagic.o is just another
> file being written.

	If my distribution has installed /usr/src/linux-x.y, I can't
compile against it.  Even though the 200MB of a kernel tree is already
taking up space on my system, I have to download *another* 30MB and
install it as *another* 200MB and build it to an eventual *another*
260MB of kernel tree.  So, for every kernel I want to support, I have to
have 260MB of built tree.  And that's just for my userid.  Anyone else
on the box has to have their own n_kernels * 260MB of space waste.

> fact, these checksums are generated as part of the compiled objects, so
> recording checksums needs all other compiled objects to be around. If you 

	But, once the checksums are recorded, the compiled objects are
no longer needed, no?  It still remains that a kernel header package
with associated correct autoconf.h and checksums is at least an order of
magnitude smaller than a built kernel tree.

> As I said, I am sure interested in working with people and distros to get 
> something which everybody can live with. I'm wondering how RedHat manages 
> to have one tree for different configurations, since in that case, at 
> least .config/autoconf.h, EXTRAVERSION and the module version files 
> (*.ver) need to differ, so that kinda seems not possible in one 
> (read-only) tree.

	Red Hat plays tricks.  They add a <rhconfig.h> to the top of
autoconf.h and have some extra defines so that chunks of autoconf.h look
like:

#ifdef UP_FLAG
... some UP CONFIG_* options
#else
#ifdef SMP_FLAG
... some SMP CONFIG_* options

and so on.

	This does indeed track modversions as well (I don't recall which
files do the switching).  This actually works pretty well, but it depends
on the fact that their kernel flavours (up, smp, large ram) are known
at the time they build this setup.  This isn't necessarily the proper
solution for the generic kernel.  
	It still remains that in 2.4 you need the headers for the kernel
plus the proper bits created by config/modversions.  You don't need
anything else, and you don't need any writability after the initial
generation.  This takes significantly less space than an entire built
tree, and is usable from /usr/src as a readonly entity.  Requiring that
*each user* have the kernels they wish to build installed and fully
built is a step back, IMHO.

Joel


-- 

"I always thought the hardest questions were those I could not answer.
 Now I know they are the ones I can never ask."
			- Charlie Watkins

Joel Becker
Senior Member of Technical Staff
Oracle Corporation
E-mail: joel.becker@oracle.com
Phone: (650) 506-8127

  reply	other threads:[~2003-01-27 22:06 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-01-23 13:59 no version magic, tainting kernel Thomas Schlichter
2003-01-23 16:29 ` Randy.Dunlap
2003-01-23 16:52 ` Sam Ravnborg
2003-01-23 17:32   ` Thomas Schlichter
2003-01-23 18:22     ` Sam Ravnborg
2003-01-23 19:35       ` Mark Fasheh
2003-01-26 13:29         ` Christian Zander
2003-01-26 13:33           ` Keith Owens
2003-01-26 18:02             ` Kai Germaschewski
2003-01-26 17:51           ` Kai Germaschewski
2003-01-26 21:57             ` Christian Zander
2003-01-26 21:46               ` Kai Germaschewski
2003-01-26 23:12                 ` Christian Zander
2003-01-26 22:55                   ` David Woodhouse
2003-01-27  0:07                     ` Christian Zander
2003-01-26 23:16                       ` David Woodhouse
2003-01-27  0:24                         ` Christian Zander
2003-01-27 16:25                         ` Kai Germaschewski
2003-01-27 16:29                           ` David Woodhouse
2003-01-27 16:39                             ` Kai Germaschewski
2003-01-27  6:17                 ` Petr Vandrovec
2003-01-27  9:02                   ` David Woodhouse
2003-01-27  9:24                     ` Petr Vandrovec
2003-01-27 17:59                 ` Joel Becker
2003-01-27 18:31                   ` Kai Germaschewski
2003-01-27 22:15                     ` Joel Becker [this message]
2003-01-27 23:08                       ` Kai Germaschewski
2003-01-27 23:37                         ` Joel Becker
2003-01-28 15:43                       ` David Woodhouse
2003-01-28 17:03                         ` Joel Becker
2003-01-26 22:23               ` Christian Zander
2003-01-26 17:43         ` Kai Germaschewski
2003-01-26 22:08           ` Christian Zander
2003-01-26 21:29             ` Sam Ravnborg
2003-01-26 23:03               ` Christian Zander
2003-01-26 21:40             ` David Woodhouse
2003-01-26 23:28               ` Christian Zander
2003-01-26 22:46                 ` David Woodhouse
2003-01-26 23:56                   ` Christian Zander
2003-01-26 23:04                     ` David Woodhouse
2003-01-28  1:58         ` Rusty Russell
2003-01-28 19:10           ` Mark Fasheh
2003-01-28 19:17             ` Kai Germaschewski
2003-01-27 18:52 ` Jerry Cooperstein
2003-01-27 19:12   ` Sam Ravnborg
2003-01-27 19:35     ` Jerry Cooperstein
2003-01-27 19:54   ` Gerd Knorr

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20030127221523.GP20972@ca-server1.us.oracle.com \
    --to=joel.becker@oracle.com \
    --cc=kai@tp1.ruhr-uni-bochum.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mark.fasheh@oracle.com \
    --cc=rddunlap@osdl.org \
    --cc=rusty@rustcorp.com.au \
    --cc=sam@ravnborg.org \
    --cc=schlicht@uni-mannheim.de \
    --cc=zander@minion.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox