On Wed, Feb 19, 2003 at 11:58:16AM +0200, Eli Billauer wrote:

> original configuration, and noone was really sure. I don't think that 
> there is someone here who can tell me exactly what files are tampered 
> with during all the makes (could syscalltrack be handy here? ;). All 
> this makes kernel compilation a mysterious adventure, with no promised 
> way back home. If there was as little as a list of directories to back 
> up before starting, it would all look different.

Eli, 

It's not voodoo. It's not a mystery. It's code, plain and simple,
there for the reading. Please read the Makefile and write a
comprehensive list of files which are changed. I'm sure
kernelnewbies.org will be happy to put it on line. 

> Don't take me wrong: I think that the possibility to compile the kernel 
> is one of the beauties of Linux, and writing in kernel space is 
> something I know I'll do sooner or later. The problem is that it's such 
> an unfriendly field, and for no real reason.

Did you read the books? did you read the source? where else did you
expect the knowledge to come from?

> >c. Run 'make oldconfig; make dep'. This step prepares the intermediary
> >kernel configuration and build files that are needed for the build
> >process. Amongst other things, it handles module version. 
> 
> Thanks. "make oldconfig" was the secret. And a secret it is. Just for 
> the fun of it, does anyone know exactly what it does? What "old 
> configuration" are we talking about? And "make dep" afterward fixed
> it all.

It takes .config, all of the configuration symbols in this kernel, and
only asks you about new or changed configuration options. It's used
when you already built a kernel, and then a new version is
released. You copy the same .config over and run 'make oldconfig', and
instead of dealing with hundreds of configuration options, you only
deal with the delta. 

As a side effect, it also creates some files that tell the build
system that it has been configured, and (I think) creates the
include/asm-$(ARCH) -> include/asm symlink. 

> And you were right about the /boot directory. There are config-files for 
> each binary to boot, so it seems like the way to just recompile a 
> certain prebuilt binary is to copy one of these into 
> /usr/src/linux-x.x.xx/.config . This might be the answer to my original 
> question: How do I turn things back to where they were? But I haven't 
> really tried this, though. I might soon.

You save your .config and run 'make mrproper', which is like 'make
distclean' in user space. NOTE that 'make mrproper' WILL remove all
files which match the pattern "*config*" or a variation on it. That's
why you save your .config before beginning. 

> BTW, I didn't compile the kernel in the end. There was no reason to.

Sounds to me like you should do it for the same reason people jump out
of airplanes - to see that you can. 

> >Start with the top level
> >Makefile and Rules.make, and follow what happens when you run 'make
> >oldconfig; make dep'. 
> >
> Yeah, right. I wanted to install a linmodem driver, not explore the 
> mysteries of makefile, sed and bash, and virtually every possible system 
> file.

You want knowledge. I told you where it is found. 

> I have only one explanation for all this: Kernel hackers enjoy the 
> exclusiveness of their status. It's Open Source, but closed society. You 
> want to join it, fine, but you'll have to go through some acceptance 
> tests before you can do anything.

No. You'll have to invest effort and show that you know what you are
doing. Otherwise, just pay someone to do it for you. 
-- 
Muli Ben-Yehuda
http://www.mulix.org
http://syscalltrack.sf.net


--------------------------------------------------------------------------
Haifa Linux Club Mailing List (http://www.haifux.org)
To unsub send an empty message to [EMAIL PROTECTED]


Reply via email to